Chaste  Release::2024.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

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

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

Member Function Documentation

◆ GetUseJiggledNodesOnPlane()

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

◆ 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
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, and AbstractCellPopulationBoundaryCondition< ELEMENT_DIM, SPACE_DIM >::mpCellPopulation.

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

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

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

◆ rGetNormalToPlane()

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

◆ rGetPointOnPlane()

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

◆ serialize()

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

References PlaneBoundaryCondition< ELEMENT_DIM, SPACE_DIM >::mUseJiggledNodesOnPlane.

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

◆ VerifyBoundaryCondition()

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
bool PlaneBoundaryCondition< ELEMENT_DIM, SPACE_DIM >::VerifyBoundaryCondition ( )
virtual

Friends And Related Function 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 73 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

◆ mPointOnPlane

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

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

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


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