Chaste Release::3.1
PlaneBoundaryCondition< DIM > Class Template Reference

#include <PlaneBoundaryCondition.hpp>

Inheritance diagram for PlaneBoundaryCondition< DIM >:
Collaboration diagram for PlaneBoundaryCondition< DIM >:

List of all members.

Public Member Functions

 PlaneBoundaryCondition (AbstractCellPopulation< DIM > *pCellPopulation, c_vector< double, DIM > point, c_vector< double, DIM > normal)
const c_vector< double, DIM > & rGetPointOnPlane () const
const c_vector< double, DIM > & rGetNormalToPlane () const
void ImposeBoundaryCondition (const std::vector< c_vector< double, DIM > > &rOldLocations)
bool VerifyBoundaryCondition ()
void OutputCellPopulationBoundaryConditionParameters (out_stream &rParamsFile)

Private Member Functions

template<class Archive >
void serialize (Archive &archive, const unsigned int version)

Private Attributes

c_vector< double, DIM > mPointOnPlane
c_vector< double, DIM > mNormalToPlane

Friends

class boost::serialization::access

Detailed Description

template<unsigned DIM>
class PlaneBoundaryCondition< DIM >

A plane cell population boundary condition class, which stops nodes moving through a specified plane in the domain. Although the name of this class suggests it is specific to 3D, it is actually also implemented for 1D and 2D, for which it is really a 'point' and 'line' boundary condition respectively.

Definition at line 52 of file PlaneBoundaryCondition.hpp.


Constructor & Destructor Documentation

template<unsigned DIM>
PlaneBoundaryCondition< DIM >::PlaneBoundaryCondition ( AbstractCellPopulation< DIM > *  pCellPopulation,
c_vector< double, DIM >  point,
c_vector< double, DIM >  normal 
)

Constructor.

Parameters:
pCellPopulationpointer to the cell population
pointa point on the boundary plane
normalthe outward-facing unit normal vector to the boundary plane

Definition at line 41 of file PlaneBoundaryCondition.cpp.

References PlaneBoundaryCondition< DIM >::mNormalToPlane.


Member Function Documentation

template<unsigned DIM>
void PlaneBoundaryCondition< DIM >::ImposeBoundaryCondition ( const std::vector< c_vector< double, DIM > > &  rOldLocations)

Overridden ImposeBoundaryCondition() method.

Apply the cell population boundary conditions.

Parameters:
rOldLocationsthe node locations before any boundary conditions are applied

Todo:
Move this to constructor. If this is in the constructor then Exception always throws.

Definition at line 64 of file PlaneBoundaryCondition.cpp.

References AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::Begin(), EXCEPTION, VertexBasedCellPopulation< DIM >::GetNode(), VertexBasedCellPopulation< DIM >::GetNumNodes(), NEVER_REACHED, Node< SPACE_DIM >::rGetLocation(), and Node< SPACE_DIM >::rGetModifiableLocation().

template<unsigned DIM>
void PlaneBoundaryCondition< DIM >::OutputCellPopulationBoundaryConditionParameters ( out_stream &  rParamsFile) [virtual]

Overridden OutputCellPopulationBoundaryConditionParameters() method. Output cell population boundary condition parameters to file.

Parameters:
rParamsFilethe file stream to which the parameters are output

Implements AbstractCellPopulationBoundaryCondition< DIM >.

Definition at line 158 of file PlaneBoundaryCondition.cpp.

References AbstractCellPopulationBoundaryCondition< ELEMENT_DIM, SPACE_DIM >::OutputCellPopulationBoundaryConditionParameters().

template<unsigned DIM>
const c_vector< double, DIM > & PlaneBoundaryCondition< DIM >::rGetNormalToPlane ( ) const
Returns:
mNormalToPlane.

Definition at line 58 of file PlaneBoundaryCondition.cpp.

template<unsigned DIM>
const c_vector< double, DIM > & PlaneBoundaryCondition< DIM >::rGetPointOnPlane ( ) const
Returns:
mPointOnPlane.

Definition at line 52 of file PlaneBoundaryCondition.cpp.

template<unsigned DIM>
template<class Archive >
void PlaneBoundaryCondition< DIM >::serialize ( Archive &  archive,
const unsigned int  version 
) [inline, private]

Serialize the object and its member variables.

Parameters:
archivethe archive
versionthe current version of this class

Reimplemented from AbstractCellPopulationBoundaryCondition< DIM >.

Definition at line 75 of file PlaneBoundaryCondition.hpp.

template<unsigned DIM>
bool PlaneBoundaryCondition< DIM >::VerifyBoundaryCondition ( ) [virtual]

Overridden VerifyBoundaryCondition() method. Verify the boundary conditions have been applied. This is called after ImposeBoundaryCondition() to ensure the condition is still satisfied.

Returns:
whether the boundary conditions are satisfied.

Implements AbstractCellPopulationBoundaryCondition< DIM >.

Definition at line 130 of file PlaneBoundaryCondition.cpp.

References AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::Begin(), and EXCEPTION.


Friends And Related Function Documentation

template<unsigned DIM>
friend class boost::serialization::access [friend]

Needed for serialization.

Reimplemented from AbstractCellPopulationBoundaryCondition< DIM >.

Definition at line 67 of file PlaneBoundaryCondition.hpp.


Member Data Documentation

template<unsigned DIM>
c_vector<double, DIM> PlaneBoundaryCondition< DIM >::mNormalToPlane [private]

The outward-facing unit normal vector to the boundary plane.

Definition at line 64 of file PlaneBoundaryCondition.hpp.

Referenced by PlaneBoundaryCondition< DIM >::PlaneBoundaryCondition().

template<unsigned DIM>
c_vector<double, DIM> PlaneBoundaryCondition< DIM >::mPointOnPlane [private]

A point on the boundary plane.

Definition at line 59 of file PlaneBoundaryCondition.hpp.


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