MeshBasedCellPopulation< DIM > Class Template Reference

#include <MeshBasedCellPopulation.hpp>

Inheritance diagram for MeshBasedCellPopulation< DIM >:

Inheritance graph
[legend]
Collaboration diagram for MeshBasedCellPopulation< DIM >:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 MeshBasedCellPopulation (MutableMesh< DIM, DIM > &rMesh, std::vector< CellPtr > &rCells, const std::vector< unsigned > locationIndices=std::vector< unsigned >(), bool deleteMesh=false, bool validate=true)
 MeshBasedCellPopulation (MutableMesh< DIM, DIM > &rMesh)
 ~MeshBasedCellPopulation ()
MutableMesh< DIM, DIM > & rGetMesh ()
const MutableMesh< DIM, DIM > & rGetMesh () const
bool UseAreaBasedDampingConstant ()
void SetOutputVoronoiData (bool outputVoronoiData)
unsigned AddNode (Node< DIM > *pNewNode)
void SetNode (unsigned nodeIndex, ChastePoint< DIM > &rNewLocation)
double GetDampingConstant (unsigned nodeIndex)
void SetAreaBasedDampingConstant (bool useAreaBasedDampingConstant)
virtual unsigned RemoveDeadCells ()
virtual CellPtr AddCell (CellPtr pNewCell, const c_vector< double, DIM > &rCellDivisionVector, CellPtr pParentCell)
void CreateOutputFiles (const std::string &rDirectory, bool cleanOutputDirectory)
void CloseOutputFiles ()
void WriteResultsToFiles ()
virtual void Update (bool hasHadBirthsOrDeaths=true)
Node< DIM > * GetNode (unsigned index)
unsigned GetNumNodes ()
virtual void WriteVtkResultsToFile ()
void WriteVoronoiResultsToFile ()
void WriteCellPopulationVolumeResultsToFile ()
void WriteCellVolumeResultsToFile ()
void CreateVoronoiTessellation ()
VertexMesh< DIM, DIM > * GetVoronoiTessellation ()
double GetVolumeOfVoronoiElement (unsigned index)
double GetSurfaceAreaOfVoronoiElement (unsigned index)
double GetVoronoiEdgeLength (unsigned index1, unsigned index2)
double GetWidth (const unsigned &rDimension)
SpringIterator SpringsBegin ()
SpringIterator SpringsEnd ()
void CheckCellPointers ()
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)
double GetAreaBasedDampingConstantParameter ()
void SetAreaBasedDampingConstantParameter (double areaBasedDampingConstantParameter)
bool GetOutputVoronoiData ()
bool GetOutputCellPopulationVolumes ()
void SetOutputCellPopulationVolumes (bool outputCellPopulationVolumes)
void OutputCellPopulationParameters (out_stream &rParamsFile)
void SetWriteVtkAsPoints (bool writeVtkAsPoints)
bool GetWriteVtkAsPoints ()
template<>
void CreateVoronoiTessellation ()

Protected Member Functions

virtual void UpdateGhostNodesAfterReMesh (NodeMap &rMap)
virtual void Validate ()

Protected Attributes

MutableMesh< DIM, DIM > & mrMesh
VertexMesh< DIM, DIM > * mpVoronoiTessellation
bool mDeleteMesh
std::set< std::pair< CellPtr,
CellPtr > > 
mMarkedSprings
out_stream mpVizElementsFile
out_stream mpVoronoiFile
out_stream mpCellPopulationVolumesFile
out_stream mpCellVolumesFile
bool mUseAreaBasedDampingConstant
double mAreaBasedDampingConstantParameter
bool mOutputVoronoiData
bool mOutputCellPopulationVolumes
bool mWriteVtkAsPoints

Private Member Functions

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

Friends

class TestMeshBasedCellPopulation
class boost::serialization::access

Classes

class  SpringIterator


Detailed Description

template<unsigned DIM>
class MeshBasedCellPopulation< 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.

Definition at line 53 of file MeshBasedCellPopulation.hpp.


Constructor & Destructor Documentation

