Chaste  Release::2018.1
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. It's not currently implemented in 1D

Definition at line 52 of file PlaneBoundaryCondition.hpp.

Constructor & Destructor Documentation

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 PlaneBoundaryCondition< ELEMENT_DIM, SPACE_DIM >::mNormalToPlane.

Member Function Documentation

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

Definition at line 72 of file PlaneBoundaryCondition.cpp.

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
Todo:
Move this to constructor. If this is in the constructor then Exception always throws.

Implements AbstractCellPopulationBoundaryCondition< ELEMENT_DIM, SPACE_DIM >.

Definition at line 78 of file PlaneBoundaryCondition.cpp.

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

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 189 of file PlaneBoundaryCondition.cpp.

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

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 59 of file PlaneBoundaryCondition.cpp.

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 53 of file PlaneBoundaryCondition.cpp.

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 81 of file PlaneBoundaryCondition.hpp.

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 66 of file PlaneBoundaryCondition.cpp.

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 161 of file PlaneBoundaryCondition.cpp.

References EXCEPTION.

Friends And Related Function Documentation

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

Needed for serialization.

Definition at line 73 of file PlaneBoundaryCondition.hpp.

Member Data Documentation

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 64 of file PlaneBoundaryCondition.hpp.

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

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 59 of file PlaneBoundaryCondition.hpp.

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 70 of file PlaneBoundaryCondition.hpp.


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