36 #ifndef ABSTRACTBOUNDARYCONDITIONSCONTAINERIMPLEMENTATION_HPP_ 37 #define ABSTRACTBOUNDARYCONDITIONSCONTAINERIMPLEMENTATION_HPP_ 39 #include "AbstractBoundaryConditionsContainer.hpp" 42 template<
unsigned ELEMENT_DIM,
unsigned SPACE_DIM,
unsigned PROBLEM_DIM>
44 : mHasDirichletBCs(false),
45 mCheckedAndCommunicatedIfDirichletBcs(false),
46 mDeleteConditions(deleteConditions)
48 for (
unsigned index_of_unknown=0; index_of_unknown<PROBLEM_DIM; index_of_unknown++)
54 template<
unsigned ELEMENT_DIM,
unsigned SPACE_DIM,
unsigned PROBLEM_DIM>
60 template<
unsigned ELEMENT_DIM,
unsigned SPACE_DIM,
unsigned PROBLEM_DIM>
65 bool i_have_dirichlet=
false;
66 for (
unsigned i=0; i<PROBLEM_DIM; i++)
70 i_have_dirichlet=
true;
80 template<
unsigned ELEMENT_DIM,
unsigned SPACE_DIM,
unsigned PROBLEM_DIM>
83 for (
unsigned i=0; i<PROBLEM_DIM; i++)
110 template<
unsigned ELEMENT_DIM,
unsigned SPACE_DIM,
unsigned PROBLEM_DIM>
113 assert(indexOfUnknown < PROBLEM_DIM);
122 template<
unsigned ELEMENT_DIM,
unsigned SPACE_DIM,
unsigned PROBLEM_DIM>
125 assert(indexOfUnknown < PROBLEM_DIM);
DirichletIteratorType mDirichIterator
AbstractBoundaryConditionsContainer(bool deleteConditions=true)
bool HasDirichletBoundaryConditions()
bool HasDirichletBoundaryCondition(const Node< SPACE_DIM > *pNode, unsigned indexOfUnknown=0)
double GetDirichletBCValue(const Node< SPACE_DIM > *pBoundaryNode, unsigned indexOfUnknown=0)
DirichletMapType * mpDirichletMap[PROBLEM_DIM]
~AbstractBoundaryConditionsContainer()
ChastePoint< SPACE_DIM > GetPoint() const
void ResetDirichletCommunication()
bool mCheckedAndCommunicatedIfDirichletBcs
void DeleteDirichletBoundaryConditions(std::set< const AbstractBoundaryCondition< SPACE_DIM > * > alreadyDeletedConditions=std::set< const AbstractBoundaryCondition< SPACE_DIM > * >())