template<unsigned DIM>
MeshBasedCellPopulation< DIM >::MeshBasedCellPopulation ( MutableMesh< DIM, DIM > &  rMesh,
std::vector< CellPtr > &  rCells,
const std::vector< unsigned >  locationIndices = std::vector<unsigned>(),
bool  deleteMesh = false,
bool  validate = true 
) [inline]

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

References MutableMesh< ELEMENT_DIM, SPACE_DIM >::GetNumNodes(), AbstractCellPopulation< DIM >::mCellPopulationContainsMesh, AbstractCellPopulation< DIM >::mCells, MeshBasedCellPopulation< DIM >::mrMesh, and MeshBasedCellPopulation< DIM >::Validate().

template<unsigned DIM>
MeshBasedCellPopulation< DIM >::MeshBasedCellPopulation ( MutableMesh< DIM, DIM > &  rMesh  )  [inline]

Constructor for use by the de-serializer.

Parameters:
rMesh a mutable tetrahedral mesh.

Definition at line 65 of file MeshBasedCellPopulation.cpp.

References AbstractCellPopulation< DIM >::mCellPopulationContainsMesh, MeshBasedCellPopulation< DIM >::mDeleteMesh, and MeshBasedCellPopulation< DIM >::mpVoronoiTessellation.

template<unsigned DIM>
MeshBasedCellPopulation< DIM >::~MeshBasedCellPopulation (  )  [inline]


Member Function Documentation

template<unsigned DIM>
template<class Archive>
void MeshBasedCellPopulation< DIM >::serialize ( Archive &  archive,
const unsigned int  version 
) [inline, private]

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.

Parameters:
archive the archive
version the current version of this class

Reimplemented from AbstractCentreBasedCellPopulation< DIM >.

Reimplemented in MeshBasedCellPopulationWithGhostNodes< DIM >, and MeshBasedCellPopulationWithGhostNodes< 2 >.

Definition at line 71 of file MeshBasedCellPopulation.hpp.

template<unsigned DIM>
void MeshBasedCellPopulation< DIM >::UpdateGhostNodesAfterReMesh ( NodeMap rMap  )  [inline, protected, virtual]

Update mIsGhostNode if required by a remesh.

Parameters:
rMap A map between node indices before and after remesh

Reimplemented in MeshBasedCellPopulationWithGhostNodes< DIM >, and MeshBasedCellPopulationWithGhostNodes< 2 >.

Definition at line 346 of file MeshBasedCellPopulation.cpp.

Referenced by MeshBasedCellPopulation< DIM >::Update().

template<unsigned DIM>
void MeshBasedCellPopulation< DIM >::Validate (  )  [inline, protected, virtual]

template<unsigned DIM>
MutableMesh< DIM, DIM > & MeshBasedCellPopulation< DIM >::rGetMesh (  )  [inline]

template<unsigned DIM>
const MutableMesh< DIM, DIM > & MeshBasedCellPopulation< DIM >::rGetMesh (  )  const [inline]

Returns:
const reference to mrMesh (used in archiving).

Definition at line 181 of file MeshBasedCellPopulation.cpp.

References MeshBasedCellPopulation< DIM >::mrMesh.

template<unsigned DIM>
bool MeshBasedCellPopulation< DIM >::UseAreaBasedDampingConstant (  )  [inline]

Returns:
mUseAreaBasedDampingConstant.

Definition at line 85 of file MeshBasedCellPopulation.cpp.

References MeshBasedCellPopulation< DIM >::mUseAreaBasedDampingConstant.

template<unsigned DIM>
void MeshBasedCellPopulation< DIM >::SetOutputVoronoiData ( bool  outputVoronoiData  )  [inline]

Set method for mOutputVoronoiData.

Parameters:
outputVoronoiData whether to output cell area and perimeter information

Definition at line 1149 of file MeshBasedCellPopulation.cpp.

References MeshBasedCellPopulation< DIM >::mOutputVoronoiData.

template<unsigned DIM>
unsigned MeshBasedCellPopulation< DIM >::AddNode ( Node< DIM > *  pNewNode  )  [inline, virtual]

Overridden AddNode() method.

