CEPS  24.01
Cardiac ElectroPhysiology Simulator
BoundaryConditionManager Class Referencefinal

Detailed Description

Boundary condition to manage Dirichlet, Neumann and Robin conditions.

By definition, boundary conditions have a small support compared to the whole domain, their support will be computed by default.

Definition at line 42 of file BoundaryConditionManager.hpp.

#include <BoundaryConditionManager.hpp>

Inheritance diagram for BoundaryConditionManager:
[legend]

Public Types

using Manager = CepsMap< CepsString, ScalarBoundaryCondition * >
 Alias for manager inside. More...
 
using Func = ScalarSAFunc
 Typedef for functions used to define the BC, only scalar for now. More...
 

Public Member Functions

 BoundaryConditionManager (FunctionDictionary *dico)
 Construct a new Boundary Condition Manager object dimension. More...
 
 BoundaryConditionManager (const BoundaryConditionManager &that)=delete
 No copy constructor. More...
 
BoundaryConditionManageroperator= (const BoundaryConditionManager &that)=delete
 No assignment operator. More...
 
 ~BoundaryConditionManager () final
 Destroy the Boundary Condition Manager object : default destructor. More...
 
void setDofsInfos (DistributedInfos< DegreeOfFreedom * > *dof)
 Set dofs infos in this class. More...
 
void add (const CepsString &params)
 Add a boundary condition term from parameters. More...
 
void add (const CepsString &key, const CepsString &params)
 
void add (const CepsString &key, const CepsBoundaryConditionFlag &type, const CepsString &params)
 Add a boundary condition term from key and parameters. More...
 
void add (const CepsString &key, const CepsBoundaryConditionFlag &type, const CepsString &params, ScalarSAFunc *functor)
 Add a boundary condition term with the key, parameters and the functor. More...
 
void add (const CepsString &key, ScalarBoundaryCondition *boundaryCondition)
 Add an already configured boundary condition term. More...
 
ScalarBoundaryConditiongetBC (CepsString key, const CepsBoundaryConditionFlag &type) const
 Get the boundary condition with name 'key' of type 'type' on dimension 'dim'. More...
 
ManagergetBCs (const CepsBoundaryConditionFlag &type) const
 Get th correct manager for bc. More...
 
ManagergetDirichletBCs () const
 Get the manager for Dirichlet conditions. More...
 
ManagergetNeumannBCs () const
 Get the manager for Neumann conditions of dim. More...
 
ManagergetRobinBCs () const
 Get the manager for Robin conditions of dim. More...
 
virtual void reset ()
 Reset the boundary conditions manager. More...
 
void actualizeAll (CepsReal time)
 Actualize all bc. More...
 
void actualizeAllDirichlet (CepsReal time)
 Actualize only Dirichlet conditions. More...
 
void actualizeAllNeumann (CepsReal time)
 Actualize only Neumann conditions. More...
 
void actualizeAllRobin (CepsReal time)
 Actualize only Robin conditions. More...
 
- Public Member Functions inherited from CepsObject
 CepsObject ()=default
 default constructor More...
 
 CepsObject (const CepsObject &)=default
 Copy constructor. More...
 
virtual ~CepsObject ()=default
 Destructor. More...
 
CepsObjectoperator= (const CepsObject &)=default
 Assignment operator. More...
 
CepsObjecttoBaseObject ()
 Returns a pointer to CepsObject class. More...
 
const CepsObjecttoBaseObject () const
 Returns a pointer to CepsObject class, const version. More...
 
ProfilergetProfiler () const
 Access to profiler. More...
 
- Public Member Functions inherited from ceps::HoldsDimension
 HoldsDimension (const CepsUInt &dim)
 Constructor with dimension. More...
 
 HoldsDimension ()=default
 Default constructor. More...
 
 HoldsDimension (const HoldsDimension &)=default
 Constructor by copy. More...
 
 HoldsDimension (HoldsDimension &&) noexcept=default
 Constructor by copy. More...
 
virtual ~HoldsDimension ()=default
 Destructor. More...
 
