AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM > Class Template Reference

#include <AbstractCentreBasedCellPopulation.hpp>

Inherits AbstractOffLatticeCellPopulation< ELEMENT_DIM, SPACE_DIM >.

Inherited by MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >.

Collaboration diagram for AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 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)
CellPtr AddCell (CellPtr pNewCell, const c_vector< double, SPACE_DIM > &rCellDivisionVector, CellPtr pParentCell=CellPtr())
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 UpdateNodeLocations (double dt)
virtual double GetDampingConstant (unsigned nodeIndex)
virtual bool IsGhostNode (unsigned index)
virtual bool IsParticle (unsigned index)
virtual std::vector< std::pair
< Node< SPACE_DIM > *, Node
< SPACE_DIM > * > > & 
rGetNodePairs ()=0
double GetMeinekeDivisionSeparation ()
void SetMeinekeDivisionSeparation (double divisionSeparation)
virtual void OutputCellPopulationParameters (out_stream &rParamsFile)

Protected Member Functions

 AbstractCentreBasedCellPopulation (AbstractMesh< ELEMENT_DIM, SPACE_DIM > &rMesh)
virtual void WriteVtkResultsToFile (const std::string &rDirectory)=0

Protected Attributes

double mMeinekeDivisionSeparation
std::set< std::pair< CellPtr,
CellPtr > > 
mMarkedSprings

Private Member Functions

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

Friends

class boost::serialization::access

Detailed Description

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM = ELEMENT_DIM>
class AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >

An abstract facade class encapsulating a centre-based cell population, in which each cell corresponds to a Node.

Definition at line 46 of file AbstractCentreBasedCellPopulation.hpp.


Constructor & Destructor Documentation

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::AbstractCentreBasedCellPopulation ( AbstractMesh< ELEMENT_DIM, SPACE_DIM > &  rMesh  )  [inline, protected]

Constructor that just takes in a mesh.

Parameters:
rMesh the mesh for the cell population.

Definition at line 57 of file AbstractCentreBasedCellPopulation.cpp.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::AbstractCentreBasedCellPopulation ( AbstractMesh< ELEMENT_DIM, SPACE_DIM > &  rMesh,
std::vector< CellPtr > &  rCells,
const std::vector< unsigned locationIndices = std::vector<unsigned>() 
) [inline]

Default constructor.

Parameters:
rMesh a reference to the mesh underlying the cell population
rCells a vector of cells
locationIndices an optional vector of location indices that correspond to real cells

Definition at line 39 of file AbstractCentreBasedCellPopulation.cpp.

References AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::AddCellUsingLocationIndex(), AbstractMesh< ELEMENT_DIM, SPACE_DIM >::GetNodeIteratorBegin(), and AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mCells.


Member Function Documentation

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

Add a new cell to the cell population.

Parameters:
pNewCell the cell to add
rCellDivisionVector the position in space at which to put it
pParentCell pointer to a parent cell (if required)
Returns:
address of cell as it appears in the cell list

Implements AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >.

Reimplemented in MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >.

Definition at line 78 of file AbstractCentreBasedCellPopulation.cpp.

References AbstractOffLatticeCellPopulation< ELEMENT_DIM, SPACE_DIM >::AddNode(), AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetNumNodes(), AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mCellLocationMap, AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mCells, and AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::SetCellUsingLocationIndex().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
std::pair< CellPtr, CellPtr > AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::CreateCellPair ( CellPtr  pCell1,
CellPtr  pCell2 
) [inline]
Returns:
a an ordered pair 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 95 of file AbstractCentreBasedCellPopulation.cpp.

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

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
double AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetDampingConstant ( unsigned  nodeIndex  )  [inline, virtual]

Overridden GetDampingConstant() method.

Get the damping constant for the cell associated with this node, i.e. d in drdt = F/d.

If the cell is wild-type, then the normal damping constant is returned. If the cell has a mutation, then the mutant damping constant is returned.

Note that by default, the normal and mutant damping constants are the same. To alter the damping constant for mutant cells, call the method SetDampingConstantMutant() on the CellPopulation.

Parameters:
nodeIndex the global index of this node
Returns:
the damping constant at the Cell associated with this node

Implements AbstractOffLatticeCellPopulation< ELEMENT_DIM, SPACE_DIM >.

Reimplemented in MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >, MeshBasedCellPopulation< DIM >, MeshBasedCellPopulation< 1 >, and MeshBasedCellPopulation< 2 >.

Definition at line 193 of file AbstractCentreBasedCellPopulation.cpp.

References AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetCellUsingLocationIndex(), AbstractOffLatticeCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetDampingConstantMutant(), and AbstractOffLatticeCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetDampingConstantNormal().

Referenced by AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::UpdateNodeLocations().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
c_vector< double, SPACE_DIM > AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetLocationOfCellCentre ( CellPtr  pCell  )  [inline, virtual]

Overridden GetLocationOfCellCentre() method. Find where a given cell is in space.

Parameters:
pCell the cell
Returns:
the location of the node corresponding to this cell.

Implements AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >.

Definition at line 65 of file AbstractCentreBasedCellPopulation.cpp.

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

