CEPS
24.01
Cardiac ElectroPhysiology Simulator
|
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>
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... | |
BoundaryConditionManager & | operator= (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 ¶ms) |
Add a boundary condition term from parameters. More... | |
void | add (const CepsString &key, const CepsString ¶ms) |
void | add (const CepsString &key, const CepsBoundaryConditionFlag &type, const CepsString ¶ms) |
Add a boundary condition term from key and parameters. More... | |
void | add (const CepsString &key, const CepsBoundaryConditionFlag &type, const CepsString ¶ms, 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... | |
ScalarBoundaryCondition * | getBC (CepsString key, const CepsBoundaryConditionFlag &type) const |
Get the boundary condition with name 'key' of type 'type' on dimension 'dim'. More... | |
Manager * | getBCs (const CepsBoundaryConditionFlag &type) const |
Get th correct manager for bc. More... | |
Manager * | getDirichletBCs () const |
Get the manager for Dirichlet conditions. More... | |
Manager * | getNeumannBCs () const |
Get the manager for Neumann conditions of dim. More... | |
Manager * | getRobinBCs () 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... | |
CepsObject & | operator= (const CepsObject &)=default |
Assignment operator. More... | |
CepsObject * | toBaseObject () |
Returns a pointer to CepsObject class. More... | |
const CepsObject * | toBaseObject () const |
Returns a pointer to CepsObject class, const version. More... | |
Profiler * | getProfiler () 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... | |
HoldsDimension & | operator= (const HoldsDimension &)=default |
Assignment operator. More... | |
HoldsDimension & | operator= (HoldsDimension &&) noexcept=default |
Assignment operator. More... | |
const CepsUInt & | getDimension () 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... | |
Manager * | m_dirichlet |
managers for dirichlet More... | |
Manager * | m_neumann |
managers for neumann More... | |
Manager * | m_robin |
managers for robin More... | |
CepsSet< DegreeOfFreedom * > | m_rowsAlreadyUsed |
rows that have a BC More... | |
FunctionDictionary * | m_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... | |
Typedef for functions used to define the BC, only scalar for now.
Definition at line 48 of file BoundaryConditionManager.hpp.
Alias for manager inside.
Definition at line 46 of file BoundaryConditionManager.hpp.
|
explicit |
Construct a new Boundary Condition Manager object dimension.
dico | the dictionary |
Definition at line 36 of file BoundaryConditionManager.cpp.
|
delete |
No copy constructor.
|
final |
Destroy the Boundary Condition Manager object : default destructor.
Definition at line 48 of file BoundaryConditionManager.cpp.
void BoundaryConditionManager::actualizeAll | ( | CepsReal | time | ) |
Actualize all bc.
Definition at line 396 of file BoundaryConditionManager.cpp.
void BoundaryConditionManager::actualizeAllDirichlet | ( | CepsReal | time | ) |
Actualize only Dirichlet conditions.
Definition at line 406 of file BoundaryConditionManager.cpp.
void BoundaryConditionManager::actualizeAllNeumann | ( | CepsReal | time | ) |
Actualize only Neumann conditions.
Definition at line 414 of file BoundaryConditionManager.cpp.
void BoundaryConditionManager::actualizeAllRobin | ( | CepsReal | time | ) |
Actualize only Robin conditions.
Definition at line 423 of file BoundaryConditionManager.cpp.
void BoundaryConditionManager::add | ( | const CepsString & | key, |
const CepsBoundaryConditionFlag & | type, | ||
const CepsString & | params | ||
) |
Add a boundary condition term from key and parameters.
key | the key of the object |
type | the type of boundary condition |
params | the parameters |
Definition at line 104 of file BoundaryConditionManager.cpp.
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.
key | the key of the object |
type | the type of boundary condition |
params | the parameters of the boundary condition term |
functor | the functor associated to the source term |
Definition at line 135 of file BoundaryConditionManager.cpp.
void BoundaryConditionManager::add | ( | const CepsString & | key, |
const CepsString & | params | ||
) |
key | |
params |
Definition at line 76 of file BoundaryConditionManager.cpp.
void BoundaryConditionManager::add | ( | const CepsString & | key, |
ScalarBoundaryCondition * | boundaryCondition | ||
) |
Add an already configured boundary condition term.
key | the key of the object |
boundaryCondition | the object itself |
Definition at line 312 of file BoundaryConditionManager.cpp.
void BoundaryConditionManager::add | ( | const CepsString & | params | ) |
Add a boundary condition term from parameters.
params | the parameters need to begin with a key |
Definition at line 61 of file BoundaryConditionManager.cpp.
ScalarBoundaryCondition * BoundaryConditionManager::getBC | ( | CepsString | key, |
const CepsBoundaryConditionFlag & | type | ||
) | const |
Get the boundary condition with name 'key' of type 'type' on dimension 'dim'.
key | the name of the boundary condition |
type | the type of the boundary condition |
Definition at line 347 of file BoundaryConditionManager.cpp.
BoundaryConditionManager::Manager * BoundaryConditionManager::getBCs | ( | const CepsBoundaryConditionFlag & | type | ) | const |
Get th correct manager for bc.
type | the type of boundary condition |
Definition at line 356 of file BoundaryConditionManager.cpp.
BoundaryConditionManager::Manager * BoundaryConditionManager::getDirichletBCs | ( | ) | const |
Get the manager for Dirichlet conditions.
Definition at line 366 of file BoundaryConditionManager.cpp.
BoundaryConditionManager::Manager * BoundaryConditionManager::getNeumannBCs | ( | ) | const |
Get the manager for Neumann conditions of dim.
Definition at line 372 of file BoundaryConditionManager.cpp.
BoundaryConditionManager::Manager * BoundaryConditionManager::getRobinBCs | ( | ) | const |
Get the manager for Robin conditions of dim.
Definition at line 378 of file BoundaryConditionManager.cpp.
|
delete |
No assignment operator.
|
virtual |
Reset the boundary conditions manager.
Definition at line 384 of file BoundaryConditionManager.cpp.
void BoundaryConditionManager::setDofsInfos | ( | DistributedInfos< DegreeOfFreedom * > * | dof | ) |
Set dofs infos in this class.
Definition at line 54 of file BoundaryConditionManager.cpp.
|
friend |
Print this object to see data.
|
protected |
link to the dictionary
Definition at line 204 of file BoundaryConditionManager.hpp.
|
protected |
managers for dirichlet
Definition at line 200 of file BoundaryConditionManager.hpp.
|
protected |
dofs
Definition at line 199 of file BoundaryConditionManager.hpp.
|
protected |
managers for neumann
Definition at line 201 of file BoundaryConditionManager.hpp.
|
protected |
managers for robin
Definition at line 202 of file BoundaryConditionManager.hpp.
|
protected |
rows that have a BC
Definition at line 203 of file BoundaryConditionManager.hpp.