Chaste
Release::2017.1
|
#include <MeshBasedCellPopulation.hpp>
Classes | |
class | SpringIterator |
Public Member Functions | |
MeshBasedCellPopulation (MutableMesh< ELEMENT_DIM, SPACE_DIM > &rMesh, std::vector< CellPtr > &rCells, const std::vector< unsigned > locationIndices=std::vector< unsigned >(), bool deleteMesh=false, bool validate=true) | |
MeshBasedCellPopulation (MutableMesh< ELEMENT_DIM, SPACE_DIM > &rMesh) | |
virtual | ~MeshBasedCellPopulation () |
MutableMesh< ELEMENT_DIM, SPACE_DIM > & | rGetMesh () |
const MutableMesh< ELEMENT_DIM, SPACE_DIM > & | rGetMesh () const |
virtual TetrahedralMesh< ELEMENT_DIM, SPACE_DIM > * | GetTetrahedralMeshForPdeModifier () |
bool | UseAreaBasedDampingConstant () |
unsigned | AddNode (Node< SPACE_DIM > *pNewNode) |
void | SetNode (unsigned nodeIndex, ChastePoint< SPACE_DIM > &rNewLocation) |
double | GetDampingConstant (unsigned nodeIndex) |
void | SetAreaBasedDampingConstant (bool useAreaBasedDampingConstant) |
virtual void | OpenWritersFiles (OutputFileHandler &rOutputFileHandler) |
virtual unsigned | RemoveDeadCells () |
virtual CellPtr | AddCell (CellPtr pNewCell, CellPtr pParentCell) |
virtual void | WriteResultsToFiles (const std::string &rDirectory) |
virtual void | AcceptPopulationWriter (boost::shared_ptr< AbstractCellPopulationWriter< ELEMENT_DIM, SPACE_DIM > > pPopulationWriter) |
virtual void | AcceptPopulationCountWriter (boost::shared_ptr< AbstractCellPopulationCountWriter< ELEMENT_DIM, SPACE_DIM > > pPopulationCountWriter) |
virtual void | AcceptCellWriter (boost::shared_ptr< AbstractCellWriter< ELEMENT_DIM, SPACE_DIM > > pCellWriter, CellPtr pCell) |
virtual void | Update (bool hasHadBirthsOrDeaths=true) |
void | TessellateIfNeeded () |
void | DivideLongSprings (double springDivisionThreshold) |
Node< SPACE_DIM > * | GetNode (unsigned index) |
unsigned | GetNumNodes () |
virtual void | WriteVtkResultsToFile (const std::string &rDirectory) |
double | GetVolumeOfCell (CellPtr pCell) |
void | CreateVoronoiTessellation () |
VertexMesh< ELEMENT_DIM, SPACE_DIM > * | GetVoronoiTessellation () |
double | GetVolumeOfVoronoiElement (unsigned index) |
double | GetSurfaceAreaOfVoronoiElement (unsigned index) |
double | GetVoronoiEdgeLength (unsigned index1, unsigned index2) |
double | GetWidth (const unsigned &rDimension) |
virtual void | WriteDataToVisualizerSetupFile (out_stream &pVizSetupFile) |
SpringIterator | SpringsBegin () |
SpringIterator | SpringsEnd () |
void | CheckCellPointers () |
double | GetAreaBasedDampingConstantParameter () |
void | SetAreaBasedDampingConstantParameter (double areaBasedDampingConstantParameter) |
std::vector< std::pair< Node< SPACE_DIM > *, Node< SPACE_DIM > * > > & | rGetNodePairs () |
void | OutputCellPopulationParameters (out_stream &rParamsFile) |
void | SetWriteVtkAsPoints (bool writeVtkAsPoints) |
bool | GetWriteVtkAsPoints () |
void | SetOutputMeshInVtk (bool outputMeshInVtk) |
bool | GetOutputMeshInVtk () |
std::set< unsigned > | GetNeighbouringNodeIndices (unsigned index) |
void | CalculateRestLengths () |
double | GetRestLength (unsigned indexA, unsigned indexB) |
void | SetRestLength (unsigned indexA, unsigned indexB, double restLength) |
template<> | |
void | CreateVoronoiTessellation () |
template<> | |
void | CreateVoronoiTessellation () |
template<> | |
void | CreateVoronoiTessellation () |
template<> | |
void | CreateVoronoiTessellation () |
template<> | |
void | CreateVoronoiTessellation () |
Public Member Functions inherited from AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM > | |
AbstractCentreBasedCellPopulation (AbstractMesh< ELEMENT_DIM, SPACE_DIM > &rMesh, std::vector< CellPtr > &rCells, const std::vector< unsigned > locationIndices=std::vector< unsigned >()) | |
c_vector< double, SPACE_DIM > | GetLocationOfCellCentre (CellPtr pCell) |
Node< SPACE_DIM > * | GetNodeCorrespondingToCell (CellPtr pCell) |
virtual double | GetCellDataItemAtPdeNode (unsigned pdeNodeIndex, std::string &rVariableName, bool dirichletBoundaryConditionApplies=false, double dirichletBoundaryValue=0.0) |
std::pair< CellPtr, CellPtr > | CreateCellPair (CellPtr pCell1, CellPtr pCell2) |
bool | IsMarkedSpring (const std::pair< CellPtr, CellPtr > &rCellPair) |
void | MarkSpring (std::pair< CellPtr, CellPtr > &rCellPair) |
void | UnmarkSpring (std::pair< CellPtr, CellPtr > &rCellPair) |
bool | IsCellAssociatedWithADeletedLocation (CellPtr pCell) |
virtual std::set< unsigned > | GetNeighbouringLocationIndices (CellPtr pCell) |
virtual void | CheckForStepSizeException (unsigned nodeIndex, c_vector< double, SPACE_DIM > &rDisplacement, double dt) |
virtual bool | IsGhostNode (unsigned index) |
virtual bool | IsParticle (unsigned index) |
double | GetMeinekeDivisionSeparation () |
void | SetMeinekeDivisionSeparation (double divisionSeparation) |
boost::shared_ptr< AbstractCentreBasedDivisionRule< ELEMENT_DIM, SPACE_DIM > > | GetCentreBasedDivisionRule () |
void | SetCentreBasedDivisionRule (boost::shared_ptr< AbstractCentreBasedDivisionRule< ELEMENT_DIM, SPACE_DIM > > pCentreBasedDivisionRule) |
virtual double | GetDefaultTimeStep () |
Public Member Functions inherited from AbstractOffLatticeCellPopulation< ELEMENT_DIM, SPACE_DIM > | |
AbstractOffLatticeCellPopulation (AbstractMesh< ELEMENT_DIM, SPACE_DIM > &rMesh, std::vector< CellPtr > &rCells, const std::vector< unsigned > locationIndices=std::vector< unsigned >()) | |
virtual void | UpdateNodeLocations (double dt) |
void | SetDampingConstantNormal (double dampingConstantNormal) |
void | SetDampingConstantMutant (double dampingConstantMutant) |
void | SetAbsoluteMovementThreshold (double absoluteMovementThreshold) |
double | GetAbsoluteMovementThreshold () |
double | GetDampingConstantNormal () |
double | GetDampingConstantMutant () |
Public Member Functions inherited from AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM > | |
AbstractCellPopulation (AbstractMesh< ELEMENT_DIM, SPACE_DIM > &rMesh, std::vector< CellPtr > &rCells, const std::vector< unsigned > locationIndices=std::vector< unsigned >()) | |
virtual | ~AbstractCellPopulation () |
void | InitialiseCells () |
void | SetDataOnAllCells (const std::string &rDataName, double dataValue) |
AbstractMesh< ELEMENT_DIM, SPACE_DIM > & | rGetMesh () |
virtual bool | IsPdeNodeAssociatedWithNonApoptoticCell (unsigned pdeNodeIndex) |
std::list< CellPtr > & | rGetCells () |
std::vector< unsigned > | GetCellMutationStateCount () |
std::vector< unsigned > | GetCellProliferativeTypeCount () |
std::vector< unsigned > | GetCellCyclePhaseCount () |
unsigned | GetNumRealCells () |
unsigned | GetNumAllCells () |
void | SetCellAncestorsToLocationIndices () |
std::set< unsigned > | GetCellAncestors () |
virtual CellPtr | GetCellUsingLocationIndex (unsigned index) |
std::set< CellPtr > | GetCellsUsingLocationIndex (unsigned index) |
virtual bool | IsCellAttachedToLocationIndex (unsigned index) |
void | SetCellUsingLocationIndex (unsigned index, CellPtr pCell) |
virtual void | AddCellUsingLocationIndex (unsigned index, CellPtr pCell) |
virtual void | RemoveCellUsingLocationIndex (unsigned index, CellPtr pCell) |
void | MoveCellInLocationMap (CellPtr pCell, unsigned old_index, unsigned new_index) |
unsigned | GetLocationIndexUsingCell (CellPtr pCell) |
boost::shared_ptr< CellPropertyRegistry > | GetCellPropertyRegistry () |
void | SetDefaultCellMutationStateAndProliferativeTypeOrdering () |
c_vector< double, SPACE_DIM > | GetCentroidOfCellPopulation () |
virtual void | UpdateCellProcessLocation () |
void | CloseWritersFiles () |
void | OutputCellPopulationInfo (out_stream &rParamsFile) |
virtual void | SimulationSetupHook (AbstractCellBasedSimulation< ELEMENT_DIM, SPACE_DIM > *pSimulation) |
bool | GetOutputResultsForChasteVisualizer () |
template<template< unsigned, unsigned > class T> | |
void | AddPopulationWriter () |
template<template< unsigned, unsigned > class T> | |
void | AddCellWriter () |
template<template< unsigned, unsigned > class T> | |
void | AddCellPopulationCountWriter () |
void | AddPopulationWriter (boost::shared_ptr< AbstractCellPopulationWriter< ELEMENT_DIM, SPACE_DIM > > pPopulationWriter) |
void | AddCellWriter (boost::shared_ptr< AbstractCellWriter< ELEMENT_DIM, SPACE_DIM > > pCellWriter) |
void | AddCellPopulationCountWriter (boost::shared_ptr< AbstractCellPopulationCountWriter< ELEMENT_DIM, SPACE_DIM > > pCellPopulationCountWriter) |
template<template< unsigned, unsigned > class T> | |
bool | HasWriter () const |
void | SetOutputResultsForChasteVisualizer (bool outputResultsForChasteVisualizer) |
c_vector< double, SPACE_DIM > | GetSizeOfCellPopulation () |
virtual bool | IsRoomToDivide (CellPtr pCell) |
std::pair< unsigned, unsigned > | CreateOrderedPair (unsigned index1, unsigned index2) |
Iterator | Begin () |
Iterator | End () |
Public Member Functions inherited from Identifiable | |
virtual | ~Identifiable () |
std::string | GetIdentifier () const |
Protected Member Functions | |
virtual void | UpdateGhostNodesAfterReMesh (NodeMap &rMap) |
virtual void | Validate () |
Protected Member Functions inherited from AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM > | |
AbstractCentreBasedCellPopulation (AbstractMesh< ELEMENT_DIM, SPACE_DIM > &rMesh) | |
virtual void | AcceptCellWritersAcrossPopulation () |
Protected Member Functions inherited from AbstractOffLatticeCellPopulation< ELEMENT_DIM, SPACE_DIM > | |
AbstractOffLatticeCellPopulation (AbstractMesh< ELEMENT_DIM, SPACE_DIM > &rMesh) | |
Protected Member Functions inherited from AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM > | |
AbstractCellPopulation (AbstractMesh< ELEMENT_DIM, SPACE_DIM > &rMesh) | |
Private Member Functions | |
template<class Archive > | |
void | serialize (Archive &archive, const unsigned int version) |
Friends | |
class | TestMeshBasedCellPopulation |
class | boost::serialization::access |
A facade class encapsulating a mesh-based 'cell population'.
Contains a group of cells and maintains the associations between cells and nodes in the mesh.
Definition at line 57 of file MeshBasedCellPopulation.hpp.
MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::MeshBasedCellPopulation | ( | MutableMesh< ELEMENT_DIM, SPACE_DIM > & | rMesh, |
std::vector< CellPtr > & | rCells, | ||
const std::vector< unsigned > | locationIndices = std::vector<unsigned>() , |
||
bool | deleteMesh = false , |
||
bool | validate = true |
||
) |
Create a new cell population facade from a mesh and collection of cells.
There must be precisely 1 cell for each node of the mesh.
rMesh | a mutable tetrahedral mesh |
rCells | cells corresponding to the nodes of the mesh |
locationIndices | an optional vector of location indices that correspond to real cells |
deleteMesh | set to true if you want the cell population to free the mesh memory on destruction |
validate | whether to validate the cell population |
Definition at line 50 of file MeshBasedCellPopulation.cpp.
References AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mCells, MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::mpMutableMesh, AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mrMesh, MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::rGetMesh(), and MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::Validate().
MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::MeshBasedCellPopulation | ( | MutableMesh< ELEMENT_DIM, SPACE_DIM > & | rMesh | ) |
Constructor for use by the de-serializer.
rMesh | a mutable tetrahedral mesh. |
Definition at line 83 of file MeshBasedCellPopulation.cpp.
References MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::mDeleteMesh, MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::mpMutableMesh, MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::mpVoronoiTessellation, and AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mrMesh.
|
virtual |
Destructor.
Definition at line 92 of file MeshBasedCellPopulation.cpp.
References MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::mDeleteMesh, MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::mpVoronoiTessellation, and AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mrMesh.
|
virtual |
A virtual method to accept a cell writer so it can write data from this object to file.
pCellWriter | the population writer. |
pCell | the cell whose data are being written. |
Implements AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >.
Definition at line 586 of file MeshBasedCellPopulation.cpp.
|
virtual |
A virtual method to accept a cell population count writer so it can write data from this object to file.
pPopulationCountWriter | the population count writer. |
Implements AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >.
Definition at line 580 of file MeshBasedCellPopulation.cpp.
|
virtual |
A virtual method to accept a cell population writer so it can write data from this object to file.
pPopulationWriter | the population writer. |
Implements AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >.
Definition at line 574 of file MeshBasedCellPopulation.cpp.
|
virtual |
Overridden AddCell() method.
Add a new cell to the cell population and update mIsGhostNode.
pNewCell | the cell to add |
pParentCell | pointer to a parent cell - this is required for mesh-based cell populations |
Reimplemented from AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >.
Reimplemented in MeshBasedCellPopulationWithGhostNodes< DIM >.
Definition at line 527 of file MeshBasedCellPopulation.cpp.
References AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::AddCell(), AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::CreateCellPair(), and AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::MarkSpring().
Referenced by MeshBasedCellPopulationWithGhostNodes< DIM >::AddCell().
|
virtual |
Overridden AddNode() method.
Add a new node to the cell population.
pNewNode | pointer to the new node |
Implements AbstractOffLatticeCellPopulation< ELEMENT_DIM, SPACE_DIM >.
Definition at line 116 of file MeshBasedCellPopulation.cpp.
References MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::mpMutableMesh.
void MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::CalculateRestLengths | ( | ) |
Populate mSpringRestLengths by looping over all springs and calculating the current length
Definition at line 1223 of file MeshBasedCellPopulation.cpp.
References AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::CreateOrderedPair(), Node< SPACE_DIM >::GetIndex(), MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::mHasVariableRestLength, MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::mSpringRestLengths, MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::rGetMesh(), MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::SpringsBegin(), and MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::SpringsEnd().
void MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::CheckCellPointers | ( | ) |
Helper method for use in debugging.
Definition at line 1070 of file MeshBasedCellPopulation.cpp.
References AbstractCellCycleModel::GetCell(), AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetCellUsingLocationIndex(), AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetLocationIndexUsingCell(), AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mCells, AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::mMarkedSprings, and UNUSED_OPT.
void MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::CreateVoronoiTessellation | ( | ) |
Create a Voronoi tessellation of the mesh.
Referenced by MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetVolumeOfCell(), MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::TessellateIfNeeded(), VolumeTrackingModifier< DIM >::UpdateCellData(), and HeterotypicBoundaryLengthWriter< ELEMENT_DIM, SPACE_DIM >::Visit().
void MeshBasedCellPopulation< 2, 3 >::CreateVoronoiTessellation | ( | ) |
Can't tessellate 2d meshes in 3d space yet.
Definition at line 970 of file MeshBasedCellPopulation.cpp.
References NEVER_REACHED.
void MeshBasedCellPopulation< 3 >::CreateVoronoiTessellation | ( | ) |
The cylindrical mesh is only defined in 2D, hence there is a separate definition for this method in 3D, which doesn't have the capability of dealing with periodic boundaries in 3D. This is
Definition at line 983 of file MeshBasedCellPopulation.cpp.
References MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::mpVoronoiTessellation, and AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mrMesh.
void MeshBasedCellPopulation< 1, 1 >::CreateVoronoiTessellation | ( | ) |
The VoronoiTessellation class is only defined in 2D or 3D, hence there are two definitions to this method (one templated and one not).
Definition at line 995 of file MeshBasedCellPopulation.cpp.
References NEVER_REACHED.
void MeshBasedCellPopulation< 1, 2 >::CreateVoronoiTessellation | ( | ) |
The VoronoiTessellation class is only defined in 2D or 3D, hence there are two definitions to this method (one templated and one not).
Definition at line 1009 of file MeshBasedCellPopulation.cpp.
References NEVER_REACHED.
void MeshBasedCellPopulation< 1, 3 >::CreateVoronoiTessellation | ( | ) |
The VoronoiTessellation class is only defined in 2D or 3D, hence there are two definitions to this method (one templated and one not).
Definition at line 1022 of file MeshBasedCellPopulation.cpp.
References NEVER_REACHED.
void MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::DivideLongSprings | ( | double | springDivisionThreshold | ) |
Divides springs longer than the given threshold
springDivisionThreshold | a given threshold |
Definition at line 444 of file MeshBasedCellPopulation.cpp.
References AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::AddCellUsingLocationIndex(), AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::CreateOrderedPair(), AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetCellUsingLocationIndex(), AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mCells, MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::mSpringRestLengths, CellPropertyCollection::RemoveProperty(), MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::rGetMesh(), and UNSIGNED_UNSET.
double MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetAreaBasedDampingConstantParameter | ( | ) |
Definition at line 1150 of file MeshBasedCellPopulation.cpp.
References MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::mAreaBasedDampingConstantParameter.
|
virtual |
Overridden GetDampingConstant() method that includes the case of a cell-area-based damping constant.
nodeIndex | the global index of this node |
We use a linear dependence of the form
new_damping_const = old_damping_const * (d0+d1*A)
where d0, d1 are parameters, A is the cell's area, and old_damping_const is the damping constant if not using mUseAreaBasedDampingConstant
Compute the parameter d1 such that d0+A*d1=1, where A is the equilibrium area of a cell (this is equal to sqrt(3.0)/4, which is a third of the area of a regular hexagon of edge length 1)
The cell area should not be too large - the next assertion is to avoid getting an infinite cell area, which may occur if area-based viscosity is chosen in the absence of ghost nodes.
Reimplemented from AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >.
Definition at line 128 of file MeshBasedCellPopulation.cpp.
References AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetDampingConstant(), MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetVolumeOfVoronoiElement(), MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::mAreaBasedDampingConstantParameter, and MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::mUseAreaBasedDampingConstant.
Referenced by NodeVelocityWriter< ELEMENT_DIM, SPACE_DIM >::Visit().
|
virtual |
Overridden GetNeighbouringNodeIndices() method.
index | the node index |
Implements AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >.
Definition at line 1194 of file MeshBasedCellPopulation.cpp.
References Node< SPACE_DIM >::ContainingElementsBegin(), Node< SPACE_DIM >::ContainingElementsEnd(), AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetElement(), AbstractElement< ELEMENT_DIM, SPACE_DIM >::GetNodeGlobalIndex(), AbstractElement< ELEMENT_DIM, SPACE_DIM >::GetNumNodes(), and AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mrMesh.
Referenced by DiscreteSystemForceCalculator::CalculateFtAndFn(), DiscreteSystemForceCalculator::GetSamplingAngles(), and HeterotypicBoundaryLengthWriter< ELEMENT_DIM, SPACE_DIM >::Visit().
|
virtual |
Overridden GetNode() method.
index | global index of the specified Node |
Implements AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >.
Definition at line 510 of file MeshBasedCellPopulation.cpp.
References AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mrMesh.
Referenced by MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::Update(), CellPopulationElementWriter< ELEMENT_DIM, SPACE_DIM >::Visit(), and VoronoiDataWriter< ELEMENT_DIM, SPACE_DIM >::Visit().
|
virtual |
Overridden GetNumNodes() method.
Implements AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >.
Definition at line 516 of file MeshBasedCellPopulation.cpp.
References AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mrMesh.
Referenced by DiscreteSystemForceCalculator::CalculateExtremalNormalForces(), CellwiseDataGradient< DIM >::SetupGradients(), MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::Validate(), and MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::WriteVtkResultsToFile().
bool MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetOutputMeshInVtk | ( | ) |
Definition at line 842 of file MeshBasedCellPopulation.cpp.
References MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::mOutputMeshInVtk.
double MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetRestLength | ( | unsigned | indexA, |
unsigned | indexB | ||
) |
indexA | index of first node in pair |
indexB | index of second node in pair |
Definition at line 1251 of file MeshBasedCellPopulation.cpp.
References AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::CreateOrderedPair(), EXCEPTION, MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::mHasVariableRestLength, and MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::mSpringRestLengths.
double MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetSurfaceAreaOfVoronoiElement | ( | unsigned | index | ) |
This method should be called instead of calling GetVoronoiTessellation()->GetSurfaceAreaOfElement() because the global indices of Delaunay nodes and Voronoi elements may not match, e.g. if a node is a ghost node or corresponds to a Voronoi face.
index | a node global index |
Definition at line 1045 of file MeshBasedCellPopulation.cpp.
References MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::mpVoronoiTessellation.
Referenced by LinearSpringWithVariableSpringConstantsForce< DIM >::VariableSpringConstantMultiplicationFactor().
|
virtual |
Overridden GetTetrahedralMeshForPdeModifier() method.
This method is called by AbstractGrowingDomainPdeModifier.
Implements AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >.
Reimplemented in MeshBasedCellPopulationWithGhostNodes< DIM >.
Definition at line 207 of file MeshBasedCellPopulation.cpp.
References MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::mpMutableMesh.
|
virtual |
Overridden GetVolumeOfCell() method.
pCell | boost shared pointer to a cell |
Implements AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >.
Definition at line 760 of file MeshBasedCellPopulation.cpp.
References AbstractTetrahedralElement< ELEMENT_DIM, SPACE_DIM >::CalculateJacobian(), Node< SPACE_DIM >::ContainingElementsBegin(), Node< SPACE_DIM >::ContainingElementsEnd(), MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::CreateVoronoiTessellation(), AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetLocationIndexUsingCell(), AbstractTetrahedralElement< ELEMENT_DIM, SPACE_DIM >::GetVolume(), MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::mpVoronoiTessellation, NEVER_REACHED, Node< SPACE_DIM >::rGetContainingElementIndices(), and MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::rGetMesh().
double MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetVolumeOfVoronoiElement | ( | unsigned | index | ) |
This method should be called instead of calling GetVoronoiTessellation()->GetVolumeOfElement() because the global indices of Delaunay nodes and Voronoi elements may not match, e.g. if a node is a ghost node or corresponds to a Voronoi face.
index | a node global index |
Definition at line 1037 of file MeshBasedCellPopulation.cpp.
References MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::mpVoronoiTessellation.
Referenced by MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetDampingConstant().
double MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetVoronoiEdgeLength | ( | unsigned | index1, |
unsigned | index2 | ||
) |
This method should be called instead of calling GetVoronoiTessellation()->GetEdgeLength() because the global indices of Delaunay nodes and Voronoi elements may not match, e.g. if a node is a ghost node or corresponds to a Voronoi face.
index1 | a node global index |
index2 | a node global index |
Definition at line 1053 of file MeshBasedCellPopulation.cpp.
References EXCEPTION, and MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::mpVoronoiTessellation.
Referenced by LinearSpringWithVariableSpringConstantsForce< DIM >::VariableSpringConstantMultiplicationFactor(), and HeterotypicBoundaryLengthWriter< ELEMENT_DIM, SPACE_DIM >::Visit().
VertexMesh< ELEMENT_DIM, SPACE_DIM > * MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetVoronoiTessellation | ( | ) |
Definition at line 1030 of file MeshBasedCellPopulation.cpp.
References MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::mpVoronoiTessellation.
Referenced by VoronoiDataWriter< ELEMENT_DIM, SPACE_DIM >::Visit(), and CellPopulationAreaWriter< ELEMENT_DIM, SPACE_DIM >::Visit().
|
virtual |
Overridden GetWidth() method.
Calculate the 'width' of any dimension of the cell population by calling GetWidth() on the mesh.
rDimension | a dimension (0,1 or 2) |
Implements AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >.
Definition at line 1186 of file MeshBasedCellPopulation.cpp.
References AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mrMesh.
Referenced by MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::WriteDataToVisualizerSetupFile().
bool MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetWriteVtkAsPoints | ( | ) |
Definition at line 830 of file MeshBasedCellPopulation.cpp.
References MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::mWriteVtkAsPoints.
|
virtual |
Overridden OpenWritersFiles() method.
Open all files in mCellPopulationWriters and mCellWriters for writing (not appending).
rOutputFileHandler | handler for the directory in which to open this file. |
Reimplemented from AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >.
Reimplemented in MeshBasedCellPopulationWithGhostNodes< DIM >.
Definition at line 549 of file MeshBasedCellPopulation.cpp.
References AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mOutputResultsForChasteVisualizer, and AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::OpenWritersFiles().
Referenced by MeshBasedCellPopulationWithGhostNodes< DIM >::OpenWritersFiles().
|
virtual |
Outputs CellPopulation parameters to file
rParamsFile | the file stream to which the parameters are output |
Reimplemented from AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >.
Definition at line 1173 of file MeshBasedCellPopulation.cpp.
References MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::mAreaBasedDampingConstantParameter, MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::mHasVariableRestLength, MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::mOutputMeshInVtk, MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::mUseAreaBasedDampingConstant, MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::mWriteVtkAsPoints, and AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::OutputCellPopulationParameters().
Referenced by MeshBasedCellPopulationWithGhostNodes< DIM >::OutputCellPopulationParameters().
|
virtual |
Remove all cells that are labelled as dead.
Note that this now calls MutableMesh::DeleteNodePriorToReMesh() and therefore a ReMesh(map) must be called before any element information is used.
Note also that after calling this method the cell population will be in an inconsistent state until Update() is called! So don't try iterating over cells or anything like that.
Implements AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >.
Definition at line 213 of file MeshBasedCellPopulation.cpp.
References MutableMesh< ELEMENT_DIM, SPACE_DIM >::DeleteNodePriorToReMesh(), AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetLocationIndexUsingCell(), AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mCells, AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::mMarkedSprings, AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mrMesh, and AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::RemoveCellUsingLocationIndex().
MutableMesh< ELEMENT_DIM, SPACE_DIM > & MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::rGetMesh | ( | ) |
Definition at line 195 of file MeshBasedCellPopulation.cpp.
References MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::mpMutableMesh.
Referenced by DiscreteSystemForceCalculator::CalculateFtAndFn(), MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::CalculateRestLengths(), CryptStatistics::CellIsInSection(), CryptStatistics::CellIsInSectionPeriodic(), MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::DivideLongSprings(), CryptStatistics::GetCryptSection(), DiscreteSystemForceCalculator::GetSamplingAngles(), MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetVolumeOfCell(), MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::MeshBasedCellPopulation(), CellwiseDataGradient< DIM >::SetupGradients(), CellPopulationElementWriter< ELEMENT_DIM, SPACE_DIM >::Visit(), CellPopulationAreaWriter< ELEMENT_DIM, SPACE_DIM >::Visit(), NodeVelocityWriter< ELEMENT_DIM, SPACE_DIM >::Visit(), BoundaryNodeWriter< ELEMENT_DIM, SPACE_DIM >::Visit(), NodeLocationWriter< ELEMENT_DIM, SPACE_DIM >::Visit(), DiscreteSystemForceCalculator::WriteResultsToFile(), and MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::WriteVtkResultsToFile().
const MutableMesh< ELEMENT_DIM, SPACE_DIM > & MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::rGetMesh | ( | ) | const |
Definition at line 201 of file MeshBasedCellPopulation.cpp.
References MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::mpMutableMesh.
|
virtual |
Overridden rGetNodePairs method which uses the Delaunay triangulatiuon
Implements AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >.
Definition at line 1164 of file MeshBasedCellPopulation.cpp.
References MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::mNodePairs, and NEVER_REACHED.
|
inlineprivate |
Serialize the object and its member variables.
Note that serialization of the mesh and cells is handled by load/save_construct_data.
Note also that member data related to writers is not saved - output must be set up again by the caller after a restart.
archive | the archive |
version | the current version of this class |
Definition at line 75 of file MeshBasedCellPopulation.hpp.
void MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::SetAreaBasedDampingConstant | ( | bool | useAreaBasedDampingConstant | ) |
Set method for mUseAreaBasedDampingConstant.
useAreaBasedDampingConstant | whether to use a viscosity that is linear in the cell area, rather than constant |
Definition at line 109 of file MeshBasedCellPopulation.cpp.
References MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::mUseAreaBasedDampingConstant.
void MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::SetAreaBasedDampingConstantParameter | ( | double | areaBasedDampingConstantParameter | ) |
Set mAreaBasedDampingConstantParameter.
areaBasedDampingConstantParameter | the new value of mAreaBasedDampingConstantParameter |
Definition at line 1156 of file MeshBasedCellPopulation.cpp.
References MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::mAreaBasedDampingConstantParameter.
|
virtual |
Overridden SetNode() method.
Move the node with a given index to a new point in space.
nodeIndex | the index of the node to be moved |
rNewLocation | the new target location of the node |
Implements AbstractOffLatticeCellPopulation< ELEMENT_DIM, SPACE_DIM >.
Definition at line 122 of file MeshBasedCellPopulation.cpp.
References AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mrMesh, and MutableMesh< ELEMENT_DIM, SPACE_DIM >::SetNode().
void MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::SetOutputMeshInVtk | ( | bool | outputMeshInVtk | ) |
Set mOutputMeshInVtk.
outputMeshInVtk | whether to write cells as points in VTK |
Definition at line 836 of file MeshBasedCellPopulation.cpp.
References MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::mOutputMeshInVtk.
void MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::SetRestLength | ( | unsigned | indexA, |
unsigned | indexB, | ||
double | restLength | ||
) |
Helper method to modify the rest length of a given spring
indexA | index of first node in pair |
indexB | index of second node in pair |
restLength | the new rest length |
Definition at line 1275 of file MeshBasedCellPopulation.cpp.
References AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::CreateOrderedPair(), EXCEPTION, EXPORT_TEMPLATE_CLASS_ALL_DIMS, MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::mHasVariableRestLength, and MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::mSpringRestLengths.
void MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::SetWriteVtkAsPoints | ( | bool | writeVtkAsPoints | ) |
Set mWriteVtkAsPoints.
writeVtkAsPoints | whether to write cells as points in VTK |
Definition at line 824 of file MeshBasedCellPopulation.cpp.
References MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::mWriteVtkAsPoints.
MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::SpringIterator MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::SpringsBegin | ( | ) |
Definition at line 933 of file MeshBasedCellPopulation.cpp.
References AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mrMesh, and MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::SpringIterator::SpringIterator().
Referenced by AbstractTwoBodyInteractionForce< ELEMENT_DIM, SPACE_DIM >::AddForceContribution(), LinearSpringWithVariableSpringConstantsForce< DIM >::AddForceContribution(), CryptProjectionForce::AddForceContribution(), and MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::CalculateRestLengths().
MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::SpringIterator MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::SpringsEnd | ( | ) |
Definition at line 939 of file MeshBasedCellPopulation.cpp.
References AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mrMesh, and MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::SpringIterator::SpringIterator().
Referenced by AbstractTwoBodyInteractionForce< ELEMENT_DIM, SPACE_DIM >::AddForceContribution(), LinearSpringWithVariableSpringConstantsForce< DIM >::AddForceContribution(), CryptProjectionForce::AddForceContribution(), and MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::CalculateRestLengths().
void MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::TessellateIfNeeded | ( | ) |
Tessellates when required: if areas or volumes are needed for mUseAreaBasedDampingConstant; if a CellPopulationAreaWriter or CellVolumesWriter has been added to the population; or if Voronoi data are to be output.
Definition at line 427 of file MeshBasedCellPopulation.cpp.
References GenericEventHandler< 11, CellBasedEventHandler >::BeginEvent(), MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::CreateVoronoiTessellation(), GenericEventHandler< 11, CellBasedEventHandler >::EndEvent(), and MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::mUseAreaBasedDampingConstant.
Referenced by MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::Update(), and MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::WriteResultsToFiles().
|
virtual |
Overridden Update(bool hasHadBirthsOrDeaths) method. Fixes up the mappings between cells and nodes.
hasHadBirthsOrDeaths | - a bool saying whether cell population has had Births Or Deaths not needed in this cell population class |
If node radii are set, then we must keep a record of these, since they will be cleared during the remeshing process. We then restore these attributes to the nodes after calling ReMesh().
At present, we check whether node radii are set by interrogating the radius of the first node in the mesh and asking if it is strictly greater than zero (the default value, as set in the NodeAttributes constructor). Hence, we assume that either ALL node radii are set, or NONE are.
Implements AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >.
Definition at line 272 of file MeshBasedCellPopulation.cpp.
References Node< SPACE_DIM >::ContainingElementsBegin(), Node< SPACE_DIM >::ContainingElementsEnd(), MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetNode(), AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetNodeCorrespondingToCell(), AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mCellLocationMap, AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mCells, AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mLocationCellMap, AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::mMarkedSprings, AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mrMesh, MutableMesh< ELEMENT_DIM, SPACE_DIM >::ReMesh(), Node< SPACE_DIM >::rGetContainingElementIndices(), AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::SetCellUsingLocationIndex(), AbstractMesh< ELEMENT_DIM, SPACE_DIM >::SetMeshHasChangedSinceLoading(), MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::TessellateIfNeeded(), MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::UpdateGhostNodesAfterReMesh(), and MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::Validate().
Referenced by CellPopulationAdjacencyMatrixWriter< ELEMENT_DIM, SPACE_DIM >::Visit().
|
protectedvirtual |
Update mIsGhostNode if required by a remesh.
rMap | A map between node indices before and after remesh |
Reimplemented in MeshBasedCellPopulationWithGhostNodes< DIM >.
Definition at line 522 of file MeshBasedCellPopulation.cpp.
Referenced by MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::Update().
bool MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::UseAreaBasedDampingConstant | ( | ) |
Definition at line 103 of file MeshBasedCellPopulation.cpp.
References MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::mUseAreaBasedDampingConstant.
|
protectedvirtual |
Check consistency of our internal data structures. Each node must have a cell associated with it.
Implements AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >.
Reimplemented in MeshBasedCellPopulationWithGhostNodes< DIM >.
Definition at line 175 of file MeshBasedCellPopulation.cpp.
References AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::Begin(), AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::End(), EXCEPTION, AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetLocationIndexUsingCell(), MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetNumNodes(), and SimulationTime::Instance().
Referenced by MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::MeshBasedCellPopulation(), MeshBasedCellPopulation< 2 >::serialize(), and MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::Update().
|
virtual |
Overridden WriteDataToVisualizerSetupFile() method. Write any data necessary to a visualization setup file. Used by AbstractCellBasedSimulation::WriteVisualizerSetupFile().
pVizSetupFile | a visualization setup file |
Reimplemented from AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >.
Definition at line 848 of file MeshBasedCellPopulation.cpp.
References MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetWidth(), and AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mrMesh.
|
virtual |
Overridden WriteResultsToFiles() method.
rDirectory | pathname of the output directory, relative to where Chaste output is stored |
Reimplemented from AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >.
Definition at line 563 of file MeshBasedCellPopulation.cpp.
References SimulationTime::Instance(), MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::mpVoronoiTessellation, MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::TessellateIfNeeded(), and AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::WriteResultsToFiles().
|
virtual |
Overridden WriteVtkResultsToFile() method.
rDirectory | pathname of the output directory, relative to where Chaste output is stored |
Implements AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >.
Reimplemented in MeshBasedCellPopulationWithGhostNodes< DIM >.
Definition at line 592 of file MeshBasedCellPopulation.cpp.
References VertexMeshWriter< ELEMENT_DIM, SPACE_DIM >::AddCellData(), AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::Begin(), NodesOnlyMesh< SPACE_DIM >::ConstructNodesWithoutMesh(), AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::End(), AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetCellUsingLocationIndex(), AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetLocationIndexUsingCell(), AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetNumAllCells(), MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetNumNodes(), SimulationTime::GetTimeStepsElapsed(), SimulationTime::Instance(), AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mCellWriters, MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::mOutputMeshInVtk, MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::mpVoronoiTessellation, AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mpVtkMetaFile, AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mrMesh, MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::mWriteVtkAsPoints, MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::rGetMesh(), VtkMeshWriter< ELEMENT_DIM, SPACE_DIM >::WriteFilesUsingMesh(), and VertexMeshWriter< ELEMENT_DIM, SPACE_DIM >::WriteVtkUsingMesh().
|
friend |
Needed for serialization.
Definition at line 62 of file MeshBasedCellPopulation.hpp.
|
protected |
Non-dimensional parameter d0 for use in area-based damping constant calculations.
Definition at line 132 of file MeshBasedCellPopulation.hpp.
Referenced by MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetAreaBasedDampingConstantParameter(), MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetDampingConstant(), MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::OutputCellPopulationParameters(), MeshBasedCellPopulation< 2 >::serialize(), and MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::SetAreaBasedDampingConstantParameter().
|
protected |
Whether to delete the mesh when we are destroyed. Needed if this cell population has been de-serialized.
Definition at line 121 of file MeshBasedCellPopulation.hpp.
Referenced by MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::MeshBasedCellPopulation(), and MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::~MeshBasedCellPopulation().
|
protected |
Whether springs have variable rest lengths.
Definition at line 141 of file MeshBasedCellPopulation.hpp.
Referenced by MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::CalculateRestLengths(), MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetRestLength(), MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::OutputCellPopulationParameters(), MeshBasedCellPopulation< 2 >::serialize(), and MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::SetRestLength().
|
protected |
Node pairs for force calculations.
Definition at line 144 of file MeshBasedCellPopulation.hpp.
Referenced by MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::rGetNodePairs().
|
protected |
Whether to output the underlying MutableMesh in VTK.
Definition at line 138 of file MeshBasedCellPopulation.hpp.
Referenced by MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetOutputMeshInVtk(), MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::OutputCellPopulationParameters(), MeshBasedCellPopulation< 2 >::serialize(), MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::SetOutputMeshInVtk(), and MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::WriteVtkResultsToFile().
|
protected |
Static cast of the mesh from AbstractCellPopulation
Definition at line 115 of file MeshBasedCellPopulation.hpp.
Referenced by MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::AddNode(), MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetTetrahedralMeshForPdeModifier(), MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::MeshBasedCellPopulation(), and MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::rGetMesh().
|
protected |
Pointer to a VertexMesh object that stores the Voronoi tessellation that is dual to mrMesh. The tessellation is created by calling CreateVoronoiTessellation() and can be accessed by calling GetVoronoiTessellation().
The tessellation can be used to compute the area and perimeter (in 2D) or volume and surface area (in 3D) of the Voronoi element corresponding to each node in the Delaunay mesh (including ghost nodes) by calling the methods GetVolumeOfVoronoiElement() and GetSurfaceAreaOfVoronoiElement() respectively. Each of these methods should be called rather than the relevant method on the VertexMesh. This is because the index of a given Node in mrMesh may not equal the index of the corresponding VertexElement in mpVoronoiTessellation; a map between these indices may be accessed by calling the methods GetDelaunayNodeIndexCorrespondingToVoronoiElementIndex() and GetVoronoiElementIndexCorrespondingToDelaunayNodeIndex() on mpVoronoiTessellation.
Definition at line 112 of file MeshBasedCellPopulation.hpp.
Referenced by MeshBasedCellPopulation< 2 >::CreateVoronoiTessellation(), MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::CreateVoronoiTessellation(), MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetSurfaceAreaOfVoronoiElement(), MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetVolumeOfCell(), MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetVolumeOfVoronoiElement(), MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetVoronoiEdgeLength(), MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetVoronoiTessellation(), MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::MeshBasedCellPopulation(), MeshBasedCellPopulation< 2 >::serialize(), MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::WriteResultsToFiles(), MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::WriteVtkResultsToFile(), and MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::~MeshBasedCellPopulation().
|
protected |
Keeps track of the rest lengths of springs if these are being used in the simulation.
Definition at line 126 of file MeshBasedCellPopulation.hpp.
Referenced by MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::CalculateRestLengths(), MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::DivideLongSprings(), MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetRestLength(), MeshBasedCellPopulation< 2 >::serialize(), and MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::SetRestLength().
|
protected |
Whether to use a viscosity that is linear in the cell area, rather than constant.
Definition at line 129 of file MeshBasedCellPopulation.hpp.
Referenced by MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetDampingConstant(), MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::OutputCellPopulationParameters(), MeshBasedCellPopulation< 2 >::serialize(), MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::SetAreaBasedDampingConstant(), MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::TessellateIfNeeded(), and MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::UseAreaBasedDampingConstant().
|
protected |
Whether to write cells as points in VTK.
Definition at line 135 of file MeshBasedCellPopulation.hpp.
Referenced by MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetWriteVtkAsPoints(), MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::OutputCellPopulationParameters(), MeshBasedCellPopulation< 2 >::serialize(), MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::SetWriteVtkAsPoints(), and MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::WriteVtkResultsToFile().