#include <AbstractCentreBasedCellPopulation.hpp>
Inherits AbstractOffLatticeCellPopulation< DIM >.
Inherited by MeshBasedCellPopulation< DIM >, MeshBasedCellPopulation< 1 >, MeshBasedCellPopulation< 2 >, and NodeBasedCellPopulation< DIM >.
Public Member Functions | |
AbstractCentreBasedCellPopulation (std::vector< CellPtr > &rCells, const std::vector< unsigned > locationIndices=std::vector< unsigned >()) | |
c_vector< double, DIM > | GetLocationOfCellCentre (CellPtr pCell) |
Node< DIM > * | GetNodeCorrespondingToCell (CellPtr pCell) |
CellPtr | AddCell (CellPtr pNewCell, const c_vector< double, DIM > &rCellDivisionVector, CellPtr pParentCell=CellPtr()) |
bool | IsCellAssociatedWithADeletedLocation (CellPtr pCell) |
virtual void | UpdateNodeLocations (const std::vector< c_vector< double, DIM > > &rNodeForces, double dt) |
virtual double | GetDampingConstant (unsigned nodeIndex) |
void | GenerateCellResults (unsigned locationIndex, std::vector< unsigned > &rCellProliferativeTypeCounter, std::vector< unsigned > &rCellCyclePhaseCounter) |
virtual void | GenerateCellResultsAndWriteToFiles () |
virtual void | WriteTimeAndNodeResultsToFiles () |
virtual bool | IsGhostNode (unsigned index) |
double | GetMeinekeDivisionSeparation () |
void | SetMeinekeDivisionSeparation (double divisionSeparation) |
virtual void | OutputCellPopulationParameters (out_stream &rParamsFile) |
Protected Member Functions | |
AbstractCentreBasedCellPopulation () | |
virtual void | WriteVtkResultsToFile ()=0 |
Protected Attributes | |
double | mMeinekeDivisionSeparation |
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 42 of file AbstractCentreBasedCellPopulation.hpp.
AbstractCentreBasedCellPopulation< DIM >::AbstractCentreBasedCellPopulation | ( | ) | [inline, protected] |
Constructor for use by archiving only.
Definition at line 40 of file AbstractCentreBasedCellPopulation.cpp.
AbstractCentreBasedCellPopulation< DIM >::AbstractCentreBasedCellPopulation | ( | std::vector< CellPtr > & | rCells, | |
const std::vector< unsigned > | locationIndices = std::vector<unsigned>() | |||
) | [inline] |
Default constructor.
rCells | a vector of cells | |
locationIndices | an optional vector of location indices that correspond to real cells |
Definition at line 32 of file AbstractCentreBasedCellPopulation.cpp.
CellPtr AbstractCentreBasedCellPopulation< DIM >::AddCell | ( | CellPtr | pNewCell, | |
const c_vector< double, 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< DIM >.
Reimplemented in MeshBasedCellPopulation< DIM >, MeshBasedCellPopulationWithGhostNodes< DIM >, NodeBasedCellPopulation< DIM >, MeshBasedCellPopulation< 1 >, and MeshBasedCellPopulation< 2 >.
Definition at line 61 of file AbstractCentreBasedCellPopulation.cpp.
References AbstractOffLatticeCellPopulation< DIM >::AddNode(), AbstractCellPopulation< DIM >::GetNumNodes(), AbstractCellPopulation< DIM >::mCellLocationMap, AbstractCellPopulation< DIM >::mCells, and AbstractCellPopulation< DIM >::mLocationCellMap.
void AbstractCentreBasedCellPopulation< 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.
locationIndex | location index of the cell | |
rCellProliferativeTypeCounter | cell type counter | |
rCellCyclePhaseCounter | cell cycle phase counter |
Reimplemented from AbstractCellPopulation< DIM >.
Definition at line 129 of file AbstractCentreBasedCellPopulation.cpp.
References AbstractCentreBasedCellPopulation< DIM >::IsGhostNode(), and AbstractCellPopulation< DIM >::mpVizCellProliferativeTypesFile.
Referenced by AbstractCentreBasedCellPopulation< DIM >::GenerateCellResultsAndWriteToFiles().
void AbstractCentreBasedCellPopulation< DIM >::GenerateCellResultsAndWriteToFiles | ( | ) | [inline, virtual] |
Overridden GenerateCellResultsAndWriteToFiles() method.
Implements AbstractCellPopulation< DIM >.
Definition at line 146 of file AbstractCentreBasedCellPopulation.cpp.
References AbstractCentreBasedCellPopulation< DIM >::GenerateCellResults(), AbstractCellPopulation< DIM >::GetNode(), AbstractCellPopulation< DIM >::GetNumNodes(), AbstractCellPopulation< DIM >::mCellCyclePhaseCount, AbstractCellPopulation< DIM >::mCellProliferativeTypeCount, AbstractCellPopulation< DIM >::mLocationCellMap, and AbstractCellPopulation< DIM >::WriteCellResultsToFiles().
double AbstractCentreBasedCellPopulation< 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< DIM >.
Reimplemented in MeshBasedCellPopulation< DIM >, MeshBasedCellPopulation< 1 >, and MeshBasedCellPopulation< 2 >.
Definition at line 109 of file AbstractCentreBasedCellPopulation.cpp.
References AbstractCellPopulation< DIM >::GetCellUsingLocationIndex(), AbstractOffLatticeCellPopulation< DIM >::GetDampingConstantMutant(), and AbstractOffLatticeCellPopulation< DIM >::GetDampingConstantNormal().
Referenced by NodeBasedCellPopulationWithBuskeUpdate< DIM >::UpdateNodeLocations(), and AbstractCentreBasedCellPopulation< DIM >::UpdateNodeLocations().
c_vector< double, DIM > AbstractCentreBasedCellPopulation< DIM >::GetLocationOfCellCentre | ( | CellPtr | pCell | ) | [inline, virtual] |
Overridden GetLocationOfCellCentre() method. Find where a given cell is in space.
pCell | the cell |
Implements AbstractCellPopulation< DIM >.
Definition at line 47 of file AbstractCentreBasedCellPopulation.cpp.
References AbstractCentreBasedCellPopulation< DIM >::GetNodeCorrespondingToCell().
Referenced by CryptSimulation1d::CalculateCellDivisionVector(), CryptStatistics::GetCryptSection(), and CryptProjectionStatistics::GetCryptSection().
double AbstractCentreBasedCellPopulation< DIM >::GetMeinekeDivisionSeparation | ( | ) | [inline] |
Definition at line 219 of file AbstractCentreBasedCellPopulation.cpp.
References AbstractCentreBasedCellPopulation< DIM >::mMeinekeDivisionSeparation.
Referenced by CryptSimulation1d::CalculateCellDivisionVector().
Node< DIM > * AbstractCentreBasedCellPopulation< DIM >::GetNodeCorrespondingToCell | ( | CellPtr | pCell | ) | [inline] |
Get a pointer to the node corresponding to a given cell.
pCell | the cell |
Definition at line 53 of file AbstractCentreBasedCellPopulation.cpp.
References AbstractCellPopulation< DIM >::GetNode(), and AbstractCellPopulation< DIM >::mCellLocationMap.
Referenced by AbstractCentreBasedCellPopulation< DIM >::GetLocationOfCellCentre(), AbstractCentreBasedCellPopulation< DIM >::IsCellAssociatedWithADeletedLocation(), and MeshBasedCellPopulation< DIM >::Update().
bool AbstractCentreBasedCellPopulation< DIM >::IsCellAssociatedWithADeletedLocation | ( | CellPtr | pCell | ) | [inline, virtual] |
Overridden IsCellAssociatedWithADeletedLocation() method.
pCell | the cell |
Implements AbstractCellPopulation< DIM >.
Definition at line 78 of file AbstractCentreBasedCellPopulation.cpp.
References AbstractCentreBasedCellPopulation< DIM >::GetNodeCorrespondingToCell().
bool AbstractCentreBasedCellPopulation< 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 123 of file AbstractCentreBasedCellPopulation.cpp.
Referenced by AbstractCentreBasedCellPopulation< DIM >::GenerateCellResults(), CellwiseDataGradient< DIM >::SetupGradients(), MeshBasedCellPopulation< DIM >::WriteCellPopulationVolumeResultsToFile(), MeshBasedCellPopulation< DIM >::WriteCellVolumeResultsToFile(), and MeshBasedCellPopulation< DIM >::WriteVtkResultsToFile().
void AbstractCentreBasedCellPopulation< DIM >::OutputCellPopulationParameters | ( | out_stream & | rParamsFile | ) | [inline, virtual] |
Overridden OutputCellPopulationParameters() method.
rParamsFile | the file stream to which the parameters are output |
Reimplemented from AbstractOffLatticeCellPopulation< DIM >.
Reimplemented in MeshBasedCellPopulation< DIM >, MeshBasedCellPopulationWithGhostNodes< DIM >, NodeBasedCellPopulation< DIM >, NodeBasedCellPopulationWithBuskeUpdate< DIM >, MeshBasedCellPopulation< 1 >, and MeshBasedCellPopulation< 2 >.
Definition at line 233 of file AbstractCentreBasedCellPopulation.cpp.
References AbstractCentreBasedCellPopulation< DIM >::mMeinekeDivisionSeparation.
void AbstractCentreBasedCellPopulation< 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< DIM >.
Reimplemented in MeshBasedCellPopulation< DIM >, MeshBasedCellPopulationWithGhostNodes< DIM >, NodeBasedCellPopulation< DIM >, NodeBasedCellPopulationWithBuskeUpdate< DIM >, MeshBasedCellPopulation< 1 >, and MeshBasedCellPopulation< 2 >.
Definition at line 54 of file AbstractCentreBasedCellPopulation.hpp.
References AbstractCentreBasedCellPopulation< DIM >::mMeinekeDivisionSeparation.
void AbstractCentreBasedCellPopulation< DIM >::SetMeinekeDivisionSeparation | ( | double | divisionSeparation | ) | [inline] |
Set mMeinekeDivisionSeparation.
divisionSeparation | the new value of mMeinekeDivisionSeparation |
Definition at line 225 of file AbstractCentreBasedCellPopulation.cpp.
References AbstractCentreBasedCellPopulation< DIM >::mMeinekeDivisionSeparation.
void AbstractCentreBasedCellPopulation< DIM >::UpdateNodeLocations | ( | const std::vector< c_vector< double, DIM > > & | rNodeForces, | |
double | dt | |||
) | [inline, virtual] |
Overridden UpdateNodeLocations() method.
rNodeForces | a vector containing the force on each node in the cell population | |
dt | the time step |
Implements AbstractOffLatticeCellPopulation< DIM >.
Reimplemented in MeshBasedCellPopulationWithGhostNodes< DIM >, and NodeBasedCellPopulationWithBuskeUpdate< DIM >.
Definition at line 84 of file AbstractCentreBasedCellPopulation.cpp.
References AbstractCellPopulation< DIM >::Begin(), AbstractCellPopulation< DIM >::End(), AbstractCentreBasedCellPopulation< DIM >::GetDampingConstant(), AbstractCellPopulation< DIM >::GetNode(), AbstractCellPopulation< DIM >::mCellLocationMap, and AbstractOffLatticeCellPopulation< DIM >::SetNode().
void AbstractCentreBasedCellPopulation< DIM >::WriteTimeAndNodeResultsToFiles | ( | ) | [inline, virtual] |
Overridden WriteTimeAndNodeResultsToFiles() method.
Reimplemented from AbstractCellPopulation< DIM >.
Definition at line 185 of file AbstractCentreBasedCellPopulation.cpp.
References AbstractCellPopulation< DIM >::GetNode(), AbstractCellPopulation< DIM >::GetNumNodes(), SimulationTime::GetTime(), SimulationTime::Instance(), AbstractCellPopulation< DIM >::mLocationCellMap, AbstractCellPopulation< DIM >::mpVizBoundaryNodesFile, and AbstractCellPopulation< DIM >::mpVizNodesFile.
virtual void AbstractCentreBasedCellPopulation< DIM >::WriteVtkResultsToFile | ( | ) | [protected, pure virtual] |
Write the current results to mpVtkMetaFile.
As this method is pure virtual, it must be overridden in subclasses.
Implements AbstractCellPopulation< DIM >.
Implemented in MeshBasedCellPopulation< DIM >, MeshBasedCellPopulationWithGhostNodes< DIM >, NodeBasedCellPopulation< DIM >, MeshBasedCellPopulation< 1 >, and MeshBasedCellPopulation< 2 >.
friend class boost::serialization::access [friend] |
Needed for serialization.
Reimplemented from AbstractOffLatticeCellPopulation< DIM >.
Reimplemented in MeshBasedCellPopulation< DIM >, MeshBasedCellPopulationWithGhostNodes< DIM >, NodeBasedCellPopulation< DIM >, NodeBasedCellPopulationWithBuskeUpdate< DIM >, MeshBasedCellPopulation< 1 >, and MeshBasedCellPopulation< 2 >.
Definition at line 46 of file AbstractCentreBasedCellPopulation.hpp.
double AbstractCentreBasedCellPopulation< DIM >::mMeinekeDivisionSeparation [protected] |
Initial separation placement of mother/daughter cells at birth. Has units of cell size at equilibrium rest length
Definition at line 66 of file AbstractCentreBasedCellPopulation.hpp.
Referenced by AbstractCentreBasedCellPopulation< DIM >::GetMeinekeDivisionSeparation(), AbstractCentreBasedCellPopulation< DIM >::OutputCellPopulationParameters(), AbstractCentreBasedCellPopulation< DIM >::serialize(), and AbstractCentreBasedCellPopulation< DIM >::SetMeinekeDivisionSeparation().