#include <PlaneBoundaryCondition.hpp>
Inherits AbstractCellPopulationBoundaryCondition< DIM >.
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 | SetUseJiggledNodesOnPlane (bool useJiggledNodesOnPlane) |
bool | GetUseJiggledNodesOnPlane () |
void | ImposeBoundaryCondition (const std::map< Node< DIM > *, 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 |
bool | mUseJiggledNodesOnPlane |
Friends | |
class | boost::serialization::access |
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.
PlaneBoundaryCondition< DIM >::PlaneBoundaryCondition | ( | AbstractCellPopulation< DIM > * | pCellPopulation, | |
c_vector< double, DIM > | point, | |||
c_vector< double, DIM > | normal | |||
) | [inline] |
Constructor.
pCellPopulation | pointer to the cell population | |
point | a point on the boundary plane | |
normal | the outward-facing unit normal vector to the boundary plane |
Definition at line 42 of file PlaneBoundaryCondition.cpp.
References PlaneBoundaryCondition< DIM >::mNormalToPlane.
bool PlaneBoundaryCondition< DIM >::GetUseJiggledNodesOnPlane | ( | ) | [inline] |
Definition at line 73 of file PlaneBoundaryCondition.cpp.
References PlaneBoundaryCondition< DIM >::mUseJiggledNodesOnPlane.
void PlaneBoundaryCondition< DIM >::ImposeBoundaryCondition | ( | const std::map< Node< DIM > *, c_vector< double, DIM > > & | rOldLocations | ) | [inline] |
Overridden ImposeBoundaryCondition() method.
Apply the cell population boundary conditions.
rOldLocations | the node locations before any boundary conditions are applied |
Definition at line 79 of file PlaneBoundaryCondition.cpp.
References AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::Begin(), AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::End(), EXCEPTION, AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetLocationIndexUsingCell(), VertexBasedCellPopulation< DIM >::GetNode(), AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetNode(), VertexBasedCellPopulation< DIM >::GetNumNodes(), RandomNumberGenerator::Instance(), PlaneBoundaryCondition< DIM >::mNormalToPlane, AbstractCellPopulationBoundaryCondition< DIM >::mpCellPopulation, PlaneBoundaryCondition< DIM >::mPointOnPlane, PlaneBoundaryCondition< DIM >::mUseJiggledNodesOnPlane, NEVER_REACHED, RandomNumberGenerator::ranf(), Node< SPACE_DIM >::rGetLocation(), and Node< SPACE_DIM >::rGetModifiableLocation().
void PlaneBoundaryCondition< DIM >::OutputCellPopulationBoundaryConditionParameters | ( | out_stream & | rParamsFile | ) | [inline, virtual] |
Overridden OutputCellPopulationBoundaryConditionParameters() method. Output cell population boundary condition parameters to file.
rParamsFile | the file stream to which the parameters are output |
Implements AbstractCellPopulationBoundaryCondition< DIM >.
Definition at line 191 of file PlaneBoundaryCondition.cpp.
References PlaneBoundaryCondition< DIM >::mNormalToPlane, PlaneBoundaryCondition< DIM >::mPointOnPlane, and PlaneBoundaryCondition< DIM >::mUseJiggledNodesOnPlane.
const c_vector< double, DIM > & PlaneBoundaryCondition< DIM >::rGetNormalToPlane | ( | ) | const [inline] |
Definition at line 60 of file PlaneBoundaryCondition.cpp.
References PlaneBoundaryCondition< DIM >::mNormalToPlane.
const c_vector< double, DIM > & PlaneBoundaryCondition< DIM >::rGetPointOnPlane | ( | ) | const [inline] |
Definition at line 54 of file PlaneBoundaryCondition.cpp.
References PlaneBoundaryCondition< DIM >::mPointOnPlane.
void PlaneBoundaryCondition< DIM >::serialize | ( | Archive & | archive, | |
const unsigned int | version | |||
) | [inline, private] |
Serialize the object and its member variables.
archive | the archive | |
version | the current version of this class |
Reimplemented from AbstractCellPopulationBoundaryCondition< DIM >.
Definition at line 81 of file PlaneBoundaryCondition.hpp.
References PlaneBoundaryCondition< DIM >::mUseJiggledNodesOnPlane.
void PlaneBoundaryCondition< DIM >::SetUseJiggledNodesOnPlane | ( | bool | useJiggledNodesOnPlane | ) | [inline] |
Set method for mUseJiggledNodesOnPlane
useJiggledNodesOnPlane | whether to jiggle the nodes on the surface of the plane, can help stop overcrowding on plane. |
Definition at line 67 of file PlaneBoundaryCondition.cpp.
References PlaneBoundaryCondition< DIM >::mUseJiggledNodesOnPlane.
bool PlaneBoundaryCondition< DIM >::VerifyBoundaryCondition | ( | ) | [inline, virtual] |
Overridden VerifyBoundaryCondition() method. Verify the boundary conditions have been applied. This is called after ImposeBoundaryCondition() to ensure the condition is still satisfied.
Implements AbstractCellPopulationBoundaryCondition< DIM >.
Definition at line 163 of file PlaneBoundaryCondition.cpp.
References AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::Begin(), AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::End(), EXCEPTION, AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetLocationOfCellCentre(), PlaneBoundaryCondition< DIM >::mNormalToPlane, AbstractCellPopulationBoundaryCondition< DIM >::mpCellPopulation, and PlaneBoundaryCondition< DIM >::mPointOnPlane.
friend class boost::serialization::access [friend] |
Needed for serialization.
Reimplemented from AbstractCellPopulationBoundaryCondition< DIM >.
Definition at line 73 of file PlaneBoundaryCondition.hpp.
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 >::ImposeBoundaryCondition(), PlaneBoundaryCondition< DIM >::OutputCellPopulationBoundaryConditionParameters(), PlaneBoundaryCondition< DIM >::PlaneBoundaryCondition(), PlaneBoundaryCondition< DIM >::rGetNormalToPlane(), and PlaneBoundaryCondition< DIM >::VerifyBoundaryCondition().
c_vector<double, DIM> PlaneBoundaryCondition< DIM >::mPointOnPlane [private] |
A point on the boundary plane.
Definition at line 59 of file PlaneBoundaryCondition.hpp.
Referenced by PlaneBoundaryCondition< DIM >::ImposeBoundaryCondition(), PlaneBoundaryCondition< DIM >::OutputCellPopulationBoundaryConditionParameters(), PlaneBoundaryCondition< DIM >::rGetPointOnPlane(), and PlaneBoundaryCondition< DIM >::VerifyBoundaryCondition().
bool PlaneBoundaryCondition< 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< DIM >::GetUseJiggledNodesOnPlane(), PlaneBoundaryCondition< DIM >::ImposeBoundaryCondition(), PlaneBoundaryCondition< DIM >::OutputCellPopulationBoundaryConditionParameters(), PlaneBoundaryCondition< DIM >::serialize(), and PlaneBoundaryCondition< DIM >::SetUseJiggledNodesOnPlane().