![]() |
Chaste Commit::675f9facbe008c5eacb9006feaeb6423206579ea
|
#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 const std::vector< std::pair< Node< SPACE_DIM > *, Node< SPACE_DIM > * > > & | rGetNodePairs () const |
| virtual std::vector< std::pair< Node< SPACE_DIM > *, Node< SPACE_DIM > * > > & | rGetModifiableNodePairs () |
| 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 |
| virtual std::set< std::pair< unsigned, unsigned > > | GetNeighbouringEdgeIndices (CellPtr pCell, unsigned pEdgeIndex) |
| c_vector< double, SPACE_DIM > | GetCentroidOfCellPopulation () |
| virtual void | UpdateCellProcessLocation () |
| virtual void | OpenWritersFiles (OutputFileHandler &rOutputFileHandler) |
| virtual 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 | AcceptPopulationEventWriter (boost::shared_ptr< AbstractCellPopulationEventWriter< ELEMENT_DIM, SPACE_DIM > > pPopulationEventWriter)=0 |
| virtual void | AcceptCellWriter (boost::shared_ptr< AbstractCellWriter< ELEMENT_DIM, SPACE_DIM > > pCellWriter, CellPtr pCell)=0 |
| std::vector< std::string > | GetDivisionsInformation () |
| void | AddDivisionInformation (std::string divisionInformation) |
| void | ClearDivisionsInformation () |
| std::vector< std::string > | GetRemovalsInformation () |
| void | AddRemovalInformation (std::string removalInformation) |
| void | ClearRemovalsInformation () |
| void | GenerateRemovalInformation (CellPtr pCell, std::string killerInfo) |
| void | KillCell (CellPtr pCell, std::string killerInfo) |
| void | StartApoptosisOnCell (CellPtr pCell, std::string killerInfo) |
| 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 () |
| template<template< unsigned, unsigned > class T> | |
| void | AddCellPopulationEventWriter () |
| 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) |
| void | AddCellPopulationEventWriter (boost::shared_ptr< AbstractCellPopulationEventWriter< ELEMENT_DIM, SPACE_DIM > > pCellPopulationEventWriter) |
| 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 |
| std::vector< std::pair< Node< SPACE_DIM > *, Node< SPACE_DIM > * > > | mNodePairs = {} |
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 |
| std::vector< boost::shared_ptr< AbstractCellPopulationEventWriter< ELEMENT_DIM, SPACE_DIM > > > | mCellPopulationEventWriters |
| std::vector< std::string > | mDivisionsInformation |
| std::vector< std::string > | mRemovalsInformation |
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.
| ELEMENT_DIM | Dimension of the elements. |
| SPACE_DIM | Dimension of the space. If not specified, it defaults to ELEMENT_DIM. |
Definition at line 53 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 >, MeshBasedCellPopulation< 1 >, MeshBasedCellPopulation< 2 >, and MeshBasedCellPopulation< DIM >.
|
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 >, and AbstractCentreBasedCellPopulation< DIM >.
| double AbstractOffLatticeCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetAbsoluteMovementThreshold | ( | ) |
Definition at line 97 of file AbstractOffLatticeCellPopulation.cpp.
|
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 >, ImmersedBoundaryCellPopulation< DIM >, MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >, MeshBasedCellPopulation< 1 >, MeshBasedCellPopulation< 2 >, MeshBasedCellPopulation< DIM >, and VertexBasedCellPopulation< DIM >.
| double AbstractOffLatticeCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetDampingConstantMutant | ( | ) |
Definition at line 91 of file AbstractOffLatticeCellPopulation.cpp.
| double AbstractOffLatticeCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetDampingConstantNormal | ( | ) |
Definition at line 85 of file AbstractOffLatticeCellPopulation.cpp.
|
virtual |
Overridden OutputCellPopulationParameters() method.
| rParamsFile | the file stream to which the parameters are output |
Implements AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >.
Reimplemented in AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >, AbstractCentreBasedCellPopulation< DIM >, ImmersedBoundaryCellPopulation< DIM >, MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >, MeshBasedCellPopulation< 1 >, MeshBasedCellPopulation< 2 >, MeshBasedCellPopulation< DIM >, MeshBasedCellPopulationWithGhostNodes< DIM >, NodeBasedCellPopulation< DIM >, NodeBasedCellPopulationWithBuskeUpdate< DIM >, NodeBasedCellPopulationWithParticles< DIM >, and VertexBasedCellPopulation< DIM >.
Definition at line 115 of file AbstractOffLatticeCellPopulation.cpp.
Referenced by ImmersedBoundaryCellPopulation< DIM >::OutputCellPopulationParameters(), and VertexBasedCellPopulation< DIM >::OutputCellPopulationParameters().
|
virtual |
Return modifiable mNodePairs vector.
This method should only be used if you need to modify the underlying vector itself. To simply iterate over pairs of nodes, call the const rGetNodePairs method instead.
Definition at line 109 of file AbstractOffLatticeCellPopulation.cpp.
|
virtual |
Method to return the connected nodes in an off-lattice population.
Note that the derived populations are responsible for updating this vector. If you call this method on a population that doesn't use mNodePairs, you will just receive a reference to an empty vector.
Definition at line 103 of file AbstractOffLatticeCellPopulation.cpp.
|
inlineprivate |
Serialize the object and its member variables.
| archive | the archive |
| version | the current version of this class |
Definition at line 66 of file AbstractOffLatticeCellPopulation.hpp.
References AbstractOffLatticeCellPopulation< ELEMENT_DIM, SPACE_DIM >::mAbsoluteMovementThreshold, AbstractOffLatticeCellPopulation< ELEMENT_DIM, SPACE_DIM >::mDampingConstantMutant, and AbstractOffLatticeCellPopulation< ELEMENT_DIM, SPACE_DIM >::mDampingConstantNormal.
| 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.
| 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.
| 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.
|
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 >, MeshBasedCellPopulation< 1 >, MeshBasedCellPopulation< 2 >, and MeshBasedCellPopulation< DIM >.
|
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 ImmersedBoundaryCellPopulation< DIM >, and NodeBasedCellPopulationWithBuskeUpdate< DIM >.
Definition at line 57 of file AbstractOffLatticeCellPopulation.cpp.
References NEVER_REACHED.
Needed for serialization.
Definition at line 58 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 93 of file AbstractOffLatticeCellPopulation.hpp.
Referenced by AbstractOffLatticeCellPopulation< ELEMENT_DIM, SPACE_DIM >::serialize().
|
protected |
Damping constant for mutant cells has units of kg s^-1.
Definition at line 86 of file AbstractOffLatticeCellPopulation.hpp.
Referenced by AbstractOffLatticeCellPopulation< ELEMENT_DIM, SPACE_DIM >::serialize().
|
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 81 of file AbstractOffLatticeCellPopulation.hpp.
Referenced by AbstractOffLatticeCellPopulation< ELEMENT_DIM, SPACE_DIM >::serialize().
|
protected |
Node pairs that may interact, for force calculations.
Some derived populations (e.g. VertexBased) do not use this, but others (e.g. NodeBased) need to provide pairs of nodes for force calculations.
Definition at line 101 of file AbstractOffLatticeCellPopulation.hpp.