Chaste
Release::2017.1
|
#include <PlaneBoundaryCondition.hpp>
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 |
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.
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.
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 41 of file PlaneBoundaryCondition.cpp.
References PlaneBoundaryCondition< ELEMENT_DIM, SPACE_DIM >::mNormalToPlane.
Referenced by PlaneBoundaryCondition< ELEMENT_DIM, SPACE_DIM >::serialize().
bool PlaneBoundaryCondition< ELEMENT_DIM, SPACE_DIM >::GetUseJiggledNodesOnPlane | ( | ) |
Definition at line 72 of file PlaneBoundaryCondition.cpp.
References PlaneBoundaryCondition< ELEMENT_DIM, SPACE_DIM >::mUseJiggledNodesOnPlane.
Referenced by PlaneBoundaryCondition< ELEMENT_DIM, SPACE_DIM >::serialize().
|
virtual |
Overridden ImposeBoundaryCondition() method.
Apply the cell population boundary conditions.
rOldLocations | the node locations before any boundary conditions are applied |
Implements AbstractCellPopulationBoundaryCondition< ELEMENT_DIM, SPACE_DIM >.
Definition at line 78 of file PlaneBoundaryCondition.cpp.
References EXCEPTION, RandomNumberGenerator::Instance(), PlaneBoundaryCondition< ELEMENT_DIM, SPACE_DIM >::mNormalToPlane, AbstractCellPopulationBoundaryCondition< ELEMENT_DIM, SPACE_DIM >::mpCellPopulation, PlaneBoundaryCondition< ELEMENT_DIM, SPACE_DIM >::mPointOnPlane, PlaneBoundaryCondition< ELEMENT_DIM, SPACE_DIM >::mUseJiggledNodesOnPlane, NEVER_REACHED, RandomNumberGenerator::ranf(), Node< SPACE_DIM >::rGetLocation(), and Node< SPACE_DIM >::rGetModifiableLocation().
Referenced by PlaneBoundaryCondition< ELEMENT_DIM, SPACE_DIM >::serialize().
|
virtual |
Overridden OutputCellPopulationBoundaryConditionParameters() method. Output cell population boundary condition parameters to file.
rParamsFile | the file stream to which the parameters are output |
Implements AbstractCellPopulationBoundaryCondition< ELEMENT_DIM, SPACE_DIM >.
Definition at line 189 of file PlaneBoundaryCondition.cpp.
References EXPORT_TEMPLATE_CLASS_ALL_DIMS, PlaneBoundaryCondition< ELEMENT_DIM, SPACE_DIM >::mNormalToPlane, PlaneBoundaryCondition< ELEMENT_DIM, SPACE_DIM >::mPointOnPlane, PlaneBoundaryCondition< ELEMENT_DIM, SPACE_DIM >::mUseJiggledNodesOnPlane, and AbstractCellPopulationBoundaryCondition< ELEMENT_DIM, SPACE_DIM >::OutputCellPopulationBoundaryConditionParameters().
Referenced by PlaneBoundaryCondition< ELEMENT_DIM, SPACE_DIM >::serialize().
const c_vector< double, SPACE_DIM > & PlaneBoundaryCondition< ELEMENT_DIM, SPACE_DIM >::rGetNormalToPlane | ( | ) | const |
Definition at line 59 of file PlaneBoundaryCondition.cpp.
References PlaneBoundaryCondition< ELEMENT_DIM, SPACE_DIM >::mNormalToPlane.
Referenced by PlaneBoundaryCondition< ELEMENT_DIM, SPACE_DIM >::serialize().
const c_vector< double, SPACE_DIM > & PlaneBoundaryCondition< ELEMENT_DIM, SPACE_DIM >::rGetPointOnPlane | ( | ) | const |
Definition at line 53 of file PlaneBoundaryCondition.cpp.
References PlaneBoundaryCondition< ELEMENT_DIM, SPACE_DIM >::mPointOnPlane.
Referenced by PlaneBoundaryCondition< ELEMENT_DIM, SPACE_DIM >::serialize().
|
inlineprivate |
Serialize the object and its member variables.
archive | the archive |
version | the current version of this class |
Definition at line 81 of file PlaneBoundaryCondition.hpp.
References EXPORT_TEMPLATE_CLASS_ALL_DIMS, AbstractCellPopulationBoundaryCondition< ELEMENT_DIM, SPACE_DIM >::GetCellPopulation(), PlaneBoundaryCondition< ELEMENT_DIM, SPACE_DIM >::GetUseJiggledNodesOnPlane(), PlaneBoundaryCondition< ELEMENT_DIM, SPACE_DIM >::ImposeBoundaryCondition(), PlaneBoundaryCondition< ELEMENT_DIM, SPACE_DIM >::OutputCellPopulationBoundaryConditionParameters(), PlaneBoundaryCondition< ELEMENT_DIM, SPACE_DIM >::PlaneBoundaryCondition(), PlaneBoundaryCondition< ELEMENT_DIM, SPACE_DIM >::rGetNormalToPlane(), PlaneBoundaryCondition< ELEMENT_DIM, SPACE_DIM >::rGetPointOnPlane(), PlaneBoundaryCondition< ELEMENT_DIM, SPACE_DIM >::SetUseJiggledNodesOnPlane(), and PlaneBoundaryCondition< ELEMENT_DIM, SPACE_DIM >::VerifyBoundaryCondition().
void PlaneBoundaryCondition< ELEMENT_DIM, SPACE_DIM >::SetUseJiggledNodesOnPlane | ( | bool | useJiggledNodesOnPlane | ) |
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 66 of file PlaneBoundaryCondition.cpp.
References PlaneBoundaryCondition< ELEMENT_DIM, SPACE_DIM >::mUseJiggledNodesOnPlane.
Referenced by PlaneBoundaryCondition< ELEMENT_DIM, SPACE_DIM >::serialize().
|
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< ELEMENT_DIM, SPACE_DIM >.
Definition at line 161 of file PlaneBoundaryCondition.cpp.
References EXCEPTION, PlaneBoundaryCondition< ELEMENT_DIM, SPACE_DIM >::mNormalToPlane, AbstractCellPopulationBoundaryCondition< ELEMENT_DIM, SPACE_DIM >::mpCellPopulation, and PlaneBoundaryCondition< ELEMENT_DIM, SPACE_DIM >::mPointOnPlane.
Referenced by PlaneBoundaryCondition< ELEMENT_DIM, SPACE_DIM >::serialize().
|
friend |
Needed for serialization.
Definition at line 73 of file PlaneBoundaryCondition.hpp.
|
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 >::ImposeBoundaryCondition(), PlaneBoundaryCondition< ELEMENT_DIM, SPACE_DIM >::OutputCellPopulationBoundaryConditionParameters(), PlaneBoundaryCondition< ELEMENT_DIM, SPACE_DIM >::PlaneBoundaryCondition(), PlaneBoundaryCondition< ELEMENT_DIM, SPACE_DIM >::rGetNormalToPlane(), and PlaneBoundaryCondition< ELEMENT_DIM, SPACE_DIM >::VerifyBoundaryCondition().
|
private |
A point on the boundary plane.
Definition at line 59 of file PlaneBoundaryCondition.hpp.
Referenced by PlaneBoundaryCondition< ELEMENT_DIM, SPACE_DIM >::ImposeBoundaryCondition(), PlaneBoundaryCondition< ELEMENT_DIM, SPACE_DIM >::OutputCellPopulationBoundaryConditionParameters(), PlaneBoundaryCondition< ELEMENT_DIM, SPACE_DIM >::rGetPointOnPlane(), and PlaneBoundaryCondition< ELEMENT_DIM, SPACE_DIM >::VerifyBoundaryCondition().
|
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(), PlaneBoundaryCondition< ELEMENT_DIM, SPACE_DIM >::ImposeBoundaryCondition(), PlaneBoundaryCondition< ELEMENT_DIM, SPACE_DIM >::OutputCellPopulationBoundaryConditionParameters(), and PlaneBoundaryCondition< ELEMENT_DIM, SPACE_DIM >::SetUseJiggledNodesOnPlane().