Chaste
Release::2017.1
|
#include <AbstractBoundaryConditionsContainer.hpp>
Public Member Functions | |
AbstractBoundaryConditionsContainer (bool deleteConditions=true) | |
~AbstractBoundaryConditionsContainer () | |
bool | HasDirichletBoundaryConditions () |
double | GetDirichletBCValue (const Node< SPACE_DIM > *pBoundaryNode, unsigned indexOfUnknown=0) |
bool | HasDirichletBoundaryCondition (const Node< SPACE_DIM > *pNode, unsigned indexOfUnknown=0) |
void | ResetDirichletCommunication () |
Protected Types | |
typedef std::map< const Node< SPACE_DIM > *, const AbstractBoundaryCondition< SPACE_DIM > *, LessThanNode< SPACE_DIM > > | DirichletMapType |
typedef std::map< const Node< SPACE_DIM > *, const AbstractBoundaryCondition< SPACE_DIM > *, LessThanNode< SPACE_DIM > >::const_iterator | DirichletIteratorType |
Protected Member Functions | |
void | DeleteDirichletBoundaryConditions (std::set< const AbstractBoundaryCondition< SPACE_DIM > * > alreadyDeletedConditions=std::set< const AbstractBoundaryCondition< SPACE_DIM > * >()) |
Protected Attributes | |
DirichletMapType * | mpDirichletMap [PROBLEM_DIM] |
DirichletIteratorType | mDirichIterator |
bool | mHasDirichletBCs |
bool | mCheckedAndCommunicatedIfDirichletBcs |
bool | mDeleteConditions |
Abstract boundary conditions container.
Definition at line 72 of file AbstractBoundaryConditionsContainer.hpp.
|
protected |
To save typing
Definition at line 83 of file AbstractBoundaryConditionsContainer.hpp.
|
protected |
To save typing
Definition at line 78 of file AbstractBoundaryConditionsContainer.hpp.
AbstractBoundaryConditionsContainer< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::AbstractBoundaryConditionsContainer | ( | bool | deleteConditions = true | ) |
Constructor allocates memory for the Dirichlet boundary conditions lists.
deleteConditions | whether to delete BCs in destructor (defaults to true) |
Definition at line 43 of file AbstractBoundaryConditionsContainerImplementation.hpp.
References AbstractBoundaryConditionsContainer< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::mpDirichletMap.
AbstractBoundaryConditionsContainer< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::~AbstractBoundaryConditionsContainer | ( | ) |
Destructor.
Definition at line 55 of file AbstractBoundaryConditionsContainerImplementation.hpp.
|
protected |
Delete the list of Dirichlet boundary conditions.
alreadyDeletedConditions | This is a set of BCs that have already been deleted that we should avoid trying to delete inside this method. (defaults to empty = delete everything) |
Definition at line 81 of file AbstractBoundaryConditionsContainerImplementation.hpp.
References AbstractBoundaryConditionsContainer< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::mDeleteConditions, AbstractBoundaryConditionsContainer< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::mDirichIterator, AbstractBoundaryConditionsContainer< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::mpDirichletMap, and AbstractBoundaryConditionsContainer< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::ResetDirichletCommunication().
Referenced by AbstractBoundaryConditionsContainer< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::~AbstractBoundaryConditionsContainer(), and BoundaryConditionsContainer< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::~BoundaryConditionsContainer().
double AbstractBoundaryConditionsContainer< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::GetDirichletBCValue | ( | const Node< SPACE_DIM > * | pBoundaryNode, |
unsigned | indexOfUnknown = 0 |
||
) |
This is unlikely to be needed by the user, the methods ApplyDirichletToLinearProblem or ApplyDirichletToNonlinearProblem can be called instead to apply all Dirichlet boundary conditions at the same time.
pBoundaryNode | pointer to a boundary node |
indexOfUnknown | index of the unknown for which to obtain the value of the boundary condition (defaults to 0) |
Definition at line 111 of file AbstractBoundaryConditionsContainerImplementation.hpp.
References Node< SPACE_DIM >::GetPoint(), AbstractBoundaryConditionsContainer< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::mDirichIterator, and AbstractBoundaryConditionsContainer< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::mpDirichletMap.
bool AbstractBoundaryConditionsContainer< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::HasDirichletBoundaryCondition | ( | const Node< SPACE_DIM > * | pNode, |
unsigned | indexOfUnknown = 0 |
||
) |
pNode | pointer to a node |
indexOfUnknown | index of the unknown for which to obtain the value of the boundary condition (defaults to 0) |
Definition at line 123 of file AbstractBoundaryConditionsContainerImplementation.hpp.
References AbstractBoundaryConditionsContainer< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::mDirichIterator, and AbstractBoundaryConditionsContainer< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::mpDirichletMap.
Referenced by BoundaryConditionsContainer< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::Validate().
bool AbstractBoundaryConditionsContainer< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::HasDirichletBoundaryConditions | ( | ) |
Definition at line 61 of file AbstractBoundaryConditionsContainerImplementation.hpp.
References AbstractBoundaryConditionsContainer< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::mCheckedAndCommunicatedIfDirichletBcs, AbstractBoundaryConditionsContainer< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::mHasDirichletBCs, AbstractBoundaryConditionsContainer< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::mpDirichletMap, and PetscTools::ReplicateBool().
Referenced by BoundaryConditionsContainer< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::ApplyDirichletToLinearProblem().
|
inline |
When Dirichlet boundary conditions are likely to be added on one or more processes then we should call this method collectively in order to ensure that all processes do a collective communication on the next call to HasDirichletBoundaryConditions()
Definition at line 153 of file AbstractBoundaryConditionsContainer.hpp.
Referenced by AbstractBoundaryConditionsContainer< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::DeleteDirichletBoundaryConditions(), AbstractExtendedBidomainSolver< ELEMENT_DIM, SPACE_DIM >::SetFixedExtracellularPotentialNodes(), and AbstractBidomainSolver< ELEMENT_DIM, SPACE_DIM >::SetFixedExtracellularPotentialNodes().
|
protected |
Definition at line 90 of file AbstractBoundaryConditionsContainer.hpp.
Referenced by AbstractBoundaryConditionsContainer< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::HasDirichletBoundaryConditions(), and BoundaryConditionsContainer< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::MergeFromArchive().
|
protected |
Definition at line 93 of file AbstractBoundaryConditionsContainer.hpp.
Referenced by AbstractBoundaryConditionsContainer< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::DeleteDirichletBoundaryConditions(), and BoundaryConditionsContainer< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::~BoundaryConditionsContainer().
|
protected |
Internal iterator over Dirichlet boundary conditions
Definition at line 84 of file AbstractBoundaryConditionsContainer.hpp.
Referenced by BoundaryConditionsContainer< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::ApplyDirichletToLinearProblem(), BoundaryConditionsContainer< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::ApplyDirichletToNonlinearJacobian(), BoundaryConditionsContainer< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::ApplyDirichletToNonlinearResidual(), AbstractBoundaryConditionsContainer< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::DeleteDirichletBoundaryConditions(), AbstractBoundaryConditionsContainer< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::GetDirichletBCValue(), and AbstractBoundaryConditionsContainer< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::HasDirichletBoundaryCondition().
|
protected |
Definition at line 87 of file AbstractBoundaryConditionsContainer.hpp.
Referenced by AbstractBoundaryConditionsContainer< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::HasDirichletBoundaryConditions(), and BoundaryConditionsContainer< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::MergeFromArchive().
|
protected |
List (map) of Dirichlet boundary conditions
Definition at line 79 of file AbstractBoundaryConditionsContainer.hpp.
Referenced by AbstractBoundaryConditionsContainer< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::AbstractBoundaryConditionsContainer(), BoundaryConditionsContainer< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::AddDirichletBoundaryCondition(), BoundaryConditionsContainer< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::ApplyDirichletToLinearProblem(), BoundaryConditionsContainer< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::ApplyDirichletToNonlinearJacobian(), BoundaryConditionsContainer< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::ApplyDirichletToNonlinearResidual(), AbstractBoundaryConditionsContainer< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::DeleteDirichletBoundaryConditions(), AbstractBoundaryConditionsContainer< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::GetDirichletBCValue(), AbstractBoundaryConditionsContainer< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::HasDirichletBoundaryCondition(), AbstractBoundaryConditionsContainer< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::HasDirichletBoundaryConditions(), and BoundaryConditionsContainer< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::save().