Chaste
Release::3.4
|
#include <AbstractCentreBasedCellPopulation.hpp>
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) |
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 unsigned | AddNode (Node< SPACE_DIM > *pNewNode)=0 |
virtual void | SetNode (unsigned nodeIndex, ChastePoint< SPACE_DIM > &rNewLocation)=0 |
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 () |
std::list< CellPtr > & | rGetCells () |
virtual unsigned | GetNumNodes ()=0 |
virtual Node< SPACE_DIM > * | GetNode (unsigned index)=0 |
virtual unsigned | RemoveDeadCells ()=0 |
virtual void | Update (bool hasHadBirthsOrDeaths=true)=0 |
std::vector< unsigned > | GetCellMutationStateCount () |
std::vector< unsigned > | GetCellProliferativeTypeCount () |
std::vector< unsigned > | GetCellCyclePhaseCount () |
unsigned | GetNumRealCells () |
unsigned | GetNumAllCells () |
void | SetCellAncestorsToLocationIndices () |
std::set< unsigned > | GetCellAncestors () |
virtual CellPtr | GetCellUsingLocationIndex (unsigned index) |
std::set< CellPtr > | GetCellsUsingLocationIndex (unsigned index) |
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 < CellPropertyRegistry > | GetCellPropertyRegistry () |
void | SetDefaultCellMutationStateAndProliferativeTypeOrdering () |
virtual double | GetWidth (const unsigned &rDimension)=0 |
virtual double | GetVolumeOfCell (CellPtr pCell)=0 |
virtual std::set< unsigned > | GetNeighbouringNodeIndices (unsigned index)=0 |
c_vector< double, SPACE_DIM > | GetCentroidOfCellPopulation () |
virtual void | UpdateCellProcessLocation () |
virtual void | OpenWritersFiles (OutputFileHandler &rOutputFileHandler) |
void | CloseWritersFiles () |
virtual void | WriteResultsToFiles (const std::string &rDirectory) |
virtual void | AcceptPopulationWriter (boost::shared_ptr< AbstractCellPopulationWriter< ELEMENT_DIM, SPACE_DIM > > pPopulationWriter)=0 |
virtual void | AcceptPopulationCountWriter (boost::shared_ptr< AbstractCellPopulationCountWriter< ELEMENT_DIM, SPACE_DIM > > pPopulationCountWriter)=0 |
virtual void | AcceptCellWriter (boost::shared_ptr< AbstractCellWriter< ELEMENT_DIM, SPACE_DIM > > pCellWriter, CellPtr pCell)=0 |
void | OutputCellPopulationInfo (out_stream &rParamsFile) |
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 () |
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) |
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, unsigned > | CreateOrderedPair (unsigned index1, unsigned index2) |
Iterator | Begin () |
Iterator | End () |
Public Member Functions inherited from Identifiable | |
virtual | ~Identifiable () |
std::string | GetIdentifier () const |
Protected Member Functions | |
AbstractCentreBasedCellPopulation (AbstractMesh< ELEMENT_DIM, SPACE_DIM > &rMesh) | |
virtual void | WriteVtkResultsToFile (const std::string &rDirectory)=0 |
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 > | |
virtual void | Validate ()=0 |
AbstractCellPopulation (AbstractMesh< ELEMENT_DIM, SPACE_DIM > &rMesh) | |
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.
|
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>() |
||
) |
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.
|
protectedvirtual |
Call AcceptCellWriter across the whole population, iterating in an appropriate way for this type of cell population.
Reimplemented from AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >.
Reimplemented in MeshBasedCellPopulationWithGhostNodes< DIM >, and NodeBasedCellPopulationWithParticles< DIM >.
Definition at line 233 of file AbstractCentreBasedCellPopulation.cpp.
|
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.
Referenced by NodeBasedCellPopulationWithParticles< DIM >::AddCell(), MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::AddCell(), and NodeBasedCellPopulation< DIM >::AddCell().
std::pair< CellPtr, CellPtr > AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::CreateCellPair | ( | CellPtr | pCell1, |
CellPtr | pCell2 | ||
) |
Definition at line 95 of file AbstractCentreBasedCellPopulation.cpp.
Referenced by CryptProjectionForce::CalculateForceBetweenNodes(), and GeneralisedLinearSpringForce< ELEMENT_DIM, SPACE_DIM >::CalculateForceBetweenNodes().
|
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.
Referenced by MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetDampingConstant().
|
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.
Referenced by CryptSimulation1d::CalculateCellDivisionVector(), CryptProjectionStatistics::GetCryptSection(), and CryptStatistics::GetCryptSection().
double AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetMeinekeDivisionSeparation | ( | ) |
Definition at line 219 of file AbstractCentreBasedCellPopulation.cpp.
Referenced by CryptSimulation1d::CalculateCellDivisionVector(), and OffLatticeSimulation< ELEMENT_DIM, SPACE_DIM >::CalculateCellDivisionVector().
|
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.
Referenced by CellPopulationAdjacencyMatrixWriter< ELEMENT_DIM, SPACE_DIM >::Visit().
Node< SPACE_DIM > * AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetNodeCorrespondingToCell | ( | CellPtr | pCell | ) |
Get a pointer to the node corresponding to a given cell.
pCell | the cell |
Definition at line 71 of file AbstractCentreBasedCellPopulation.cpp.
|
virtual |
Overridden IsCellAssociatedWithADeletedLocation() method.
pCell | the cell |
Implements AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >.
Definition at line 143 of file AbstractCentreBasedCellPopulation.cpp.
|
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(), CellPopulationAreaWriter< ELEMENT_DIM, SPACE_DIM >::Visit(), NodeVelocityWriter< ELEMENT_DIM, SPACE_DIM >::Visit(), and HeterotypicBoundaryLengthWriter< ELEMENT_DIM, SPACE_DIM >::Visit().
bool AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::IsMarkedSpring | ( | const std::pair< CellPtr, CellPtr > & | rCellPair | ) |
rCellPair | a set of pointers to Cells |
Definition at line 116 of file AbstractCentreBasedCellPopulation.cpp.
Referenced by CryptProjectionForce::CalculateForceBetweenNodes(), and GeneralisedLinearSpringForce< ELEMENT_DIM, SPACE_DIM >::CalculateForceBetweenNodes().
|
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 | ) |
Mark the spring between the given cells.
rCellPair | a set of pointers to Cells |
Definition at line 125 of file AbstractCentreBasedCellPopulation.cpp.
|
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 >, MeshBasedCellPopulation< DIM >, MeshBasedCellPopulation< 1 >, MeshBasedCellPopulation< 2 >, NodeBasedCellPopulation< DIM >, MeshBasedCellPopulationWithGhostNodes< DIM >, NodeBasedCellPopulationWithParticles< DIM >, and NodeBasedCellPopulationWithBuskeUpdate< DIM >.
Definition at line 250 of file AbstractCentreBasedCellPopulation.cpp.
References AbstractOffLatticeCellPopulation< ELEMENT_DIM, SPACE_DIM >::OutputCellPopulationParameters().
Referenced by NodeBasedCellPopulation< DIM >::OutputCellPopulationParameters(), and MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::OutputCellPopulationParameters().
|
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 >, MeshBasedCellPopulation< DIM >, MeshBasedCellPopulation< 1 >, MeshBasedCellPopulation< 2 >, and NodeBasedCellPopulation< DIM >.
Referenced by AbstractTwoBodyInteractionForce< ELEMENT_DIM, SPACE_DIM >::AddForceContribution().
|
inlineprivate |
Serialize the object and its member variables.
archive | the archive |
version | the current version of this class |
Definition at line 58 of file AbstractCentreBasedCellPopulation.hpp.
void AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::SetMeinekeDivisionSeparation | ( | double | divisionSeparation | ) |
Set mMeinekeDivisionSeparation.
divisionSeparation | the new value of mMeinekeDivisionSeparation |
Definition at line 225 of file AbstractCentreBasedCellPopulation.cpp.
void AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::UnmarkSpring | ( | std::pair< CellPtr, CellPtr > & | rCellPair | ) |
Stop marking the spring between the given cells.
rCellPair | a set of pointers to Cells |
Definition at line 134 of file AbstractCentreBasedCellPopulation.cpp.
Referenced by CryptProjectionForce::CalculateForceBetweenNodes(), and GeneralisedLinearSpringForce< ELEMENT_DIM, SPACE_DIM >::CalculateForceBetweenNodes().
|
virtual |
Overridden UpdateNodeLocations() method.
dt | the time step |
Implements AbstractOffLatticeCellPopulation< ELEMENT_DIM, SPACE_DIM >.
Reimplemented in MeshBasedCellPopulationWithGhostNodes< DIM >, NodeBasedCellPopulationWithParticles< DIM >, and NodeBasedCellPopulationWithBuskeUpdate< DIM >.
Definition at line 156 of file AbstractCentreBasedCellPopulation.cpp.
References EXCEPTION.
Referenced by NodeBasedCellPopulationWithParticles< DIM >::UpdateNodeLocations(), and MeshBasedCellPopulationWithGhostNodes< DIM >::UpdateNodeLocations().
|
protectedpure 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 >, MeshBasedCellPopulation< DIM >, MeshBasedCellPopulation< 1 >, MeshBasedCellPopulation< 2 >, MeshBasedCellPopulationWithGhostNodes< DIM >, NodeBasedCellPopulation< DIM >, and NodeBasedCellPopulationWithParticles< DIM >.
|
friend |
Needed for serialization.
Definition at line 50 of file AbstractCentreBasedCellPopulation.hpp.
|
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(), and AbstractCentreBasedCellPopulation< DIM >::serialize().
|
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< DIM >::serialize().