Chaste Commit::333233612e3dcc941d260418acd7b5ccdc30390e
MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM > Class Template Reference

#include <MeshBasedCellPopulation.hpp>

+ Inheritance diagram for MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >:
+ Collaboration diagram for MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >:

Classes

class  SpringIterator
 

Public Member Functions

 MeshBasedCellPopulation (MutableMesh< ELEMENT_DIM, SPACE_DIM > &rMesh, std::vector< CellPtr > &rCells, const std::vector< unsigned > locationIndices={}, 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 AcceptPopulationEventWriter (boost::shared_ptr< AbstractCellPopulationEventWriter< ELEMENT_DIM, SPACE_DIM > > pPopulationEventWriter)
 
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 SetBoundVoronoiTessellation (bool boundVoronoiTessellation)
 
bool GetBoundVoronoiTessellation ()
 
void SetScaleBoundByEdgeLength (bool scaleBoundByEdgeLength)
 
bool GetScaleBoundByEdgeLength ()
 
void SetBoundedVoroniTesselationLengthCutoff (double boundedVoroniTesselationLengthCutoff)
 
double GetBoundedVoroniTesselationLengthCutoff ()
 
void SetOffsetNewBoundaryNodes (bool offsetNewBoundaryNodes)
 
bool GetOffsetNewBoundaryNodes ()
 
std::set< unsignedGetNeighbouringNodeIndices (unsigned index)
 
void CalculateRestLengths ()
 
double GetRestLength (unsigned indexA, unsigned indexB)
 
void SetRestLength (unsigned indexA, unsigned indexB, double restLength)
 
- 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< unsignedGetNeighbouringLocationIndices (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< unsignedGetCellMutationStateCount ()
 
std::vector< unsignedGetCellProliferativeTypeCount ()
 
std::vector< unsignedGetCellCyclePhaseCount ()
 
unsigned GetNumRealCells ()
 
unsigned GetNumAllCells ()
 
void SetCellAncestorsToLocationIndices ()
 
std::set< unsignedGetCellAncestors ()
 
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< CellPropertyRegistryGetCellPropertyRegistry ()
 
void SetDefaultCellMutationStateAndProliferativeTypeOrdering ()
 
virtual std::set< std::pair< unsigned, unsigned > > GetNeighbouringEdgeIndices (CellPtr pCell, unsigned pEdgeIndex)
 
c_vector< double, SPACE_DIM > GetCentroidOfCellPopulation ()
 
virtual void UpdateCellProcessLocation ()
 
virtual void CloseWritersFiles ()
 
std::vector< std::string > GetDivisionsInformation ()
 
void AddDivisionInformation (std::string divisionInformation)
 
void ClearDivisionsInformation ()
 
std::vector< std::string > GetRemovalsInformation ()
 
void AddRemovalInformation (std::string removalInformation)
 
void ClearRemovalsInformation ()
 
void GenerateRemovalInformation (CellPtr pCell, std::string killerInfo)
 
void KillCell (CellPtr pCell, std::string killerInfo)
 
void StartApoptosisOnCell (CellPtr pCell, std::string killerInfo)
 
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 ()
 
template<template< unsigned, unsigned > class T>
void AddCellPopulationEventWriter ()
 
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)
 
void AddCellPopulationEventWriter (boost::shared_ptr< AbstractCellPopulationEventWriter< ELEMENT_DIM, SPACE_DIM > > pCellPopulationEventWriter)
 
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, unsignedCreateOrderedPair (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)
 

Protected Attributes

VertexMesh< ELEMENT_DIM, SPACE_DIM > * mpVoronoiTessellation
 
MutableMesh< ELEMENT_DIM, SPACE_DIM > * mpMutableMesh
 
bool mDeleteMesh
 
std::map< std::pair< unsigned, unsigned >, doublemSpringRestLengths
 
bool mUseAreaBasedDampingConstant
 
double mAreaBasedDampingConstantParameter
 
bool mWriteVtkAsPoints
 
bool mBoundVoronoiTessellation
 
bool mScaleBoundByEdgeLength
 
double mBoundedVoroniTesselationLengthCutoff
 
bool mOffsetNewBoundaryNodes
 
bool mHasVariableRestLength
 
std::vector< std::pair< Node< SPACE_DIM > *, Node< SPACE_DIM > * > > mNodePairs
 
- Protected Attributes inherited from AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >
double mMeinekeDivisionSeparation
 
std::set< std::pair< CellPtr, CellPtr > > mMarkedSprings
 
boost::shared_ptr< AbstractCentreBasedDivisionRule< ELEMENT_DIM, SPACE_DIM > > mpCentreBasedDivisionRule
 
- Protected Attributes inherited from AbstractOffLatticeCellPopulation< ELEMENT_DIM, SPACE_DIM >
double mDampingConstantNormal
 
double mDampingConstantMutant
 
double mAbsoluteMovementThreshold
 
- Protected Attributes inherited from AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >
std::map< unsigned, std::set< CellPtr > > mLocationCellMap
 
std::map< Cell *, unsignedmCellLocationMap
 
AbstractMesh< ELEMENT_DIM, SPACE_DIM > & mrMesh
 
std::list< CellPtr > mCells
 
c_vector< double, SPACE_DIM > mCentroid
 
out_stream mpVtkMetaFile
 
boost::shared_ptr< CellPropertyRegistrympCellPropertyRegistry
 
bool mOutputResultsForChasteVisualizer
 
std::vector< boost::shared_ptr< AbstractCellWriter< ELEMENT_DIM, SPACE_DIM > > > mCellWriters
 
std::vector< boost::shared_ptr< AbstractCellPopulationWriter< ELEMENT_DIM, SPACE_DIM > > > mCellPopulationWriters
 
std::vector< boost::shared_ptr< AbstractCellPopulationCountWriter< ELEMENT_DIM, SPACE_DIM > > > mCellPopulationCountWriters
 
std::vector< boost::shared_ptr< AbstractCellPopulationEventWriter< ELEMENT_DIM, SPACE_DIM > > > mCellPopulationEventWriters
 
std::vector< std::string > mDivisionsInformation
 
std::vector< std::string > mRemovalsInformation
 

Private Member Functions

template<class Archive >
void serialize (Archive &archive, const unsigned int version)
 

Friends

class TestMeshBasedCellPopulation
 
class boost::serialization::access
 

Detailed Description

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
class MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >

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.

Template Parameters
ELEMENT_DIMDimension of the elements.
SPACE_DIMDimension of the space. If not specified, it defaults to ELEMENT_DIM.

Definition at line 64 of file MeshBasedCellPopulation.hpp.

Constructor & Destructor Documentation

◆ MeshBasedCellPopulation() [1/2]

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::MeshBasedCellPopulation ( MutableMesh< ELEMENT_DIM, SPACE_DIM > &  rMesh,
std::vector< CellPtr > &  rCells,
const std::vector< unsigned locationIndices = {},
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.

Parameters
rMesha mutable tetrahedral mesh
rCellscells corresponding to the nodes of the mesh
locationIndicesan optional vector of location indices that correspond to real cells
deleteMeshset to true if you want the cell population to free the mesh memory on destruction
validatewhether to validate the cell population

Definition at line 52 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() [2/2]

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::MeshBasedCellPopulation ( MutableMesh< ELEMENT_DIM, SPACE_DIM > &  rMesh)

◆ ~MeshBasedCellPopulation()

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::~MeshBasedCellPopulation ( )
virtual

Destructor.

Definition at line 97 of file MeshBasedCellPopulation.cpp.

Member Function Documentation

◆ AcceptCellWriter()

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::AcceptCellWriter ( boost::shared_ptr< AbstractCellWriter< ELEMENT_DIM, SPACE_DIM > >  pCellWriter,
CellPtr  pCell 
)
virtual

A virtual method to accept a cell writer so it can write data from this object to file.

Parameters
pCellWriterthe population writer.
pCellthe cell whose data are being written.

Implements AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >.

Definition at line 614 of file MeshBasedCellPopulation.cpp.

◆ AcceptPopulationCountWriter()

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::AcceptPopulationCountWriter ( boost::shared_ptr< AbstractCellPopulationCountWriter< ELEMENT_DIM, SPACE_DIM > >  pPopulationCountWriter)
virtual

A virtual method to accept a cell population count writer so it can write data from this object to file.

Parameters
pPopulationCountWriterthe population count writer.

Implements AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >.

Definition at line 602 of file MeshBasedCellPopulation.cpp.

◆ AcceptPopulationEventWriter()

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::AcceptPopulationEventWriter ( boost::shared_ptr< AbstractCellPopulationEventWriter< ELEMENT_DIM, SPACE_DIM > >  pPopulationEventWriter)
virtual

A virtual method to accept a cell population event writer so it can write data from this object to file.

Parameters
pPopulationEventWriterthe population event writer.

Implements AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >.

Definition at line 608 of file MeshBasedCellPopulation.cpp.

◆ AcceptPopulationWriter()

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::AcceptPopulationWriter ( boost::shared_ptr< AbstractCellPopulationWriter< ELEMENT_DIM, SPACE_DIM > >  pPopulationWriter)
virtual

A virtual method to accept a cell population writer so it can write data from this object to file.

Parameters
pPopulationWriterthe population writer.

Implements AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >.

Definition at line 596 of file MeshBasedCellPopulation.cpp.

◆ AddCell()

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
CellPtr MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::AddCell ( CellPtr  pNewCell,
CellPtr  pParentCell 
)
virtual

Overridden AddCell() method.

Add a new cell to the cell population and update mIsGhostNode.

Parameters
pNewCellthe cell to add
pParentCellpointer to a parent cell - this is required for mesh-based cell populations
Returns
address of cell as it appears in the cell list (internal of this method uses a copy constructor along the way)

Reimplemented from AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >.

Reimplemented in MeshBasedCellPopulationWithGhostNodes< DIM >.

Definition at line 549 of file MeshBasedCellPopulation.cpp.

Referenced by MeshBasedCellPopulationWithGhostNodes< DIM >::AddCell().

◆ AddNode()

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
unsigned MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::AddNode ( Node< SPACE_DIM > *  pNewNode)
virtual

Overridden AddNode() method.

Add a new node to the cell population.

Parameters
pNewNodepointer to the new node
Returns
global index of new node in cell population

Implements AbstractOffLatticeCellPopulation< ELEMENT_DIM, SPACE_DIM >.

Definition at line 128 of file MeshBasedCellPopulation.cpp.

◆ CalculateRestLengths()

◆ CheckCellPointers()

◆ CreateVoronoiTessellation()

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::CreateVoronoiTessellation ( )

◆ DivideLongSprings()

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::DivideLongSprings ( double  springDivisionThreshold)

Divides springs longer than the given threshold

Parameters
springDivisionThresholda given threshold

Definition at line 461 of file MeshBasedCellPopulation.cpp.

◆ GetAreaBasedDampingConstantParameter()

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
double MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetAreaBasedDampingConstantParameter ( )
Returns
mAreaBasedDampingConstantParameter

Definition at line 1167 of file MeshBasedCellPopulation.cpp.

References MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::mAreaBasedDampingConstantParameter.

◆ GetBoundedVoroniTesselationLengthCutoff()

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
double MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetBoundedVoroniTesselationLengthCutoff ( )
Returns
mScaleBoundByEdgeLength.

Definition at line 872 of file MeshBasedCellPopulation.cpp.

◆ GetBoundVoronoiTessellation()

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
bool MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetBoundVoronoiTessellation ( )
Returns
mBoundVoronoiTessellation.

Definition at line 847 of file MeshBasedCellPopulation.cpp.

◆ GetDampingConstant()

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
double MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetDampingConstant ( unsigned  nodeIndex)
virtual

Overridden GetDampingConstant() method that includes the case of a cell-area-based damping constant.

Parameters
nodeIndexthe global index of this node
Returns
the damping constant for the given Cell.

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 140 of file MeshBasedCellPopulation.cpp.

References AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetDampingConstant().

Referenced by NodeVelocityWriter< ELEMENT_DIM, SPACE_DIM >::Visit().

◆ GetNeighbouringNodeIndices()

◆ GetNode()

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
Node< SPACE_DIM > * MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetNode ( unsigned  index)
virtual

Overridden GetNode() method.

Parameters
indexglobal index of the specified Node
Returns
pointer to the Node with given index.

Implements AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >.

Definition at line 532 of file MeshBasedCellPopulation.cpp.

Referenced by CellPopulationElementWriter< ELEMENT_DIM, SPACE_DIM >::Visit().

◆ GetNumNodes()

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
unsigned MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetNumNodes ( )
virtual

Overridden GetNumNodes() method.

Returns
the number of nodes in the cell population.

Implements AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >.

Definition at line 538 of file MeshBasedCellPopulation.cpp.

Referenced by DiscreteSystemForceCalculator::CalculateExtremalNormalForces(), and CellwiseDataGradient< DIM >::SetupGradients().

◆ GetOffsetNewBoundaryNodes()

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
bool MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetOffsetNewBoundaryNodes ( )
Returns
mOffsetNewBoundaryNodes.

Definition at line 884 of file MeshBasedCellPopulation.cpp.

◆ GetRestLength()

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
double MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetRestLength ( unsigned  indexA,
unsigned  indexB 
)
Returns
the rest length for a given spring
Parameters
indexAindex of first node in pair
indexBindex of second node in pair

Definition at line 1268 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.

◆ GetScaleBoundByEdgeLength()

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
bool MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetScaleBoundByEdgeLength ( )
Returns
mScaleBoundByEdgeLength.

Definition at line 859 of file MeshBasedCellPopulation.cpp.

◆ GetSurfaceAreaOfVoronoiElement()

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
double MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetSurfaceAreaOfVoronoiElement ( unsigned  index)
Returns
the surface area of the element of mpVoronoiTessellation associated with the node with this global index in the Delaunay mesh.

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.

Parameters
indexa node global index

Definition at line 1062 of file MeshBasedCellPopulation.cpp.

References MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::mpVoronoiTessellation.

Referenced by LinearSpringWithVariableSpringConstantsForce< DIM >::VariableSpringConstantMultiplicationFactor().

◆ GetTetrahedralMeshForPdeModifier()

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
TetrahedralMesh< ELEMENT_DIM, SPACE_DIM > * MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetTetrahedralMeshForPdeModifier ( )
virtual

Overridden GetTetrahedralMeshForPdeModifier() method.

Returns
a shared pointer to mpMutableMesh.

This method is called by AbstractGrowingDomainPdeModifier.

Implements AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >.

Reimplemented in MeshBasedCellPopulationWithGhostNodes< DIM >.

Definition at line 224 of file MeshBasedCellPopulation.cpp.

◆ GetVolumeOfCell()

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
double MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetVolumeOfCell ( CellPtr  pCell)
virtual

◆ GetVolumeOfVoronoiElement()

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
double MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetVolumeOfVoronoiElement ( unsigned  index)
Returns
the volume (or area in 2D, or length in 1D) of the element of mpVoronoiTessellation associated with the node with this global index in the Delaunay mesh.

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.

Todo:
This method is somewhat redundant following the introduction of the method GetVolumeOfCell() (see #1985).
Parameters
indexa node global index

Definition at line 1054 of file MeshBasedCellPopulation.cpp.

References MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::mpVoronoiTessellation.

◆ GetVoronoiEdgeLength()

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
double MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetVoronoiEdgeLength ( unsigned  index1,
unsigned  index2 
)
Returns
the length of the edge of mpVoronoiTessellation associated with the two nodes with these global indices in the Delaunay mesh.

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.

Parameters
index1a node global index
index2a node global index

Definition at line 1070 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().

◆ GetVoronoiTessellation()

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
VertexMesh< ELEMENT_DIM, SPACE_DIM > * MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetVoronoiTessellation ( )
Returns
a reference to mpVoronoiTessellation.

Definition at line 1047 of file MeshBasedCellPopulation.cpp.

References MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::mpVoronoiTessellation.

◆ GetWidth()

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
double MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetWidth ( const unsigned rDimension)
virtual

Overridden GetWidth() method.

Calculate the 'width' of any dimension of the cell population by calling GetWidth() on the mesh.

Parameters
rDimensiona dimension (0,1 or 2)
Returns
The maximum distance between any nodes in this dimension.

Implements AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >.

Definition at line 1203 of file MeshBasedCellPopulation.cpp.

References AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mrMesh.

◆ GetWriteVtkAsPoints()

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
bool MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetWriteVtkAsPoints ( )
Returns
mWriteVtkAsPoints.

Definition at line 835 of file MeshBasedCellPopulation.cpp.

◆ OpenWritersFiles()

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::OpenWritersFiles ( OutputFileHandler rOutputFileHandler)
virtual

Overridden OpenWritersFiles() method.

Open all files in mCellPopulationWriters and mCellWriters for writing (not appending).

Parameters
rOutputFileHandlerhandler for the directory in which to open this file.

Reimplemented from AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >.

Reimplemented in MeshBasedCellPopulationWithGhostNodes< DIM >.

Definition at line 571 of file MeshBasedCellPopulation.cpp.

Referenced by MeshBasedCellPopulationWithGhostNodes< DIM >::OpenWritersFiles().

◆ OutputCellPopulationParameters()

◆ RemoveDeadCells()

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
unsigned MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::RemoveDeadCells ( )
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.

Returns
number of cells removed.

Implements AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >.

Definition at line 230 of file MeshBasedCellPopulation.cpp.

◆ rGetMesh() [1/2]

◆ rGetMesh() [2/2]

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
const MutableMesh< ELEMENT_DIM, SPACE_DIM > & MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::rGetMesh ( ) const
Returns
const reference to mrMesh (used in archiving).

Definition at line 218 of file MeshBasedCellPopulation.cpp.

◆ rGetNodePairs()

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
std::vector< std::pair< Node< SPACE_DIM > *, Node< SPACE_DIM > * > > & MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::rGetNodePairs ( )
virtual

Overridden rGetNodePairs method which uses the Delaunay triangulatiuon

Returns
Node pairs for force calculation.

Implements AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >.

Definition at line 1181 of file MeshBasedCellPopulation.cpp.

References MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::mNodePairs, and NEVER_REACHED.

◆ serialize()

◆ SetAreaBasedDampingConstant()

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::SetAreaBasedDampingConstant ( bool  useAreaBasedDampingConstant)

Set method for mUseAreaBasedDampingConstant.

Parameters
useAreaBasedDampingConstantwhether to use a viscosity that is linear in the cell area, rather than constant

Definition at line 114 of file MeshBasedCellPopulation.cpp.

References NEVER_REACHED.

◆ SetAreaBasedDampingConstantParameter()

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::SetAreaBasedDampingConstantParameter ( double  areaBasedDampingConstantParameter)

Set mAreaBasedDampingConstantParameter.

Parameters
areaBasedDampingConstantParameterthe new value of mAreaBasedDampingConstantParameter

Definition at line 1173 of file MeshBasedCellPopulation.cpp.

References MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::mAreaBasedDampingConstantParameter.

◆ SetBoundedVoroniTesselationLengthCutoff()

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::SetBoundedVoroniTesselationLengthCutoff ( double  boundedVoroniTesselationLengthCutoff)

Set mBoundedVoroniTesselationLengthCutoff.

Parameters
boundedVoroniTesselationLengthCutoffwhether to scale the bound with edge lenght in the Voronoi Tesselation.

Definition at line 865 of file MeshBasedCellPopulation.cpp.

◆ SetBoundVoronoiTessellation()

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::SetBoundVoronoiTessellation ( bool  boundVoronoiTessellation)

Set mBoundVoronoiTessellation.

Parameters
boundVoronoiTessellationwhether to bound the Voronoi Tesselation.

Definition at line 841 of file MeshBasedCellPopulation.cpp.

◆ SetNode()

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::SetNode ( unsigned  nodeIndex,
ChastePoint< SPACE_DIM > &  rNewLocation 
)
virtual

Overridden SetNode() method.

Move the node with a given index to a new point in space.

Parameters
nodeIndexthe index of the node to be moved
rNewLocationthe new target location of the node

Implements AbstractOffLatticeCellPopulation< ELEMENT_DIM, SPACE_DIM >.

Definition at line 134 of file MeshBasedCellPopulation.cpp.

References MutableMesh< ELEMENT_DIM, SPACE_DIM >::SetNode().

◆ SetOffsetNewBoundaryNodes()

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::SetOffsetNewBoundaryNodes ( bool  offsetNewBoundaryNodes)

Set mOffsetNewBoundaryNodes.

Parameters
offsetNewBoundaryNodeswhether to add new nodes towards the centre of the boundary edges for the bounded voronoi tesselation.

Definition at line 878 of file MeshBasedCellPopulation.cpp.

◆ SetRestLength()

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::SetRestLength ( unsigned  indexA,
unsigned  indexB,
double  restLength 
)

Helper method to modify the rest length of a given spring

Parameters
indexAindex of first node in pair
indexBindex of second node in pair
restLengththe new rest length

Definition at line 1292 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.

◆ SetScaleBoundByEdgeLength()

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::SetScaleBoundByEdgeLength ( bool  scaleBoundByEdgeLength)

Set mScaleBoundByEdgeLength.

Parameters
scaleBoundByEdgeLengthwhether to scale the bound with edge lenght in the Voronoi Tesselation.

Definition at line 853 of file MeshBasedCellPopulation.cpp.

◆ SetWriteVtkAsPoints()

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::SetWriteVtkAsPoints ( bool  writeVtkAsPoints)

Set mWriteVtkAsPoints.

Parameters
writeVtkAsPointswhether to write cells as points in VTK

Definition at line 829 of file MeshBasedCellPopulation.cpp.

◆ SpringsBegin()

◆ SpringsEnd()

◆ TessellateIfNeeded()

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
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 444 of file MeshBasedCellPopulation.cpp.

References GenericEventHandler< 11, CellBasedEventHandler >::BeginEvent().

◆ Update()

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::Update ( bool  hasHadBirthsOrDeaths = true)
virtual

Overridden Update(bool hasHadBirthsOrDeaths) method. Fixes up the mappings between cells and nodes.

Parameters
hasHadBirthsOrDeaths- a bool saying whether cell population has had Births Or Deaths not needed in this cell population class
Todo:
check if there is a more efficient way of keeping track of node velocity information (#2404)

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.

Todo:
There may be a better way of checking if node radii are set (#2694)

Implements AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >.

Definition at line 289 of file MeshBasedCellPopulation.cpp.

Referenced by CellPopulationAdjacencyMatrixWriter< ELEMENT_DIM, SPACE_DIM >::Visit().

◆ UpdateGhostNodesAfterReMesh()

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::UpdateGhostNodesAfterReMesh ( NodeMap rMap)
protectedvirtual

Update mIsGhostNode if required by a remesh.

Parameters
rMapA map between node indices before and after remesh

Reimplemented in MeshBasedCellPopulationWithGhostNodes< DIM >.

Definition at line 544 of file MeshBasedCellPopulation.cpp.

◆ UseAreaBasedDampingConstant()

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
bool MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::UseAreaBasedDampingConstant ( )
Returns
mUseAreaBasedDampingConstant.

Definition at line 108 of file MeshBasedCellPopulation.cpp.

◆ Validate()

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::Validate ( )
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 192 of file MeshBasedCellPopulation.cpp.

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

◆ WriteDataToVisualizerSetupFile()

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::WriteDataToVisualizerSetupFile ( out_stream &  pVizSetupFile)
virtual

Overridden WriteDataToVisualizerSetupFile() method. Write any data necessary to a visualization setup file. Used by AbstractCellBasedSimulation::WriteVisualizerSetupFile().

Parameters
pVizSetupFilea visualization setup file

Reimplemented from AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >.

Definition at line 892 of file MeshBasedCellPopulation.cpp.

◆ WriteResultsToFiles()

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::WriteResultsToFiles ( const std::string &  rDirectory)
virtual

Overridden WriteResultsToFiles() method.

Parameters
rDirectorypathname of the output directory, relative to where Chaste output is stored

Reimplemented from AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >.

Definition at line 585 of file MeshBasedCellPopulation.cpp.

◆ WriteVtkResultsToFile()

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::WriteVtkResultsToFile ( const std::string &  rDirectory)
virtual

Overridden WriteVtkResultsToFile() method.

Parameters
rDirectorypathname of the output directory, relative to where Chaste output is stored

Implements AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >.

Reimplemented in MeshBasedCellPopulationWithGhostNodes< DIM >.

Definition at line 620 of file MeshBasedCellPopulation.cpp.

Friends And Related Symbol Documentation

◆ boost::serialization::access

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

Needed for serialization.

Definition at line 69 of file MeshBasedCellPopulation.hpp.

◆ TestMeshBasedCellPopulation

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
friend class TestMeshBasedCellPopulation
friend

Definition at line 66 of file MeshBasedCellPopulation.hpp.

Member Data Documentation

◆ mAreaBasedDampingConstantParameter

◆ mBoundedVoroniTesselationLengthCutoff

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
double MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::mBoundedVoroniTesselationLengthCutoff
protected

Edges longer than this are ignored in boundary calculation for the bounded voronio tesselation.

Definition at line 153 of file MeshBasedCellPopulation.hpp.

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

◆ mBoundVoronoiTessellation

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
bool MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::mBoundVoronoiTessellation
protected

Whether to bound the voronoi tesselation to avoid infinite cells on boundary.

Definition at line 147 of file MeshBasedCellPopulation.hpp.

Referenced by MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::OutputCellPopulationParameters(), and MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::serialize().

◆ mDeleteMesh

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
bool MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::mDeleteMesh
protected

Whether to delete the mesh when we are destroyed. Needed if this cell population has been de-serialized.

Definition at line 130 of file MeshBasedCellPopulation.hpp.

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

◆ mHasVariableRestLength

◆ mNodePairs

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
std::vector< std::pair<Node<SPACE_DIM>*, Node<SPACE_DIM>* > > MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::mNodePairs
protected

Node pairs for force calculations.

Definition at line 162 of file MeshBasedCellPopulation.hpp.

Referenced by MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::rGetNodePairs().

◆ mOffsetNewBoundaryNodes

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
bool MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::mOffsetNewBoundaryNodes
protected

whether to add new nodes towards the centre of the boundary edges for the bounded voronoi tesselation.

Definition at line 156 of file MeshBasedCellPopulation.hpp.

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

◆ mpMutableMesh

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
MutableMesh<ELEMENT_DIM, SPACE_DIM>* MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::mpMutableMesh
protected

◆ mpVoronoiTessellation

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
VertexMesh<ELEMENT_DIM, SPACE_DIM>* MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::mpVoronoiTessellation
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 121 of file MeshBasedCellPopulation.hpp.

Referenced by MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::MeshBasedCellPopulation(), MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetSurfaceAreaOfVoronoiElement(), MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetVolumeOfVoronoiElement(), MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetVoronoiEdgeLength(), MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetVoronoiTessellation(), and MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::serialize().

◆ mScaleBoundByEdgeLength

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
bool MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::mScaleBoundByEdgeLength
protected

Whether to scale the bound by edge lenght when using the bounded voronoi tesselation.

Definition at line 150 of file MeshBasedCellPopulation.hpp.

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

◆ mSpringRestLengths

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
std::map<std::pair<unsigned,unsigned>, double> MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::mSpringRestLengths
protected

◆ mUseAreaBasedDampingConstant

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
bool MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::mUseAreaBasedDampingConstant
protected

Whether to use a viscosity that is linear in the cell area, rather than constant.

Definition at line 138 of file MeshBasedCellPopulation.hpp.

Referenced by MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::OutputCellPopulationParameters(), and MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::serialize().

◆ mWriteVtkAsPoints

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
bool MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::mWriteVtkAsPoints
protected

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