CaBasedCellPopulation< DIM > Class Template Reference

#include <CaBasedCellPopulation.hpp>

Inherits AbstractOnLatticeCellPopulation< DIM >.

Collaboration diagram for CaBasedCellPopulation< DIM >:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 CaBasedCellPopulation (TetrahedralMesh< DIM, DIM > &rMesh, std::vector< CellPtr > &rCells, const std::vector< unsigned > locationIndices=std::vector< unsigned >(), bool deleteMesh=false, bool validate=true)
 CaBasedCellPopulation (TetrahedralMesh< DIM, DIM > &rMesh)
 ~CaBasedCellPopulation ()
TetrahedralMesh< DIM, DIM > & rGetMesh ()
const TetrahedralMesh< DIM, DIM > & rGetMesh () const
void UpdateCellLocations (double dt)
void SetOnlyUseNearestNeighboursForDivision (bool onlyUseNearestNeighboursForDivision)
bool GetOnlyUseNearestNeighboursForDivision ()
void AddUpdateRule (boost::shared_ptr< AbstractCaUpdateRule< DIM > > pUpdateRule)
const std::vector
< boost::shared_ptr
< AbstractCaUpdateRule< DIM > > > & 
rGetUpdateRuleCollection () const
void SetUseVonNeumannNeighbourhoods (bool useVonNeumannNeighbourhoods)
bool GetUseVonNeumannNeighbourhoods ()
std::vector< bool > & rGetEmptySites ()
bool IsEmptySite (unsigned index)
std::set< unsignedGetEmptySiteIndices ()
unsigned GetNumNodes ()
virtual Node< DIM > * GetNode (unsigned index)
virtual CellPtr AddCell (CellPtr pNewCell, const c_vector< double, DIM > &rCellDivisionVector, CellPtr pParentCell=CellPtr())
std::vector< unsignedGetNeighbouringNodeIndicesVector (unsigned nodeIndex)
std::set< unsignedGetFreeNeighbouringNodeIndices (unsigned nodeIndex)
std::vector< unsignedGetMaximumDegreeInEachDirection (unsigned nodeIndex)
std::set< unsignedGetNthDegreeNeighbouringNodeIndices (unsigned nodeIndex, unsigned degree)
unsigned RemoveDeadCells ()
void Update (bool hasHadBirthsOrDeaths=true)
void WriteCellVolumeResultsToFile ()
void GenerateCellResults (unsigned locationIndex, std::vector< unsigned > &rCellProliferativeTypeCounter, std::vector< unsigned > &rCellCyclePhaseCounter)
virtual void GenerateCellResultsAndWriteToFiles ()
bool IsCellAssociatedWithADeletedLocation (CellPtr pCell)
void MoveCell (CellPtr pCell, unsigned newLocationIndex)
c_vector< double, DIM > GetLocationOfCellCentre (CellPtr pCell)
void OutputCellPopulationParameters (out_stream &rParamsFile)
double GetWidth (const unsigned &rDimension)
std::set< unsignedGetNeighbouringNodeIndices (unsigned index)

Private Member Functions

void SetEmptySites (const std::set< unsigned > &rEmptySiteIndices)
template<class Archive >
void serialize (Archive &archive, const unsigned int version)
void Validate ()
void WriteVtkResultsToFile ()

Private Attributes

TetrahedralMesh< DIM, DIM > & mrMesh
std::vector< boost::shared_ptr
< AbstractCaUpdateRule< DIM > > > 
mUpdateRuleCollection
std::vector< boolmIsEmptySite
bool mOnlyUseNearestNeighboursForDivision
bool mUseVonNeumannNeighbourhoods

Friends

class TestCaBasedCellPopulation
class boost::serialization::access

Detailed Description

template<unsigned DIM>
class CaBasedCellPopulation< DIM >

A facade class encapsulating a lattice-based cell population.

Contains a group of cells and maintains the associations between cells and nodes in the mesh which correspond to lattice sites.

Definition at line 59 of file CaBasedCellPopulation.hpp.


Constructor & Destructor Documentation

