Chaste
Release::2017.1
|
#include <AbstractOffLatticeCellPopulation.hpp>
Public Member Functions | |
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 |
virtual void | UpdateNodeLocations (double dt) |
virtual void | CheckForStepSizeException (unsigned nodeIndex, c_vector< double, SPACE_DIM > &rDisplacement, double dt)=0 |
virtual double | GetDampingConstant (unsigned nodeIndex)=0 |
void | SetDampingConstantNormal (double dampingConstantNormal) |
void | SetDampingConstantMutant (double dampingConstantMutant) |
void | SetAbsoluteMovementThreshold (double absoluteMovementThreshold) |
double | GetAbsoluteMovementThreshold () |
double | GetDampingConstantNormal () |
double | GetDampingConstantMutant () |
virtual void | OutputCellPopulationParameters (out_stream &rParamsFile) |
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 () |
virtual TetrahedralMesh< ELEMENT_DIM, SPACE_DIM > * | GetTetrahedralMeshForPdeModifier ()=0 |
virtual bool | IsPdeNodeAssociatedWithNonApoptoticCell (unsigned pdeNodeIndex) |
virtual double | GetCellDataItemAtPdeNode (unsigned pdeNodeIndex, std::string &rVariableName, bool dirichletBoundaryConditionApplies=false, double dirichletBoundaryValue=0.0)=0 |
std::list< CellPtr > & | rGetCells () |
virtual unsigned | GetNumNodes ()=0 |
virtual c_vector< double, SPACE_DIM > | GetLocationOfCellCentre (CellPtr pCell)=0 |
virtual Node< SPACE_DIM > * | GetNode (unsigned index)=0 |
virtual bool | IsCellAssociatedWithADeletedLocation (CellPtr pCell)=0 |
virtual void | WriteDataToVisualizerSetupFile (out_stream &pVizSetupFile) |
virtual CellPtr | AddCell (CellPtr pNewCell, CellPtr pParentCell=CellPtr())=0 |
virtual double | GetDefaultTimeStep ()=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) |
virtual 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 |
virtual std::set< unsigned > | GetNeighbouringLocationIndices (CellPtr pCell)=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) |
virtual void | SimulationSetupHook (AbstractCellBasedSimulation< ELEMENT_DIM, SPACE_DIM > *pSimulation) |
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 | |
AbstractOffLatticeCellPopulation (AbstractMesh< ELEMENT_DIM, SPACE_DIM > &rMesh) | |
Protected Member Functions inherited from AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM > | |
virtual void | Validate ()=0 |
virtual void | WriteVtkResultsToFile (const std::string &rDirectory)=0 |
AbstractCellPopulation (AbstractMesh< ELEMENT_DIM, SPACE_DIM > &rMesh) | |
virtual void | AcceptCellWritersAcrossPopulation () |
Protected Attributes | |
double | mDampingConstantNormal |
double | mDampingConstantMutant |
double | mAbsoluteMovementThreshold |
Protected Attributes inherited from AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM > | |
std::map< unsigned, std::set< CellPtr > > | mLocationCellMap |
std::map< Cell *, unsigned > | mCellLocationMap |
AbstractMesh< ELEMENT_DIM, SPACE_DIM > & | mrMesh |
std::list< CellPtr > | mCells |
c_vector< double, SPACE_DIM > | mCentroid |
out_stream | mpVtkMetaFile |
boost::shared_ptr< CellPropertyRegistry > | mpCellPropertyRegistry |
bool | mOutputResultsForChasteVisualizer |
std::vector< boost::shared_ptr< AbstractCellWriter< ELEMENT_DIM, SPACE_DIM > > > | mCellWriters |
std::vector< boost::shared_ptr< AbstractCellPopulationWriter< ELEMENT_DIM, SPACE_DIM > > > | mCellPopulationWriters |
std::vector< boost::shared_ptr< AbstractCellPopulationCountWriter< ELEMENT_DIM, SPACE_DIM > > > | mCellPopulationCountWriters |
Private Member Functions | |
template<class Archive > | |
void | serialize (Archive &archive, const unsigned int version) |
Friends | |
class | boost::serialization::access |
An abstract facade class encapsulating an off-lattice (centre- or vertex-based) cell population.
Definition at line 46 of file AbstractOffLatticeCellPopulation.hpp.
|
protected |
Constructor that just takes in a mesh.
rMesh | the mesh for the cell population. |
Definition at line 50 of file AbstractOffLatticeCellPopulation.cpp.
AbstractOffLatticeCellPopulation< ELEMENT_DIM, SPACE_DIM >::AbstractOffLatticeCellPopulation | ( | AbstractMesh< ELEMENT_DIM, SPACE_DIM > & | rMesh, |
std::vector< CellPtr > & | rCells, | ||
const std::vector< unsigned > | locationIndices = std::vector<unsigned>() |
||
) |
Default constructor.
rMesh | a refernce 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 AbstractOffLatticeCellPopulation.cpp.
|
pure virtual |
Add a new node to the cell population.
As this method is pure virtual, it must be overridden in subclasses.
pNewNode | pointer to the new node |
Implemented in MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >.
Referenced by AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::AddCell().
|
pure virtual |
Checks whether a given node displacement violates the movement threshold for this population. If so, a stepSizeException is generated that contains a warning/error message and a suggested smaller dt that should avoid the problem.
As this method is pure virtual, it must be overridden in subclasses.
nodeIndex | Index of the node in question (allows us to check whether this is a ghost or particle) |
rDisplacement | Movement vector of the node at this time step |
dt | Current time step size |
Implemented in AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >.
double AbstractOffLatticeCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetAbsoluteMovementThreshold | ( | ) |
Definition at line 97 of file AbstractOffLatticeCellPopulation.cpp.
References AbstractOffLatticeCellPopulation< ELEMENT_DIM, SPACE_DIM >::mAbsoluteMovementThreshold.
|
pure virtual |
Get the damping constant for this node - ie d in drdt = F/d.
As this method is pure virtual, it must be overridden in subclasses.
nodeIndex | the global index of this node |
Implemented in AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >, AbstractCentreBasedCellPopulation< DIM >, MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >, MeshBasedCellPopulation< DIM >, MeshBasedCellPopulation< 1 >, MeshBasedCellPopulation< 2 >, and VertexBasedCellPopulation< DIM >.
double AbstractOffLatticeCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetDampingConstantMutant | ( | ) |
Definition at line 91 of file AbstractOffLatticeCellPopulation.cpp.
References AbstractOffLatticeCellPopulation< ELEMENT_DIM, SPACE_DIM >::mDampingConstantMutant.
Referenced by AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetDampingConstant().
double AbstractOffLatticeCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetDampingConstantNormal | ( | ) |
Definition at line 85 of file AbstractOffLatticeCellPopulation.cpp.
References AbstractOffLatticeCellPopulation< ELEMENT_DIM, SPACE_DIM >::mDampingConstantNormal.
Referenced by AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetDampingConstant().
|
virtual |
Overridden OutputCellPopulationParameters() method.
rParamsFile | the file stream to which the parameters are output |
Implements AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >.
Reimplemented in MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >, MeshBasedCellPopulation< DIM >, MeshBasedCellPopulation< 1 >, MeshBasedCellPopulation< 2 >, VertexBasedCellPopulation< DIM >, NodeBasedCellPopulation< DIM >, AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >, AbstractCentreBasedCellPopulation< DIM >, MeshBasedCellPopulationWithGhostNodes< DIM >, NodeBasedCellPopulationWithParticles< DIM >, and NodeBasedCellPopulationWithBuskeUpdate< DIM >.
Definition at line 103 of file AbstractOffLatticeCellPopulation.cpp.
References AbstractOffLatticeCellPopulation< ELEMENT_DIM, SPACE_DIM >::mDampingConstantMutant, AbstractOffLatticeCellPopulation< ELEMENT_DIM, SPACE_DIM >::mDampingConstantNormal, and AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::OutputCellPopulationParameters().
Referenced by AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::OutputCellPopulationParameters(), and VertexBasedCellPopulation< DIM >::OutputCellPopulationParameters().
|
inlineprivate |
Serialize the object and its member variables.
archive | the archive |
version | the current version of this class |
Definition at line 59 of file AbstractOffLatticeCellPopulation.hpp.
void AbstractOffLatticeCellPopulation< ELEMENT_DIM, SPACE_DIM >::SetAbsoluteMovementThreshold | ( | double | absoluteMovementThreshold | ) |
Set mAbsoluteMovementThreshold.
absoluteMovementThreshold | the new value of mAbsoluteMovementThreshold |
Definition at line 79 of file AbstractOffLatticeCellPopulation.cpp.
References AbstractOffLatticeCellPopulation< ELEMENT_DIM, SPACE_DIM >::mAbsoluteMovementThreshold.
void AbstractOffLatticeCellPopulation< ELEMENT_DIM, SPACE_DIM >::SetDampingConstantMutant | ( | double | dampingConstantMutant | ) |
Set mDampingConstantMutant.
dampingConstantMutant | the new value of mDampingConstantMutant |
Definition at line 72 of file AbstractOffLatticeCellPopulation.cpp.
References AbstractOffLatticeCellPopulation< ELEMENT_DIM, SPACE_DIM >::mDampingConstantMutant.
void AbstractOffLatticeCellPopulation< ELEMENT_DIM, SPACE_DIM >::SetDampingConstantNormal | ( | double | dampingConstantNormal | ) |
Set mDampingConstantNormal.
dampingConstantNormal | the new value of mDampingConstantNormal |
Definition at line 65 of file AbstractOffLatticeCellPopulation.cpp.
References AbstractOffLatticeCellPopulation< ELEMENT_DIM, SPACE_DIM >::mDampingConstantNormal.
|
pure virtual |
Move the node with a given index to a new point in space.
As this method is pure virtual, it must be overridden in subclasses.
nodeIndex | the index of the node to be moved |
rNewLocation | the new target location of the node |
Implements AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >.
Implemented in MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >.
Referenced by AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::AddCell().
|
virtual |
This is a deprecated method and only used in NodesOnlyCellPopulationWithBuskeUpdate.
Update the location of each node in the cell population given a vector of forces on nodes and a time step over which to integrate the equations of motion.
As this method is pure virtual, it must be overridden in subclasses.
dt | time step |
Reimplemented in NodeBasedCellPopulationWithBuskeUpdate< DIM >.
Definition at line 57 of file AbstractOffLatticeCellPopulation.cpp.
References NEVER_REACHED.
|
friend |
Needed for serialization.
Definition at line 51 of file AbstractOffLatticeCellPopulation.hpp.
|
protected |
The absolute distance which a cell is permitted to move in one time-step. Movement beyond this threshold will trigger UpdateNodeLocations to throw an exception
Definition at line 86 of file AbstractOffLatticeCellPopulation.hpp.
Referenced by AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::CheckForStepSizeException(), AbstractOffLatticeCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetAbsoluteMovementThreshold(), AbstractOffLatticeCellPopulation< DIM >::serialize(), and AbstractOffLatticeCellPopulation< ELEMENT_DIM, SPACE_DIM >::SetAbsoluteMovementThreshold().
|
protected |
Damping constant for mutant cells has units of kg s^-1.
Definition at line 79 of file AbstractOffLatticeCellPopulation.hpp.
Referenced by AbstractOffLatticeCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetDampingConstantMutant(), AbstractOffLatticeCellPopulation< ELEMENT_DIM, SPACE_DIM >::OutputCellPopulationParameters(), AbstractOffLatticeCellPopulation< DIM >::serialize(), and AbstractOffLatticeCellPopulation< ELEMENT_DIM, SPACE_DIM >::SetDampingConstantMutant().
|
protected |
Damping constant for normal cells has units of kg s^-1 Represented by the parameter eta in the model by Meineke et al (2001) in their off-lattice model of the intestinal crypt (doi:10.1046/j.0960-7722.2001.00216.x).
Definition at line 74 of file AbstractOffLatticeCellPopulation.hpp.
Referenced by AbstractOffLatticeCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetDampingConstantNormal(), AbstractOffLatticeCellPopulation< ELEMENT_DIM, SPACE_DIM >::OutputCellPopulationParameters(), AbstractOffLatticeCellPopulation< DIM >::serialize(), and AbstractOffLatticeCellPopulation< ELEMENT_DIM, SPACE_DIM >::SetDampingConstantNormal().