Add a new node to the cell population.

Parameters:
pNewNode pointer to the new node
Returns:
global index of new node in cell population

Implements AbstractCellPopulation< DIM >.

Definition at line 98 of file MeshBasedCellPopulation.cpp.

References MutableMesh< ELEMENT_DIM, SPACE_DIM >::AddNode(), and MeshBasedCellPopulation< DIM >::mrMesh.

template<unsigned DIM>
void MeshBasedCellPopulation< DIM >::SetNode ( unsigned  nodeIndex,
ChastePoint< DIM > &  rNewLocation 
) [inline, virtual]

Overridden SetNode() method.

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

Parameters:
nodeIndex the index of the node to be moved
rNewLocation the new target location of the node

Implements AbstractCellPopulation< DIM >.

Definition at line 104 of file MeshBasedCellPopulation.cpp.

References MeshBasedCellPopulation< DIM >::mrMesh, and MutableMesh< ELEMENT_DIM, SPACE_DIM >::SetNode().

template<unsigned DIM>
double MeshBasedCellPopulation< DIM >::GetDampingConstant ( unsigned  nodeIndex  )  [inline, virtual]

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

Parameters:
nodeIndex the 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)/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< DIM >.

Definition at line 110 of file MeshBasedCellPopulation.cpp.

References AbstractCentreBasedCellPopulation< DIM >::GetDampingConstant(), MeshBasedCellPopulation< DIM >::GetVolumeOfVoronoiElement(), MeshBasedCellPopulation< DIM >::mAreaBasedDampingConstantParameter, and MeshBasedCellPopulation< DIM >::mUseAreaBasedDampingConstant.

template<unsigned DIM>
void MeshBasedCellPopulation< DIM >::SetAreaBasedDampingConstant ( bool  useAreaBasedDampingConstant  )  [inline]

Set method for mUseAreaBasedDampingConstant.

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

Definition at line 91 of file MeshBasedCellPopulation.cpp.

References MeshBasedCellPopulation< DIM >::mUseAreaBasedDampingConstant.

