Chaste Commit::a9c8bf7350f67d7cf086e6fe3cf5461521554546
PlaneBoundaryCondition< ELEMENT_DIM, SPACE_DIM > Class Template Reference

#include <PlaneBoundaryCondition.hpp>

+ Inheritance diagram for PlaneBoundaryCondition< ELEMENT_DIM, SPACE_DIM >:
+ Collaboration diagram for PlaneBoundaryCondition< ELEMENT_DIM, SPACE_DIM >:

Public Member Functions

 PlaneBoundaryCondition (AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM > *pCellPopulation, c_vector< double, SPACE_DIM > point, c_vector< double, SPACE_DIM > normal)
 
const c_vector< double, SPACE_DIM > & rGetPointOnPlane () const
 
const c_vector< double, SPACE_DIM > & rGetNormalToPlane () const
 
void SetUseJiggledNodesOnPlane (bool useJiggledNodesOnPlane)
 
bool GetUseJiggledNodesOnPlane ()
 
void ImposeBoundaryCondition (const std::map< Node< SPACE_DIM > *, c_vector< double, SPACE_DIM > > &rOldLocations)
 
bool VerifyBoundaryCondition ()
 
void OutputCellPopulationBoundaryConditionParameters (out_stream &rParamsFile)
 
- Public Member Functions inherited from AbstractCellPopulationBoundaryCondition< ELEMENT_DIM, SPACE_DIM >
 AbstractCellPopulationBoundaryCondition (AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM > *pCellPopulation)
 
virtual ~AbstractCellPopulationBoundaryCondition ()
 
const AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM > * GetCellPopulation () const
 
void OutputCellPopulationBoundaryConditionInfo (out_stream &rParamsFile)
 
- Public Member Functions inherited from Identifiable
virtual ~Identifiable ()
 
std::string GetIdentifier () const
 

Private Member Functions

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

Private Attributes

c_vector< double, SPACE_DIM > mPointOnPlane
 
c_vector< double, SPACE_DIM > mNormalToPlane
 
bool mUseJiggledNodesOnPlane
 

Friends

class boost::serialization::access
 

Additional Inherited Members

- Protected Attributes inherited from AbstractCellPopulationBoundaryCondition< ELEMENT_DIM, SPACE_DIM >
AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM > * mpCellPopulation
 

Detailed Description

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM = ELEMENT_DIM>
class PlaneBoundaryCondition< ELEMENT_DIM, SPACE_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 in 2D, for which it is really a 'line' boundary condition, and in 1D, for which it is a 'point' boundary condition.

Definition at line 53 of file PlaneBoundaryCondition.hpp.

Constructor & Destructor Documentation

◆ PlaneBoundaryCondition()

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
PlaneBoundaryCondition< ELEMENT_DIM, SPACE_DIM >::PlaneBoundaryCondition ( AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM > *  pCellPopulation,
c_vector< double, SPACE_DIM >  point,
c_vector< double, SPACE_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 EXCEPTION, PlaneBoundaryCondition< ELEMENT_DIM, SPACE_DIM >::mNormalToPlane, and AbstractCellPopulationBoundaryCondition< ELEMENT_DIM, SPACE_DIM >::mpCellPopulation.

Member Function Documentation

◆ GetUseJiggledNodesOnPlane()

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
bool PlaneBoundaryCondition< ELEMENT_DIM, SPACE_DIM >::GetUseJiggledNodesOnPlane ( )
Returns
mUseJiggledNodesOnPlane.

Definition at line 83 of file PlaneBoundaryCondition.cpp.

◆ ImposeBoundaryCondition()

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void PlaneBoundaryCondition< ELEMENT_DIM, SPACE_DIM >::ImposeBoundaryCondition ( const std::map< Node< SPACE_DIM > *, c_vector< double, SPACE_DIM > > &  rOldLocations)
virtual

Overridden ImposeBoundaryCondition() method.

Apply the cell population boundary conditions.

Parameters
rOldLocationsthe node locations before any boundary conditions are applied

Implements AbstractCellPopulationBoundaryCondition< ELEMENT_DIM, SPACE_DIM >.

Definition at line 89 of file PlaneBoundaryCondition.cpp.

References RandomNumberGenerator::Instance(), NEVER_REACHED, RandomNumberGenerator::ranf(), Node< SPACE_DIM >::rGetLocation(), and Node< SPACE_DIM >::rGetModifiableLocation().

◆ OutputCellPopulationBoundaryConditionParameters()

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void PlaneBoundaryCondition< ELEMENT_DIM, SPACE_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< ELEMENT_DIM, SPACE_DIM >.

Definition at line 212 of file PlaneBoundaryCondition.cpp.

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

◆ rGetNormalToPlane()

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

Definition at line 64 of file PlaneBoundaryCondition.cpp.

◆ rGetPointOnPlane()

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

Definition at line 58 of file PlaneBoundaryCondition.cpp.

◆ serialize()

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM = ELEMENT_DIM>
template<class Archive >
void PlaneBoundaryCondition< ELEMENT_DIM, SPACE_DIM >::serialize ( Archive &  archive,
const unsigned int  version 
)
inlineprivate

Serialize the object and its member variables.

Parameters
archivethe archive
versionthe current version of this class

Definition at line 82 of file PlaneBoundaryCondition.hpp.

◆ SetUseJiggledNodesOnPlane()

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void PlaneBoundaryCondition< ELEMENT_DIM, SPACE_DIM >::SetUseJiggledNodesOnPlane ( bool  useJiggledNodesOnPlane)

Set method for mUseJiggledNodesOnPlane

Parameters
useJiggledNodesOnPlanewhether to jiggle the nodes on the surface of the plane, can help stop overcrowding on plane.

Definition at line 70 of file PlaneBoundaryCondition.cpp.

References EXCEPTION.

◆ VerifyBoundaryCondition()

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
bool PlaneBoundaryCondition< ELEMENT_DIM, SPACE_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< ELEMENT_DIM, SPACE_DIM >.

Definition at line 191 of file PlaneBoundaryCondition.cpp.

Friends And Related Symbol Documentation

◆ boost::serialization::access

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM = ELEMENT_DIM>
friend class boost::serialization::access
friend

Needed for serialization.

Definition at line 74 of file PlaneBoundaryCondition.hpp.

Member Data Documentation

◆ mNormalToPlane

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM = ELEMENT_DIM>
c_vector<double, SPACE_DIM> PlaneBoundaryCondition< ELEMENT_DIM, SPACE_DIM >::mNormalToPlane
private

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

Definition at line 65 of file PlaneBoundaryCondition.hpp.

Referenced by PlaneBoundaryCondition< ELEMENT_DIM, SPACE_DIM >::PlaneBoundaryCondition().

◆ mPointOnPlane

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM = ELEMENT_DIM>
c_vector<double, SPACE_DIM> PlaneBoundaryCondition< ELEMENT_DIM, SPACE_DIM >::mPointOnPlane
private

A point on the boundary plane.

Definition at line 60 of file PlaneBoundaryCondition.hpp.

◆ mUseJiggledNodesOnPlane

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM = ELEMENT_DIM>
bool PlaneBoundaryCondition< ELEMENT_DIM, SPACE_DIM >::mUseJiggledNodesOnPlane
private

Whether to jiggle the cells on the bottom surface, initialised to false in the constructor.

Definition at line 71 of file PlaneBoundaryCondition.hpp.


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