HoldsDimensionoperator= (const HoldsDimension &)=default
 Assignment operator. More...
 
HoldsDimensionoperator= (HoldsDimension &&) noexcept=default
 Assignment operator. More...
 
const CepsUIntgetDimension () const
 Get the dimension of the object. More...
 
void setDimension (const CepsUInt &dim)
 Set the dimension of the object. More...
 
void reset ()
 Set the dimension of the object to 0. More...
 

Protected Attributes

DistributedInfos< DegreeOfFreedom * > * m_dofs
 dofs More...
 
Managerm_dirichlet
 managers for dirichlet More...
 
Managerm_neumann
 managers for neumann More...
 
Managerm_robin
 managers for robin More...
 
CepsSet< DegreeOfFreedom * > m_rowsAlreadyUsed
 rows that have a BC More...
 
FunctionDictionarym_dictionary
 link to the dictionary More...
 

Friends

std::ostream & operator<< (std::ostream &os, const BoundaryConditionManager &manager)
 Print this object to see data. More...
 

Additional Inherited Members

- Static Protected Attributes inherited from CepsObject
static Profiler m_profiler
 The same profiler for each big object. More...
 

Member Typedef Documentation

◆ Func

Typedef for functions used to define the BC, only scalar for now.

Definition at line 48 of file BoundaryConditionManager.hpp.

◆ Manager

Alias for manager inside.

Definition at line 46 of file BoundaryConditionManager.hpp.

Constructor & Destructor Documentation

◆ BoundaryConditionManager() [1/2]

BoundaryConditionManager::BoundaryConditionManager ( FunctionDictionary dico)
explicit

Construct a new Boundary Condition Manager object dimension.

Parameters
dicothe dictionary

Definition at line 36 of file BoundaryConditionManager.cpp.

◆ BoundaryConditionManager() [2/2]

BoundaryConditionManager::BoundaryConditionManager ( const BoundaryConditionManager that)
delete

No copy constructor.

◆ ~BoundaryConditionManager()

BoundaryConditionManager::~BoundaryConditionManager ( )
final

Destroy the Boundary Condition Manager object : default destructor.

Definition at line 48 of file BoundaryConditionManager.cpp.

Member Function Documentation

◆ actualizeAll()

void BoundaryConditionManager::actualizeAll ( CepsReal  time)

Actualize all bc.

Definition at line 396 of file BoundaryConditionManager.cpp.

◆ actualizeAllDirichlet()

void BoundaryConditionManager::actualizeAllDirichlet ( CepsReal  time)

Actualize only Dirichlet conditions.

Definition at line 406 of file BoundaryConditionManager.cpp.

◆ actualizeAllNeumann()

void BoundaryConditionManager::actualizeAllNeumann ( CepsReal  time)

Actualize only Neumann conditions.

Definition at line 414 of file BoundaryConditionManager.cpp.

◆ actualizeAllRobin()

void BoundaryConditionManager::actualizeAllRobin ( CepsReal  time)

Actualize only Robin conditions.

Definition at line 423 of file BoundaryConditionManager.cpp.

◆ add() [1/5]

void BoundaryConditionManager::add ( const CepsString key,
const CepsBoundaryConditionFlag type,
const CepsString params 
)

Add a boundary condition term from key and parameters.

Parameters
keythe key of the object
typethe type of boundary condition
paramsthe parameters

Definition at line 104 of file BoundaryConditionManager.cpp.

◆ add() [2/5]

void BoundaryConditionManager::add ( const CepsString key,
const CepsBoundaryConditionFlag type,
const CepsString params,
ScalarSAFunc functor 
)

Add a boundary condition term with the key, parameters and the functor.

Parameters
keythe key of the object
typethe type of boundary condition
paramsthe parameters of the boundary condition term
functorthe functor associated to the source term

Definition at line 135 of file BoundaryConditionManager.cpp.

◆ add() [3/5]

void BoundaryConditionManager::add ( const CepsString key,
const CepsString params 
)
Parameters
key
params