template<unsigned DIM>
unsigned MeshBasedCellPopulation< DIM >::RemoveDeadCells (  )  [inline, 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< DIM >.

Definition at line 187 of file MeshBasedCellPopulation.cpp.

References MutableMesh< ELEMENT_DIM, SPACE_DIM >::DeleteNodePriorToReMesh(), AbstractCellPopulation< DIM >::mCellLocationMap, AbstractCellPopulation< DIM >::mCells, AbstractCellPopulation< DIM >::mLocationCellMap, MeshBasedCellPopulation< DIM >::mMarkedSprings, and MeshBasedCellPopulation< DIM >::mrMesh.

template<unsigned DIM>
CellPtr MeshBasedCellPopulation< DIM >::AddCell ( CellPtr  pNewCell,
const c_vector< double, DIM > &  rCellDivisionVector,
CellPtr  pParentCell 
) [inline, virtual]

Overridden AddCell() method.

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

Parameters:
pNewCell the cell to add
rCellDivisionVector the position in space at which to put it
pParentCell pointer 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< DIM >.

Reimplemented in MeshBasedCellPopulationWithGhostNodes< DIM >, and MeshBasedCellPopulationWithGhostNodes< 2 >.

Definition at line 351 of file MeshBasedCellPopulation.cpp.

References AbstractCentreBasedCellPopulation< DIM >::AddCell(), MeshBasedCellPopulation< DIM >::CreateCellPair(), and MeshBasedCellPopulation< DIM >::MarkSpring().

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

template<unsigned DIM>
void MeshBasedCellPopulation< DIM >::CreateOutputFiles ( const std::string &  rDirectory,
bool  cleanOutputDirectory 
) [inline, virtual]

template<unsigned DIM>
void MeshBasedCellPopulation< DIM >::CloseOutputFiles (  )  [inline, virtual]

template<unsigned DIM>
void MeshBasedCellPopulation< DIM >::WriteResultsToFiles (  )  [inline, virtual]

template<unsigned DIM>
void MeshBasedCellPopulation< DIM >::Update ( bool  hasHadBirthsOrDeaths = true  )  [inline, virtual]

template<unsigned DIM>
Node< DIM > * MeshBasedCellPopulation< DIM >::GetNode ( unsigned  index  )  [inline, virtual]

template<unsigned DIM>
unsigned MeshBasedCellPopulation< DIM >::GetNumNodes (  )  [inline, virtual]

template<unsigned DIM>
void MeshBasedCellPopulation< DIM >::WriteVtkResultsToFile (  )  [inline, virtual]

Overridden WriteVtkResultsToFile() method.

Implements AbstractCentreBasedCellPopulation< DIM >.

Reimplemented in MeshBasedCellPopulationWithGhostNodes< DIM >, and MeshBasedCellPopulationWithGhostNodes< 2 >.

Definition at line 476 of file MeshBasedCellPopulation.cpp.

References VertexMeshWriter< ELEMENT_DIM, SPACE_DIM >::AddCellData(), AbstractCellPopulation< DIM >::Begin(), TetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructNodesWithoutMesh(), AbstractCellPopulation< DIM >::End(), AbstractCellCycleModel::GetCellProliferativeType(), AbstractCellCycleModel::GetCurrentCellCyclePhase(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetDelaunayNodeIndexCorrespondingToVoronoiElementIndex(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetElementIteratorBegin(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetElementIteratorEnd(), AbstractCellPopulation< DIM >::GetLocationIndexUsingCell(), AbstractMesh< ELEMENT_DIM, SPACE_DIM >::GetNode(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetNumElements(), MutableMesh< ELEMENT_DIM, SPACE_DIM >::GetNumNodes(), MeshBasedCellPopulation< DIM >::GetNumNodes(), CellwiseData< DIM >::GetNumVariables(), SimulationTime::GetTimeStepsElapsed(), CellwiseData< DIM >::GetValue(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetVolumeOfElement(), CellwiseData< DIM >::Instance(), SimulationTime::Instance(), AbstractCentreBasedCellPopulation< DIM >::IsGhostNode(), AbstractCellPopulation< DIM >::mDirPath, AbstractCellPopulation< DIM >::mLocationCellMap, AbstractCellPopulation< DIM >::mOutputCellAges, AbstractCellPopulation< DIM >::mOutputCellAncestors, AbstractCellPopulation< DIM >::mOutputCellCyclePhases, AbstractCellPopulation< DIM >::mOutputCellMutationStates, AbstractCellPopulation< DIM >::mOutputCellProliferativeTypes, AbstractCellPopulation< DIM >::mOutputCellVolumes, MeshBasedCellPopulation< DIM >::mpVoronoiTessellation, AbstractCellPopulation< DIM >::mpVtkMetaFile, MeshBasedCellPopulation< DIM >::mrMesh, MeshBasedCellPopulation< DIM >::mWriteVtkAsPoints, UNSIGNED_UNSET, and VertexMeshWriter< ELEMENT_DIM, SPACE_DIM >::WriteVtkUsingMesh().

template<unsigned DIM>
void MeshBasedCellPopulation< DIM >::WriteVoronoiResultsToFile (  )  [inline]

template<unsigned DIM>
void MeshBasedCellPopulation< DIM >::WriteCellPopulationVolumeResultsToFile (  )  [inline]

template<unsigned DIM>
void MeshBasedCellPopulation< DIM >::WriteCellVolumeResultsToFile (  )  [inline]

template<unsigned DIM>
void MeshBasedCellPopulation< DIM >::CreateVoronoiTessellation (  ) 

Create a Voronoi tessellation of the mesh.

Referenced by MeshBasedCellPopulation< DIM >::Update().

template<unsigned DIM>
VertexMesh< DIM, DIM > * MeshBasedCellPopulation< DIM >::GetVoronoiTessellation (  )  [inline]

Get a reference to mpVoronoiTessellation.

Definition at line 971 of file MeshBasedCellPopulation.cpp.

References MeshBasedCellPopulation< DIM >::mpVoronoiTessellation.

template<unsigned DIM>
double MeshBasedCellPopulation< DIM >::GetVolumeOfVoronoiElement ( unsigned  index  )  [inline]

Get 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.

Parameters:
index a node global index

Definition at line 978 of file MeshBasedCellPopulation.cpp.

References VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetVolumeOfElement(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetVoronoiElementIndexCorrespondingToDelaunayNodeIndex(), and MeshBasedCellPopulation< DIM >::mpVoronoiTessellation.

Referenced by MeshBasedCellPopulation< DIM >::GetDampingConstant().

template<unsigned DIM>
double MeshBasedCellPopulation< DIM >::GetSurfaceAreaOfVoronoiElement ( unsigned  index  )  [inline]

Get 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:
index a node global index

Definition at line 986 of file MeshBasedCellPopulation.cpp.

References VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetSurfaceAreaOfElement(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetVoronoiElementIndexCorrespondingToDelaunayNodeIndex(), and MeshBasedCellPopulation< DIM >::mpVoronoiTessellation.

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

template<unsigned DIM>
double MeshBasedCellPopulation< DIM >::GetVoronoiEdgeLength ( unsigned  index1,
unsigned  index2 
) [inline]

Get 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:
index1 a node global index
index2 a node global index

Definition at line 994 of file MeshBasedCellPopulation.cpp.

References VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetEdgeLength(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetVoronoiElementIndexCorrespondingToDelaunayNodeIndex(), and MeshBasedCellPopulation< DIM >::mpVoronoiTessellation.

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

template<unsigned DIM>
double MeshBasedCellPopulation< DIM >::GetWidth ( const unsigned &  rDimension  )  [inline, virtual]

Overridden GetWidth() method.

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

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

Implements AbstractCellPopulation< DIM >.

Definition at line 1179 of file MeshBasedCellPopulation.cpp.

References AbstractMesh< ELEMENT_DIM, SPACE_DIM >::GetWidth(), and MeshBasedCellPopulation< DIM >::mrMesh.

template<unsigned DIM>
MeshBasedCellPopulation< DIM >::SpringIterator MeshBasedCellPopulation< DIM >::SpringsBegin (  )  [inline]

template<unsigned DIM>
MeshBasedCellPopulation< DIM >::SpringIterator MeshBasedCellPopulation< DIM >::SpringsEnd (  )  [inline]

template<unsigned DIM>
void MeshBasedCellPopulation< DIM >::CheckCellPointers (  )  [inline]

template<unsigned DIM>
std::pair< CellPtr, CellPtr > MeshBasedCellPopulation< DIM >::CreateCellPair ( CellPtr  pCell1,
CellPtr  pCell2 
) [inline]

Helper method that returns a set of pointers to two given Cells. Used by the spring marking routines. Elements in the returned pair are ordered by cell ID number - the cell in the pair will have a smaller ID.

Parameters:
pCell1 a Cell
pCell2 a Cell

Definition at line 1082 of file MeshBasedCellPopulation.cpp.

Referenced by MeshBasedCellPopulation< DIM >::AddCell(), CryptProjectionForce::CalculateForceBetweenNodes(), and GeneralisedLinearSpringForce< DIM >::CalculateForceBetweenNodes().

template<unsigned DIM>
bool MeshBasedCellPopulation< DIM >::IsMarkedSpring ( const std::pair< CellPtr, CellPtr > &  rCellPair  )  [inline]

Parameters:
rCellPair a set of pointers to Cells
Returns:
whether the spring between two given cells is marked.

Definition at line 1103 of file MeshBasedCellPopulation.cpp.

References MeshBasedCellPopulation< DIM >::mMarkedSprings.

Referenced by CryptProjectionForce::CalculateForceBetweenNodes(), and GeneralisedLinearSpringForce< DIM >::CalculateForceBetweenNodes().

template<unsigned DIM>
void MeshBasedCellPopulation< DIM >::MarkSpring ( std::pair< CellPtr, CellPtr > &  rCellPair  )  [inline]

Mark the spring between the given cells.

Parameters:
rCellPair a set of pointers to Cells

Definition at line 1112 of file MeshBasedCellPopulation.cpp.

References MeshBasedCellPopulation< DIM >::mMarkedSprings.

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

template<unsigned DIM>
void MeshBasedCellPopulation< DIM >::UnmarkSpring ( std::pair< CellPtr, CellPtr > &  rCellPair  )  [inline]

Stop marking the spring between the given cells.

Parameters:
rCellPair a set of pointers to Cells

Definition at line 1121 of file MeshBasedCellPopulation.cpp.

References MeshBasedCellPopulation< DIM >::mMarkedSprings.

Referenced by CryptProjectionForce::CalculateForceBetweenNodes(), and GeneralisedLinearSpringForce< DIM >::CalculateForceBetweenNodes().

template<unsigned DIM>
double MeshBasedCellPopulation< DIM >::GetAreaBasedDampingConstantParameter (  )  [inline]

Returns:
mAreaBasedDampingConstantParameter

Definition at line 1130 of file MeshBasedCellPopulation.cpp.

References MeshBasedCellPopulation< DIM >::mAreaBasedDampingConstantParameter.

template<unsigned DIM>
void MeshBasedCellPopulation< DIM >::SetAreaBasedDampingConstantParameter ( double  areaBasedDampingConstantParameter  )  [inline]

Set mAreaBasedDampingConstantParameter.

Parameters:
areaBasedDampingConstantParameter the new value of mAreaBasedDampingConstantParameter

Definition at line 1136 of file MeshBasedCellPopulation.cpp.

References MeshBasedCellPopulation< DIM >::mAreaBasedDampingConstantParameter.

template<unsigned DIM>
bool MeshBasedCellPopulation< DIM >::GetOutputVoronoiData (  )  [inline]

Returns:
mOutputVoronoiData

Definition at line 1143 of file MeshBasedCellPopulation.cpp.

References MeshBasedCellPopulation< DIM >::mOutputVoronoiData.

template<unsigned DIM>
bool MeshBasedCellPopulation< DIM >::GetOutputCellPopulationVolumes (  )  [inline]

Returns:
mOutputCellPopulationVolumes

Definition at line 1155 of file MeshBasedCellPopulation.cpp.

References MeshBasedCellPopulation< DIM >::mOutputCellPopulationVolumes.

template<unsigned DIM>
void MeshBasedCellPopulation< DIM >::SetOutputCellPopulationVolumes ( bool  outputCellPopulationVolumes  )  [inline]

Set mOutputCellPopulationVolumes.

Parameters:
outputCellPopulationVolumes the new value of mOutputCellPopulationVolumes

Definition at line 1161 of file MeshBasedCellPopulation.cpp.

References MeshBasedCellPopulation< DIM >::mOutputCellPopulationVolumes.

template<unsigned DIM>
void MeshBasedCellPopulation< DIM >::OutputCellPopulationParameters ( out_stream &  rParamsFile  )  [inline, virtual]

template<unsigned DIM>
void MeshBasedCellPopulation< DIM >::SetWriteVtkAsPoints ( bool  writeVtkAsPoints  )  [inline]

Set mWriteVtkAsPoints.

Parameters:
writeVtkAsPoints whether to write cells as points in VTK

Definition at line 830 of file MeshBasedCellPopulation.cpp.

References MeshBasedCellPopulation< DIM >::mWriteVtkAsPoints.

template<unsigned DIM>
bool MeshBasedCellPopulation< DIM >::GetWriteVtkAsPoints (  )  [inline]

Returns:
mWriteVtkAsPoints.

Definition at line 836 of file MeshBasedCellPopulation.cpp.

References MeshBasedCellPopulation< DIM >::mWriteVtkAsPoints.

template<>
void MeshBasedCellPopulation< 3 >::CreateVoronoiTessellation (  )  [inline]

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 /todo #1374.

Definition at line 953 of file MeshBasedCellPopulation.cpp.

References MeshBasedCellPopulation< DIM >::mpVoronoiTessellation, and MeshBasedCellPopulation< DIM >::mrMesh.


Friends And Related Function Documentation

template<unsigned DIM>
friend class boost::serialization::access [friend]


Member Data Documentation

template<unsigned DIM>
MutableMesh<DIM, DIM>& MeshBasedCellPopulation< DIM >::mrMesh [protected]

template<unsigned DIM>
VertexMesh<DIM, DIM>* MeshBasedCellPopulation< 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.

Todo:
Make this static/const? (#1075)

Definition at line 112 of file MeshBasedCellPopulation.hpp.

Referenced by MeshBasedCellPopulation< DIM >::CreateVoronoiTessellation(), MeshBasedCellPopulation< 2 >::CreateVoronoiTessellation(), MeshBasedCellPopulation< DIM >::GetSurfaceAreaOfVoronoiElement(), MeshBasedCellPopulation< DIM >::GetVolumeOfVoronoiElement(), MeshBasedCellPopulation< DIM >::GetVoronoiEdgeLength(), MeshBasedCellPopulation< DIM >::GetVoronoiTessellation(), MeshBasedCellPopulation< DIM >::MeshBasedCellPopulation(), MeshBasedCellPopulation< 2 >::serialize(), MeshBasedCellPopulation< DIM >::WriteCellPopulationVolumeResultsToFile(), MeshBasedCellPopulation< DIM >::WriteCellVolumeResultsToFile(), MeshBasedCellPopulation< DIM >::WriteResultsToFiles(), MeshBasedCellPopulation< DIM >::WriteVoronoiResultsToFile(), MeshBasedCellPopulationWithGhostNodes< DIM >::WriteVtkResultsToFile(), MeshBasedCellPopulation< DIM >::WriteVtkResultsToFile(), and MeshBasedCellPopulation< DIM >::~MeshBasedCellPopulation().

template<unsigned DIM>
bool MeshBasedCellPopulation< DIM >::mDeleteMesh [protected]

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

Definition at line 118 of file MeshBasedCellPopulation.hpp.

Referenced by MeshBasedCellPopulation< DIM >::MeshBasedCellPopulation(), and MeshBasedCellPopulation< DIM >::~MeshBasedCellPopulation().

template<unsigned DIM>
std::set<std::pair<CellPtr,CellPtr> > MeshBasedCellPopulation< DIM >::mMarkedSprings [protected]

Special springs that we want to keep track of for some reason. Currently used to track cells in the process of dividing (which are represented as two cells joined by a shorter spring).

Definition at line 125 of file MeshBasedCellPopulation.hpp.

Referenced by MeshBasedCellPopulation< DIM >::CheckCellPointers(), MeshBasedCellPopulation< DIM >::IsMarkedSpring(), MeshBasedCellPopulation< DIM >::MarkSpring(), MeshBasedCellPopulation< DIM >::RemoveDeadCells(), MeshBasedCellPopulation< 2 >::serialize(), MeshBasedCellPopulation< DIM >::UnmarkSpring(), and MeshBasedCellPopulation< DIM >::Update().

template<unsigned DIM>
out_stream MeshBasedCellPopulation< DIM >::mpVizElementsFile [protected]

template<unsigned DIM>
out_stream MeshBasedCellPopulation< DIM >::mpVoronoiFile [protected]

template<unsigned DIM>
out_stream MeshBasedCellPopulation< DIM >::mpCellPopulationVolumesFile [protected]

template<unsigned DIM>
out_stream MeshBasedCellPopulation< DIM >::mpCellVolumesFile [protected]

template<unsigned DIM>
bool MeshBasedCellPopulation< DIM >::mUseAreaBasedDampingConstant [protected]

template<unsigned DIM>
double MeshBasedCellPopulation< DIM >::mAreaBasedDampingConstantParameter [protected]

template<unsigned DIM>
bool MeshBasedCellPopulation< DIM >::mOutputVoronoiData [protected]

template<unsigned DIM>
bool MeshBasedCellPopulation< DIM >::mOutputCellPopulationVolumes [protected]

template<unsigned DIM>
bool MeshBasedCellPopulation< DIM >::mWriteVtkAsPoints [protected]


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

Generated on Mon Apr 18 11:37:25 2011 for Chaste by  doxygen 1.5.5