template<unsigned DIM>
CaBasedCellPopulation< DIM >::CaBasedCellPopulation ( TetrahedralMesh< 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 CellPtrs 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 (defaults to false)
validate whether to validate the cell population (defaults to false)

Definition at line 41 of file CaBasedCellPopulation.cpp.

References CaBasedCellPopulation< DIM >::GetNode(), CaBasedCellPopulation< DIM >::GetNumNodes(), AbstractMesh< ELEMENT_DIM, SPACE_DIM >::GetNumNodes(), AbstractCellPopulation< DIM >::mCells, CaBasedCellPopulation< DIM >::mIsEmptySite, CaBasedCellPopulation< DIM >::mrMesh, CaBasedCellPopulation< DIM >::SetEmptySites(), and CaBasedCellPopulation< DIM >::Validate().

template<unsigned DIM>
CaBasedCellPopulation< DIM >::CaBasedCellPopulation ( TetrahedralMesh< DIM, DIM > &  rMesh  )  [inline]

Constructor for use by the de-serializer.

Parameters:
rMesh a tetrahedral mesh.

Definition at line 85 of file CaBasedCellPopulation.cpp.

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

Member Function Documentation

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

Overridden AddCell() method.

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

This method finds the nearest empty site to move to in the admissable directions (see diagram below).

The bool mOnlyUseNearestNeighboursForDivision is defined in the cell population constructor and says whether to only search the immediate nearest neighbours when dividing.

If there is more than one empty site at the same distance (i.e. degree) from the parent cell, then the method chooses randomly between them.

If for a given degree there are not any empty sites, then it checks for empty sites at degree+1 (provided mOnlyUseNearestNeighboursForDivision = false.

This diagram indicates the possible directions and degrees of neighbouring sites from parent cell X:

3 o o 3 o o 3 o 2 o 2 o 2 o o o 1 1 1 o o 3 2 1 X 1 2 3 o o 1 1 1 o o o 2 o 2 o 2 o 3 o o 3 o o 3

Once it has located an empty site, neighbouring cells are pushed along in that direction until the 1st degree neighbouring site is free, and the new daughter cell is put there.

If there are no free sites in any direction, currently the code throws an exception.

Parameters:
pNewCell the cell to add
rCellDivisionVector the position in space at which to put it
pParentCell pointer to a parent cell, if required (defaults to NULL)
Returns:
address of cell as it appears in the cell list (internal of this method uses a copy constructor along the way)

Todo:
This method could probably be made more efficient (#1411)

Implements AbstractCellPopulation< DIM >.

Definition at line 270 of file CaBasedCellPopulation.cpp.

References EXCEPTION, CaBasedCellPopulation< DIM >::GetMaximumDegreeInEachDirection(), CaBasedCellPopulation< DIM >::GetNthDegreeNeighbouringNodeIndices(), RandomNumberGenerator::Instance(), CaBasedCellPopulation< DIM >::IsEmptySite(), AbstractCellPopulation< DIM >::mCellLocationMap, AbstractCellPopulation< DIM >::mCells, AbstractCellPopulation< DIM >::mLocationCellMap, CaBasedCellPopulation< DIM >::mOnlyUseNearestNeighboursForDivision, CaBasedCellPopulation< DIM >::MoveCell(), and RandomNumberGenerator::randMod().

template<unsigned DIM>
void CaBasedCellPopulation< DIM >::AddUpdateRule ( boost::shared_ptr< AbstractCaUpdateRule< DIM > >  pUpdateRule  )  [inline]

Add an update rule to be used in this simulation.

Parameters:
pUpdateRule pointer to an update rule

Definition at line 179 of file CaBasedCellPopulation.cpp.

References CaBasedCellPopulation< DIM >::mUpdateRuleCollection.

template<unsigned DIM>
void CaBasedCellPopulation< DIM >::GenerateCellResults ( unsigned  locationIndex,
std::vector< unsigned > &  rCellProliferativeTypeCounter,
std::vector< unsigned > &  rCellCyclePhaseCounter 
) [inline, virtual]

Overridden GenerateCellResults() method. Generate results for a given cell in the current cell population state to output files.

Parameters:
locationIndex location index of the cell
rCellProliferativeTypeCounter cell type counter
rCellCyclePhaseCounter cell cycle phase counter

Reimplemented from AbstractCellPopulation< DIM >.

Definition at line 883 of file CaBasedCellPopulation.cpp.

References CaBasedCellPopulation< DIM >::IsEmptySite(), and AbstractCellPopulation< DIM >::mpVizCellProliferativeTypesFile.

Referenced by CaBasedCellPopulation< DIM >::GenerateCellResultsAndWriteToFiles().

template<unsigned DIM>
void CaBasedCellPopulation< DIM >::GenerateCellResultsAndWriteToFiles (  )  [inline, virtual]
template<unsigned DIM>
std::set< unsigned > CaBasedCellPopulation< DIM >::GetEmptySiteIndices (  )  [inline]
Returns:
the indices of those nodes that are empty sites.

Definition at line 215 of file CaBasedCellPopulation.cpp.

References CaBasedCellPopulation< DIM >::mIsEmptySite.

template<unsigned DIM>
std::set< unsigned > CaBasedCellPopulation< DIM >::GetFreeNeighbouringNodeIndices ( unsigned  nodeIndex  )  [inline]

Locate the sites neighbouring a site (this version is a Moore neighbourhood) which are free (i.e. are empty sites).

Note: This dictates the geometry of the cell population and the type of neighbourhood used and can be overridden to use different neighbourhoods or geometries.

Parameters:
nodeIndex global index of the node of interest
Returns:
set of available nodes

Definition at line 539 of file CaBasedCellPopulation.cpp.

References CaBasedCellPopulation< DIM >::GetNeighbouringNodeIndices(), and CaBasedCellPopulation< DIM >::IsEmptySite().

Referenced by DiffusionCaUpdateRule< DIM >::GetNewLocationOfCell().

template<unsigned DIM>
c_vector< double, DIM > CaBasedCellPopulation< DIM >::GetLocationOfCellCentre ( CellPtr  pCell  )  [inline, virtual]

Find where a given cell is in space.

Parameters:
pCell the cell
Returns:
the location of the cell

Implements AbstractCellPopulation< DIM >.

Definition at line 968 of file CaBasedCellPopulation.cpp.

References CaBasedCellPopulation< DIM >::GetNode(), and AbstractCellPopulation< DIM >::mCellLocationMap.

template<unsigned DIM>
std::vector< unsigned > CaBasedCellPopulation< DIM >::GetMaximumDegreeInEachDirection ( unsigned  nodeIndex  )  [inline]

Return the maximum degree that is permissable for a given node in each direction for which this maximum degree is non-zero.

The vector uses the ordering N, NW, W, SW, S, SE, E, NE (i.e. anticlockwise).

This degree corresponds to the number of nodes from the given node up to and including the boundary node in each direction.

Parameters:
nodeIndex index of the node of interest

Definition at line 461 of file CaBasedCellPopulation.cpp.

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

Referenced by CaBasedCellPopulation< DIM >::AddCell(), and CaBasedCellPopulation< DIM >::GetNthDegreeNeighbouringNodeIndices().

template<unsigned DIM>
std::set< unsigned > CaBasedCellPopulation< DIM >::GetNeighbouringNodeIndices ( unsigned  index  )  [inline, virtual]

Overridden GetNeighbouringNodeIndices() method.

Locate the sites neighbouring a site (this version is a Moore neighbourhood). Note: This dictates the geometry of the cell population and the type of neighbourhood used and can be overridden to use different neighbourhoods or geometries.

Parameters:
index the node index
Returns:
the set of neighbouring node indices.

Implements AbstractCellPopulation< DIM >.

Definition at line 560 of file CaBasedCellPopulation.cpp.

References CaBasedCellPopulation< DIM >::GetNeighbouringNodeIndicesVector().

Referenced by CaBasedCellPopulation< DIM >::GetFreeNeighbouringNodeIndices().

template<unsigned DIM>
std::vector< unsigned > CaBasedCellPopulation< DIM >::GetNeighbouringNodeIndicesVector ( unsigned  nodeIndex  )  [inline]

Same method as GetNeighbouringNodeIndices() above, but returns an ORDERED vector of neighbouring nodes, in the order N, NW, W, SW, S, SE, E, NE. This is needed to make GetNthDegreeNeighbouringNodeIndices work, as this exploits the ordering of the neighbours.

Parameters:
nodeIndex global index of the node of interest

Definition at line 576 of file CaBasedCellPopulation.cpp.

References AbstractMesh< ELEMENT_DIM, SPACE_DIM >::GetWidth(), CaBasedCellPopulation< DIM >::mrMesh, CaBasedCellPopulation< DIM >::mUseVonNeumannNeighbourhoods, and NEVER_REACHED.

Referenced by CaBasedCellPopulation< DIM >::GetNeighbouringNodeIndices(), and CaBasedCellPopulation< DIM >::GetNthDegreeNeighbouringNodeIndices().

template<unsigned DIM>
Node< DIM > * CaBasedCellPopulation< DIM >::GetNode ( unsigned  index  )  [inline, virtual]
template<unsigned DIM>
std::set< unsigned > CaBasedCellPopulation< DIM >::GetNthDegreeNeighbouringNodeIndices ( unsigned  nodeIndex,
unsigned  degree 
) [inline]

Locate the sites in n-th degree neighbouring sites (this version is a Moore neighbourhood). Note: This dictates the geometry of the cell population and the type of neighbourhood used and can be overridden to use cell population neighbourhoods or geometries.

Parameters:
nodeIndex global index of the node of interest
degree how far away to look for neighbours, i.e. 1 would be the nearest neighbours
Returns:
set of available nodes

Definition at line 512 of file CaBasedCellPopulation.cpp.

References CaBasedCellPopulation< DIM >::GetMaximumDegreeInEachDirection(), and CaBasedCellPopulation< DIM >::GetNeighbouringNodeIndicesVector().

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

template<unsigned DIM>
unsigned CaBasedCellPopulation< DIM >::GetNumNodes (  )  [inline, virtual]
template<unsigned DIM>
bool CaBasedCellPopulation< DIM >::GetOnlyUseNearestNeighboursForDivision (  )  [inline]

Get mOnlyUseNearestNeighboursForDivision.

Definition at line 173 of file CaBasedCellPopulation.cpp.

References CaBasedCellPopulation< DIM >::mOnlyUseNearestNeighboursForDivision.

template<unsigned DIM>
bool CaBasedCellPopulation< DIM >::GetUseVonNeumannNeighbourhoods (  )  [inline]
Returns:
mUseVonNeumannNeighbourhoods

Definition at line 197 of file CaBasedCellPopulation.cpp.

References CaBasedCellPopulation< DIM >::mUseVonNeumannNeighbourhoods.

template<unsigned DIM>
double CaBasedCellPopulation< 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 986 of file CaBasedCellPopulation.cpp.

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

template<unsigned DIM>
bool CaBasedCellPopulation< DIM >::IsCellAssociatedWithADeletedLocation ( CellPtr  pCell  )  [inline, virtual]

Helper method for establishing if a cell is real.

As this method is pure virtual, it must be overridden in subclasses.

Here we don't allow deleted nodes so this always returns false.

Parameters:
pCell the cell
Returns:
whether a given cell is associated with a deleted node (cell-centre models) or element (vertex models).

Implements AbstractCellPopulation< DIM >.

Definition at line 934 of file CaBasedCellPopulation.cpp.

template<unsigned DIM>
bool CaBasedCellPopulation< DIM >::IsEmptySite ( unsigned  index  )  [inline]

Find if a given node is an empty site. The abstract method always returns false but is overridden in subclasses.

Parameters:
index the global index of a specified node
Returns:
whether the node is an empty site

Definition at line 209 of file CaBasedCellPopulation.cpp.

References CaBasedCellPopulation< DIM >::mIsEmptySite.

Referenced by CaBasedCellPopulation< DIM >::AddCell(), CaBasedCellPopulation< DIM >::GenerateCellResults(), CaBasedCellPopulation< DIM >::GetFreeNeighbouringNodeIndices(), DiffusionCaUpdateRule< DIM >::GetNewLocationOfCell(), AdvectionCaUpdateRule< DIM >::GetNewLocationOfCell(), CaBasedCellPopulation< DIM >::MoveCell(), and CaBasedCellPopulation< DIM >::UpdateCellLocations().

template<unsigned DIM>
void CaBasedCellPopulation< DIM >::MoveCell ( CellPtr  pCell,
unsigned  newLocationIndex 
) [inline]

Method to update the location of a particular cell

Parameters:
pCell the cell to move
newLocationIndex the location to move the cell to

Definition at line 940 of file CaBasedCellPopulation.cpp.

References CaBasedCellPopulation< DIM >::IsEmptySite(), AbstractCellPopulation< DIM >::mCellLocationMap, CaBasedCellPopulation< DIM >::mIsEmptySite, and AbstractCellPopulation< DIM >::mLocationCellMap.

Referenced by CaBasedCellPopulation< DIM >::AddCell(), and CaBasedCellPopulation< DIM >::UpdateCellLocations().

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

Outputs CellPopulation parameters to file

As this method is pure virtual, it must be overridden in subclasses.

Parameters:
rParamsFile the file stream to which the parameters are output

Reimplemented from AbstractOnLatticeCellPopulation< DIM >.

Definition at line 976 of file CaBasedCellPopulation.cpp.

References CaBasedCellPopulation< DIM >::mOnlyUseNearestNeighboursForDivision, and CaBasedCellPopulation< DIM >::mUseVonNeumannNeighbourhoods.

template<unsigned DIM>
unsigned CaBasedCellPopulation< 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 783 of file CaBasedCellPopulation.cpp.

References AbstractCellPopulation< DIM >::GetLocationIndexUsingCell(), AbstractCellPopulation< DIM >::mCellLocationMap, AbstractCellPopulation< DIM >::mCells, CaBasedCellPopulation< DIM >::mIsEmptySite, and AbstractCellPopulation< DIM >::mLocationCellMap.

template<unsigned DIM>
std::vector< bool > & CaBasedCellPopulation< DIM >::rGetEmptySites (  )  [inline]
Returns:
mIsEmptySite.

Definition at line 203 of file CaBasedCellPopulation.cpp.

References CaBasedCellPopulation< DIM >::mIsEmptySite.

template<unsigned DIM>
const TetrahedralMesh< DIM, DIM > & CaBasedCellPopulation< DIM >::rGetMesh (  )  const [inline]
Returns:
const reference to mrMesh (used in archiving).

Definition at line 252 of file CaBasedCellPopulation.cpp.

References CaBasedCellPopulation< DIM >::mrMesh.

template<unsigned DIM>
TetrahedralMesh< DIM, DIM > & CaBasedCellPopulation< DIM >::rGetMesh (  )  [inline]
Returns:
reference to mrMesh.

Definition at line 246 of file CaBasedCellPopulation.cpp.

References CaBasedCellPopulation< DIM >::mrMesh.

Referenced by AdvectionCaUpdateRule< DIM >::GetNewLocationOfCell().

template<unsigned DIM>
const std::vector< boost::shared_ptr< AbstractCaUpdateRule< DIM > > > & CaBasedCellPopulation< DIM >::rGetUpdateRuleCollection (  )  const [inline]

Get the collection of update rules to be used in this simulation.

Returns:
the update rule collection

Definition at line 185 of file CaBasedCellPopulation.cpp.

References CaBasedCellPopulation< DIM >::mUpdateRuleCollection.

template<unsigned DIM>
template<class Archive >
void CaBasedCellPopulation< 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 AbstractOnLatticeCellPopulation< DIM >.

Definition at line 108 of file CaBasedCellPopulation.hpp.

References CaBasedCellPopulation< DIM >::mIsEmptySite, CaBasedCellPopulation< DIM >::mOnlyUseNearestNeighboursForDivision, CaBasedCellPopulation< DIM >::mUpdateRuleCollection, and CaBasedCellPopulation< DIM >::mUseVonNeumannNeighbourhoods.

template<unsigned DIM>
void CaBasedCellPopulation< DIM >::SetEmptySites ( const std::set< unsigned > &  rEmptySiteIndices  )  [inline, private]

Set the empty sites by taking in a set of which nodes indices are empty sites.

Parameters:
rEmptySiteIndices set of node indices corresponding to empty sites

Definition at line 229 of file CaBasedCellPopulation.cpp.

References AbstractMesh< ELEMENT_DIM, SPACE_DIM >::GetNumNodes(), CaBasedCellPopulation< DIM >::mIsEmptySite, CaBasedCellPopulation< DIM >::mrMesh, and CaBasedCellPopulation< DIM >::Validate().

Referenced by CaBasedCellPopulation< DIM >::CaBasedCellPopulation().

template<unsigned DIM>
void CaBasedCellPopulation< DIM >::SetOnlyUseNearestNeighboursForDivision ( bool  onlyUseNearestNeighboursForDivision  )  [inline]

Set mOnlyUseNearestNeighboursForDivision.

Parameters:
onlyUseNearestNeighboursForDivision whether to only search the next nearest neighbours for an empty site when a cell is going to divide.

Definition at line 167 of file CaBasedCellPopulation.cpp.

References CaBasedCellPopulation< DIM >::mOnlyUseNearestNeighboursForDivision.

template<unsigned DIM>
void CaBasedCellPopulation< DIM >::SetUseVonNeumannNeighbourhoods ( bool  useVonNeumannNeighbourhoods  )  [inline]

Set method for mUseVonNeumannNeighbourhoods.

Parameters:
useVonNeumannNeighbourhoods whether to use von Neumann neighbourhoods

Definition at line 191 of file CaBasedCellPopulation.cpp.

References CaBasedCellPopulation< DIM >::mUseVonNeumannNeighbourhoods.

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

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

Parameters:
hasHadBirthsOrDeaths whether there has been any cell division or cell death prior to the update (defaults to true)

Implements AbstractCellPopulation< DIM >.

Definition at line 811 of file CaBasedCellPopulation.cpp.

References CaBasedCellPopulation< DIM >::Validate().

template<unsigned DIM>
void CaBasedCellPopulation< DIM >::UpdateCellLocations ( double  dt  )  [inline, virtual]
template<unsigned DIM>
void CaBasedCellPopulation< DIM >::Validate (  )  [inline, private, virtual]
template<unsigned DIM>
void CaBasedCellPopulation< DIM >::WriteCellVolumeResultsToFile (  )  [inline, virtual]
template<unsigned DIM>
void CaBasedCellPopulation< DIM >::WriteVtkResultsToFile (  )  [inline, private, virtual]

Overridden WriteVtkResultsToFile() method.

Todo:
Implement VTK output for CA simulations (see #1914)

Implements AbstractCellPopulation< DIM >.

Definition at line 381 of file CaBasedCellPopulation.cpp.


Friends And Related Function Documentation

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

Needed for serialization.

Reimplemented from AbstractOnLatticeCellPopulation< DIM >.

Definition at line 95 of file CaBasedCellPopulation.hpp.


Member Data Documentation

template<unsigned DIM>
std::vector<bool> CaBasedCellPopulation< DIM >::mIsEmptySite [private]
template<unsigned DIM>
bool CaBasedCellPopulation< DIM >::mOnlyUseNearestNeighboursForDivision [private]
template<unsigned DIM>
TetrahedralMesh<DIM, DIM>& CaBasedCellPopulation< DIM >::mrMesh [private]
template<unsigned DIM>
std::vector<boost::shared_ptr<AbstractCaUpdateRule<DIM> > > CaBasedCellPopulation< DIM >::mUpdateRuleCollection [private]
template<unsigned DIM>
bool CaBasedCellPopulation< DIM >::mUseVonNeumannNeighbourhoods [private]

Whether to implement von Neumann neighbourhoods for dividing and moving cells. These neighbourhoods only correspond to the N, S, E, W neighbours. Defaults to false in the constructor.

Definition at line 86 of file CaBasedCellPopulation.hpp.

Referenced by CaBasedCellPopulation< DIM >::GetNeighbouringNodeIndicesVector(), CaBasedCellPopulation< DIM >::GetUseVonNeumannNeighbourhoods(), CaBasedCellPopulation< DIM >::OutputCellPopulationParameters(), CaBasedCellPopulation< DIM >::serialize(), and CaBasedCellPopulation< DIM >::SetUseVonNeumannNeighbourhoods().


The documentation for this class was generated from the following files:
Generated on Thu Dec 22 13:03:02 2011 for Chaste by  doxygen 1.6.3