Definition at line 76 of file BoundaryConditionManager.cpp.

◆ add() [4/5]

void BoundaryConditionManager::add ( const CepsString key,
ScalarBoundaryCondition boundaryCondition 
)

Add an already configured boundary condition term.

Parameters
keythe key of the object
boundaryConditionthe object itself

Definition at line 312 of file BoundaryConditionManager.cpp.

◆ add() [5/5]

void BoundaryConditionManager::add ( const CepsString params)

Add a boundary condition term from parameters.

Parameters
paramsthe parameters need to begin with a key

Definition at line 61 of file BoundaryConditionManager.cpp.

◆ getBC()

ScalarBoundaryCondition * BoundaryConditionManager::getBC ( CepsString  key,
const CepsBoundaryConditionFlag type 
) const

Get the boundary condition with name 'key' of type 'type' on dimension 'dim'.

Parameters
keythe name of the boundary condition
typethe type of the boundary condition
Returns
BoundaryCondition*

Definition at line 347 of file BoundaryConditionManager.cpp.

◆ getBCs()

BoundaryConditionManager::Manager * BoundaryConditionManager::getBCs ( const CepsBoundaryConditionFlag type) const

Get th correct manager for bc.

Parameters
typethe type of boundary condition
Returns
Manager*

Definition at line 356 of file BoundaryConditionManager.cpp.

◆ getDirichletBCs()

BoundaryConditionManager::Manager * BoundaryConditionManager::getDirichletBCs ( ) const

Get the manager for Dirichlet conditions.

Definition at line 366 of file BoundaryConditionManager.cpp.

◆ getNeumannBCs()

BoundaryConditionManager::Manager * BoundaryConditionManager::getNeumannBCs ( ) const

Get the manager for Neumann conditions of dim.

Definition at line 372 of file BoundaryConditionManager.cpp.

◆ getRobinBCs()

BoundaryConditionManager::Manager * BoundaryConditionManager::getRobinBCs ( ) const

Get the manager for Robin conditions of dim.

Definition at line 378 of file BoundaryConditionManager.cpp.

◆ operator=()

BoundaryConditionManager& BoundaryConditionManager::operator= ( const BoundaryConditionManager that)
delete

No assignment operator.

◆ reset()

void BoundaryConditionManager::reset ( )
virtual

Reset the boundary conditions manager.

Definition at line 384 of file BoundaryConditionManager.cpp.

◆ setDofsInfos()

void BoundaryConditionManager::setDofsInfos ( DistributedInfos< DegreeOfFreedom * > *  dof)

Set dofs infos in this class.

Definition at line 54 of file BoundaryConditionManager.cpp.

Friends And Related Function Documentation

◆ operator<<

std::ostream& operator<< ( std::ostream &  os,
const BoundaryConditionManager manager 
)
friend

Print this object to see data.

Field Documentation

◆ m_dictionary

FunctionDictionary* BoundaryConditionManager::m_dictionary
protected

link to the dictionary

Definition at line 204 of file BoundaryConditionManager.hpp.

◆ m_dirichlet

Manager* BoundaryConditionManager::m_dirichlet
protected

managers for dirichlet

Definition at line 200 of file BoundaryConditionManager.hpp.

◆ m_dofs

DistributedInfos<DegreeOfFreedom*>* BoundaryConditionManager::m_dofs
protected

dofs

Definition at line 199 of file BoundaryConditionManager.hpp.

◆ m_neumann

Manager* BoundaryConditionManager::m_neumann
protected

managers for neumann

Definition at line 201 of file BoundaryConditionManager.hpp.

◆ m_robin

Manager* BoundaryConditionManager::m_robin
protected

managers for robin

Definition at line 202 of file BoundaryConditionManager.hpp.

◆ m_rowsAlreadyUsed

CepsSet<DegreeOfFreedom*> BoundaryConditionManager::m_rowsAlreadyUsed
protected

rows that have a BC

Definition at line 203 of file BoundaryConditionManager.hpp.


The documentation for this class was generated from the following files: