![]() |
Chaste
Release::2017.1
|
#include <AbstractOffLatticeCellPopulation.hpp>
Inheritance diagram for AbstractOffLatticeCellPopulation< ELEMENT_DIM, SPACE_DIM >:
Collaboration diagram for AbstractOffLatticeCellPopulation< ELEMENT_DIM, SPACE_DIM >: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().