#include <AbstractCentreBasedCellPopulation.hpp>
Inherits AbstractOffLatticeCellPopulation< ELEMENT_DIM, SPACE_DIM >.
Inherited by MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >.
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< unsigned > | GetNeighbouringLocationIndices (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 |
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.
AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::AbstractCentreBasedCellPopulation | ( | AbstractMesh< ELEMENT_DIM, SPACE_DIM > & | rMesh | ) | [inline, protected] |
Constructor that just takes in a mesh.
rMesh | the mesh for the cell population. |
Definition at line 57 of file AbstractCentreBasedCellPopulation.cpp.
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.
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.
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.
pNewCell | the cell to add | |
rCellDivisionVector | the position in space at which to put it | |
pParentCell | pointer to a parent cell (if required) |
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().
std::pair< CellPtr, CellPtr > AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::CreateCellPair | ( | CellPtr | pCell1, | |
CellPtr | pCell2 | |||
) | [inline] |
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().
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.
nodeIndex | the global index of 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().
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.
pCell | the 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().
double AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetMeinekeDivisionSeparation | ( | ) | [inline] |
Definition at line 219 of file AbstractCentreBasedCellPopulation.cpp.
References AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::mMeinekeDivisionSeparation.
Referenced by CryptSimulation1d::CalculateCellDivisionVector().
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.
pCell | a cell |
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().
Node< SPACE_DIM > * AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetNodeCorrespondingToCell | ( | CellPtr | pCell | ) | [inline] |
Get a pointer to the node corresponding to a given cell.
pCell | the cell |
Definition at line 71 of file AbstractCentreBasedCellPopulation.cpp.
References AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetLocationIndexUsingCell(), and AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetNode().
Referenced by AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetLocationOfCellCentre(), AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::IsCellAssociatedWithADeletedLocation(), and MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::Update().
bool AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::IsCellAssociatedWithADeletedLocation | ( | CellPtr | pCell | ) | [inline, virtual] |
Overridden IsCellAssociatedWithADeletedLocation() method.
pCell | the cell |
Implements AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >.
Definition at line 143 of file AbstractCentreBasedCellPopulation.cpp.
References AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetNodeCorrespondingToCell().
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.
index | the global index of a specified 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().
bool AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::IsMarkedSpring | ( | const std::pair< CellPtr, CellPtr > & | rCellPair | ) | [inline] |
rCellPair | a set of pointers to Cells |
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().
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.
index | the global index of a specified node |
Reimplemented in NodeBasedCellPopulationWithParticles< DIM >.
Definition at line 213 of file AbstractCentreBasedCellPopulation.cpp.
void AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::MarkSpring | ( | std::pair< CellPtr, CellPtr > & | rCellPair | ) | [inline] |
Mark the spring between the given cells.
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().
void AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::OutputCellPopulationParameters | ( | out_stream & | rParamsFile | ) | [inline, virtual] |
Overridden OutputCellPopulationParameters() method.
rParamsFile | the file stream to which the parameters are output |
Reimplemented from AbstractOffLatticeCellPopulation< ELEMENT_DIM, SPACE_DIM >.
Reimplemented in MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >, MeshBasedCellPopulationWithGhostNodes< DIM >, NodeBasedCellPopulation< DIM >, NodeBasedCellPopulationWithBuskeUpdate< DIM >, NodeBasedCellPopulationWithParticles< DIM >, MeshBasedCellPopulation< DIM >, MeshBasedCellPopulation< 1 >, and MeshBasedCellPopulation< 2 >.
Definition at line 233 of file AbstractCentreBasedCellPopulation.cpp.
References AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::mMeinekeDivisionSeparation.
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.
Implemented in MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >, NodeBasedCellPopulation< DIM >, MeshBasedCellPopulation< DIM >, MeshBasedCellPopulation< 1 >, and MeshBasedCellPopulation< 2 >.
Referenced by AbstractTwoBodyInteractionForce< ELEMENT_DIM, SPACE_DIM >::AddForceContribution().
void AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::serialize | ( | Archive & | archive, | |
const unsigned int | version | |||
) | [inline, private] |
Serialize the object and its member variables.
archive | the archive | |
version | the current version of this class |
Reimplemented from AbstractOffLatticeCellPopulation< ELEMENT_DIM, SPACE_DIM >.
Reimplemented in MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >, MeshBasedCellPopulationWithGhostNodes< DIM >, NodeBasedCellPopulation< DIM >, NodeBasedCellPopulationWithBuskeUpdate< DIM >, NodeBasedCellPopulationWithParticles< DIM >, MeshBasedCellPopulation< DIM >, MeshBasedCellPopulation< 1 >, and MeshBasedCellPopulation< 2 >.
Definition at line 58 of file AbstractCentreBasedCellPopulation.hpp.
void AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::SetMeinekeDivisionSeparation | ( | double | divisionSeparation | ) | [inline] |
Set mMeinekeDivisionSeparation.
divisionSeparation | the new value of mMeinekeDivisionSeparation |
Definition at line 225 of file AbstractCentreBasedCellPopulation.cpp.
References AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::mMeinekeDivisionSeparation.
void AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::UnmarkSpring | ( | std::pair< CellPtr, CellPtr > & | rCellPair | ) | [inline] |
Stop marking the spring between the given cells.
rCellPair | a set of pointers to Cells |
Definition at line 134 of file AbstractCentreBasedCellPopulation.cpp.
References AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::mMarkedSprings.
Referenced by CryptProjectionForce::CalculateForceBetweenNodes(), and GeneralisedLinearSpringForce< ELEMENT_DIM, SPACE_DIM >::CalculateForceBetweenNodes().
void AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::UpdateNodeLocations | ( | double | dt | ) | [inline, virtual] |
Overridden UpdateNodeLocations() method.
dt | the time step |
Implements AbstractOffLatticeCellPopulation< ELEMENT_DIM, SPACE_DIM >.
Reimplemented in MeshBasedCellPopulationWithGhostNodes< DIM >, NodeBasedCellPopulationWithBuskeUpdate< DIM >, and NodeBasedCellPopulationWithParticles< DIM >.
Definition at line 156 of file AbstractCentreBasedCellPopulation.cpp.
References AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::Begin(), AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::End(), EXCEPTION, AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetDampingConstant(), AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetLocationIndexUsingCell(), AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetNode(), AbstractOffLatticeCellPopulation< ELEMENT_DIM, SPACE_DIM >::mAbsoluteMovementThreshold, and AbstractOffLatticeCellPopulation< ELEMENT_DIM, SPACE_DIM >::SetNode().
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.
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 >.
friend class boost::serialization::access [friend] |
Needed for serialization.
Reimplemented from AbstractOffLatticeCellPopulation< ELEMENT_DIM, SPACE_DIM >.
Reimplemented in MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >, MeshBasedCellPopulationWithGhostNodes< DIM >, NodeBasedCellPopulation< DIM >, NodeBasedCellPopulationWithBuskeUpdate< DIM >, NodeBasedCellPopulationWithParticles< DIM >, MeshBasedCellPopulation< DIM >, MeshBasedCellPopulation< 1 >, and MeshBasedCellPopulation< 2 >.
Definition at line 50 of file AbstractCentreBasedCellPopulation.hpp.
std::set<std::pair<CellPtr,CellPtr> > AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_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 77 of file AbstractCentreBasedCellPopulation.hpp.
Referenced by MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::CheckCellPointers(), AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::IsMarkedSpring(), AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::MarkSpring(), MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::RemoveDeadCells(), AbstractCentreBasedCellPopulation< ELEMENT_DIM, ELEMENT_DIM >::serialize(), AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::UnmarkSpring(), and MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::Update().
double AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::mMeinekeDivisionSeparation [protected] |
Initial separation placement of mother/daughter cells at birth. Has units of cell size at equilibrium rest length
Definition at line 70 of file AbstractCentreBasedCellPopulation.hpp.
Referenced by AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetMeinekeDivisionSeparation(), AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::OutputCellPopulationParameters(), AbstractCentreBasedCellPopulation< ELEMENT_DIM, ELEMENT_DIM >::serialize(), and AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::SetMeinekeDivisionSeparation().