Referenced by CryptSimulation1d::CalculateCellDivisionVector(), CryptStatistics::GetCryptSection(), and CryptProjectionStatistics::GetCryptSection().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
double AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetMeinekeDivisionSeparation (  )  [inline]
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
std::set< unsigned > AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetNeighbouringLocationIndices ( CellPtr  pCell  )  [inline, virtual]

Overridden GetNeighbouringLocationIndices() method.

Given a cell, returns the set of location indices corresponding to neighbouring cells.

Parameters:
pCell a cell
Returns:
the set of neighbouring location indices.

Implements AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >.

Reimplemented in MeshBasedCellPopulationWithGhostNodes< DIM >.

Definition at line 149 of file AbstractCentreBasedCellPopulation.cpp.

References AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetLocationIndexUsingCell(), and AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetNeighbouringNodeIndices().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
Node< SPACE_DIM > * AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetNodeCorrespondingToCell ( CellPtr  pCell  )  [inline]
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
bool AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::IsCellAssociatedWithADeletedLocation ( CellPtr  pCell  )  [inline, virtual]

Overridden IsCellAssociatedWithADeletedLocation() method.

Parameters:
pCell the cell
Returns:
whether a given cell is associated with a deleted node.

Implements AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >.

Definition at line 143 of file AbstractCentreBasedCellPopulation.cpp.

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

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
bool AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::IsGhostNode ( unsigned  index  )  [inline, virtual]

Find if a given node is a ghost node. The method always returns false but is overridden in MeshBasedCellPopulationWithGhostNodes.

Parameters:
index the global index of a specified node
Returns:
whether the node is a ghost node

Reimplemented in MeshBasedCellPopulationWithGhostNodes< DIM >.

Definition at line 207 of file AbstractCentreBasedCellPopulation.cpp.

Referenced by CellwiseDataGradient< DIM >::SetupGradients(), NodeVelocityWriter< ELEMENT_DIM, SPACE_DIM >::Visit(), HeterotypicBoundaryLengthWriter< ELEMENT_DIM, SPACE_DIM >::Visit(), and CellPopulationAreaWriter< ELEMENT_DIM, SPACE_DIM >::Visit().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
bool AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_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 116 of file AbstractCentreBasedCellPopulation.cpp.

References AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::mMarkedSprings.

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

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
bool AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::IsParticle ( unsigned  index  )  [inline, virtual]

Find if a given node is a particle. The method always returns false but is overridden in NodeBasedCellPopulationWithParticles.

Parameters:
index the global index of a specified node
Returns:
whether the node is a particle

Reimplemented in NodeBasedCellPopulationWithParticles< DIM >.

Definition at line 213 of file AbstractCentreBasedCellPopulation.cpp.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_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 125 of file AbstractCentreBasedCellPopulation.cpp.

References AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::mMarkedSprings.

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

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::OutputCellPopulationParameters ( out_stream &  rParamsFile  )  [inline, virtual]
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM = ELEMENT_DIM>
virtual std::vector< std::pair<Node<SPACE_DIM>*, Node<SPACE_DIM>* > >& AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::rGetNodePairs (  )  [pure virtual]

Method to return the connected nodes in a centre based simulation.

Overridden in sub classes to have correct functionality.

Returns:
Node pairs for force calculation.

Implemented in MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >, NodeBasedCellPopulation< DIM >, MeshBasedCellPopulation< DIM >, MeshBasedCellPopulation< 1 >, and MeshBasedCellPopulation< 2 >.

Referenced by AbstractTwoBodyInteractionForce< ELEMENT_DIM, SPACE_DIM >::AddForceContribution().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM = ELEMENT_DIM>
template<class Archive >
void AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::serialize ( Archive &  archive,
const unsigned int  version 
) [inline, private]
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::SetMeinekeDivisionSeparation ( double  divisionSeparation  )  [inline]

Set mMeinekeDivisionSeparation.

Parameters:
divisionSeparation the new value of mMeinekeDivisionSeparation

Definition at line 225 of file AbstractCentreBasedCellPopulation.cpp.

References AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::mMeinekeDivisionSeparation.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::UnmarkSpring ( std::pair< CellPtr, CellPtr > &  rCellPair  )  [inline]
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::UpdateNodeLocations ( double  dt  )  [inline, virtual]
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM = ELEMENT_DIM>
virtual void AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::WriteVtkResultsToFile ( const std::string &  rDirectory  )  [protected, pure virtual]

Write the current results to mpVtkMetaFile.

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

Parameters:
rDirectory pathname of the output directory, relative to where Chaste output is stored

Implements AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >.

Implemented in MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >, MeshBasedCellPopulationWithGhostNodes< DIM >, NodeBasedCellPopulation< DIM >, NodeBasedCellPopulationWithParticles< DIM >, MeshBasedCellPopulation< DIM >, MeshBasedCellPopulation< 1 >, and MeshBasedCellPopulation< 2 >.


Friends And Related Function Documentation

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

Member Data Documentation

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM = ELEMENT_DIM>
std::set<std::pair<CellPtr,CellPtr> > AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::mMarkedSprings [protected]
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM = ELEMENT_DIM>
double AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::mMeinekeDivisionSeparation [protected]

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

Generated by  doxygen 1.6.2