AbstractBoundaryConditionsContainer< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM > Class Template Reference

#include <AbstractBoundaryConditionsContainer.hpp>

Inherited by BoundaryConditionsContainer< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >, BoundaryConditionsContainer< ELEMENT_DIM, SPACE_DIM, 1 >, BoundaryConditionsContainer< ELEMENT_DIM, SPACE_DIM, 2 >, and BoundaryConditionsContainer< ELEMENT_DIM, SPACE_DIM, 3 >.

Collaboration diagram for AbstractBoundaryConditionsContainer< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >:
Collaboration graph
[legend]

List of all members.

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

DirichletMapTypempDirichletMap [PROBLEM_DIM]
DirichletIteratorType mDirichIterator
bool mHasDirichletBCs
bool mCheckedAndCommunicatedIfDirichletBcs
bool mDeleteConditions

Detailed Description

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM, unsigned PROBLEM_DIM>
class AbstractBoundaryConditionsContainer< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >

Abstract boundary conditions container.

Definition at line 64 of file AbstractBoundaryConditionsContainer.hpp.


Member Typedef Documentation

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM, unsigned PROBLEM_DIM>
typedef std::map< const Node<SPACE_DIM> *, const AbstractBoundaryCondition<SPACE_DIM>*, LessThanNode<SPACE_DIM> >::const_iterator AbstractBoundaryConditionsContainer< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::DirichletIteratorType [protected]

To save typing

Definition at line 75 of file AbstractBoundaryConditionsContainer.hpp.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM, unsigned PROBLEM_DIM>
typedef std::map< const Node<SPACE_DIM> *, const AbstractBoundaryCondition<SPACE_DIM>*, LessThanNode<SPACE_DIM> > AbstractBoundaryConditionsContainer< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::DirichletMapType [protected]

To save typing

Definition at line 70 of file AbstractBoundaryConditionsContainer.hpp.


Constructor & Destructor Documentation

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM, unsigned PROBLEM_DIM>
AbstractBoundaryConditionsContainer< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::AbstractBoundaryConditionsContainer ( bool  deleteConditions = true  )  [inline]

Constructor allocates memory for the Dirichlet boundary conditions lists.

Parameters:
deleteConditions whether to delete BCs in destructor (defaults to true)

Definition at line 36 of file AbstractBoundaryConditionsContainerImplementation.hpp.

References AbstractBoundaryConditionsContainer< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::mpDirichletMap.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM, unsigned PROBLEM_DIM>
AbstractBoundaryConditionsContainer< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::~AbstractBoundaryConditionsContainer (  )  [inline]

Member Function Documentation

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM, unsigned PROBLEM_DIM>
void AbstractBoundaryConditionsContainer< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::DeleteDirichletBoundaryConditions ( std::set< const AbstractBoundaryCondition< SPACE_DIM > * >  alreadyDeletedConditions = std::set<const AbstractBoundaryCondition<SPACE_DIM>*>()  )  [inline, protected]

Delete the list of Dirichlet boundary conditions.

Note:
This should stay as a protected method to avoid it being called with default arguments and causing seg faults (requires careful bookkeeping when calling this method).
Parameters:
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 74 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().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM, unsigned PROBLEM_DIM>
double AbstractBoundaryConditionsContainer< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::GetDirichletBCValue ( const Node< SPACE_DIM > *  pBoundaryNode,
unsigned  indexOfUnknown = 0 
) [inline]

Obtain value of Dirichlet boundary condition at specified node.

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.

Parameters:
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 104 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.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM, unsigned PROBLEM_DIM>
bool AbstractBoundaryConditionsContainer< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::HasDirichletBoundaryCondition ( const Node< SPACE_DIM > *  pNode,
unsigned  indexOfUnknown = 0 
) [inline]

Test if there is a Dirichlet boundary condition defined on the given node.

Parameters:
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 116 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().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM, unsigned PROBLEM_DIM>
bool AbstractBoundaryConditionsContainer< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::HasDirichletBoundaryConditions (  )  [inline]
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM, unsigned PROBLEM_DIM>
void AbstractBoundaryConditionsContainer< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::ResetDirichletCommunication (  )  [inline]

Member Data Documentation

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM, unsigned PROBLEM_DIM>
bool AbstractBoundaryConditionsContainer< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::mCheckedAndCommunicatedIfDirichletBcs [protected]
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM, unsigned PROBLEM_DIM>
bool AbstractBoundaryConditionsContainer< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::mDeleteConditions [protected]
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM, unsigned PROBLEM_DIM>
DirichletIteratorType AbstractBoundaryConditionsContainer< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::mDirichIterator [protected]
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM, unsigned PROBLEM_DIM>
bool AbstractBoundaryConditionsContainer< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::mHasDirichletBCs [protected]
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM, unsigned PROBLEM_DIM>
DirichletMapType* AbstractBoundaryConditionsContainer< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::mpDirichletMap[PROBLEM_DIM] [protected]

The documentation for this class was generated from the following files:
Generated on Thu Dec 22 13:00:37 2011 for Chaste by  doxygen 1.6.3