![]() |
Chaste
Release::2024.1
|
#include <VertexBasedCellPopulation.hpp>
Inheritance diagram for VertexBasedCellPopulation< DIM >:
Collaboration diagram for VertexBasedCellPopulation< DIM >:Public Member Functions | |
| VertexBasedCellPopulation (MutableVertexMesh< DIM, DIM > &rMesh, std::vector< CellPtr > &rCells, bool deleteMesh=false, bool validate=true, const std::vector< unsigned > locationIndices=std::vector< unsigned >()) | |
| VertexBasedCellPopulation (MutableVertexMesh< DIM, DIM > &rMesh) | |
| virtual | ~VertexBasedCellPopulation () |
| double | GetDampingConstant (unsigned nodeIndex) |
| MutableVertexMesh< DIM, DIM > & | rGetMesh () |
| const MutableVertexMesh< DIM, DIM > & | rGetMesh () const |
| VertexElement< DIM, DIM > * | GetElement (unsigned elementIndex) |
| unsigned | GetNumElements () |
| unsigned | GetNumNodes () |
| c_vector< double, DIM > | GetLocationOfCellCentre (CellPtr pCell) |
| Node< DIM > * | GetNode (unsigned index) |
| std::set< unsigned > | GetNeighbouringLocationIndices (CellPtr pCell) |
| unsigned | AddNode (Node< DIM > *pNewNode) |
| virtual void | CheckForStepSizeException (unsigned nodeIndex, c_vector< double, DIM > &rDisplacement, double dt) |
| void | SetNode (unsigned index, ChastePoint< DIM > &rNewLocation) |
| VertexElement< DIM, DIM > * | GetElementCorrespondingToCell (CellPtr pCell) |
| CellPtr | AddCell (CellPtr pNewCell, CellPtr pParentCell=CellPtr()) |
| unsigned | RemoveDeadCells () |
| bool | IsCellAssociatedWithADeletedLocation (CellPtr pCell) |
| void | Update (bool hasHadBirthsOrDeaths=true) |
| virtual void | OpenWritersFiles (OutputFileHandler &rOutputFileHandler) |
| virtual void | AcceptPopulationWriter (boost::shared_ptr< AbstractCellPopulationWriter< DIM, DIM > > pPopulationWriter) |
| virtual void | AcceptPopulationCountWriter (boost::shared_ptr< AbstractCellPopulationCountWriter< DIM, DIM > > pPopulationCountWriter) |
| virtual void | AcceptCellWriter (boost::shared_ptr< AbstractCellWriter< DIM, DIM > > pCellWriter, CellPtr pCell) |
| unsigned | GetRosetteRankOfCell (CellPtr pCell) |
| double | GetVolumeOfCell (CellPtr pCell) |
| std::vector< c_vector< double, DIM > > | GetLocationsOfT2Swaps () |
| std::vector< unsigned > | GetCellIdsOfT2Swaps () |
| void | AddLocationOfT2Swap (c_vector< double, DIM > locationOfT2Swap) |
| void | AddCellIdOfT2Swap (unsigned idOfT2Swap) |
| void | ClearLocationsAndCellIdsOfT2Swaps () |
| bool | GetOutputCellRearrangementLocations () |
| void | SetOutputCellRearrangementLocations (bool outputCellRearrangementLocations) |
| void | OutputCellPopulationParameters (out_stream &rParamsFile) |
| double | GetWidth (const unsigned &rDimension) |
| std::set< unsigned > | GetNeighbouringNodeIndices (unsigned index) |
| virtual TetrahedralMesh< DIM, DIM > * | GetTetrahedralMeshForPdeModifier () |
| virtual bool | IsPdeNodeAssociatedWithNonApoptoticCell (unsigned pdeNodeIndex) |
| virtual double | GetCellDataItemAtPdeNode (unsigned pdeNodeIndex, std::string &rVariableName, bool dirichletBoundaryConditionApplies=false, double dirichletBoundaryValue=0.0) |
| boost::shared_ptr< AbstractVertexBasedDivisionRule< DIM > > | GetVertexBasedDivisionRule () |
| void | SetVertexBasedDivisionRule (boost::shared_ptr< AbstractVertexBasedDivisionRule< DIM > > pVertexBasedDivisionRule) |
| virtual double | GetDefaultTimeStep () |
| virtual void | WriteDataToVisualizerSetupFile (out_stream &pVizSetupFile) |
| virtual void | SimulationSetupHook (AbstractCellBasedSimulation< DIM, DIM > *pSimulation) |
| bool | GetRestrictVertexMovementBoolean () |
| void | SetRestrictVertexMovementBoolean (bool restrictVertexMovement) |
Public Member Functions inherited from AbstractOffLatticeCellPopulation< DIM > | |
| AbstractOffLatticeCellPopulation (AbstractMesh< ELEMENT_DIM, ELEMENT_DIM > &rMesh, std::vector< CellPtr > &rCells, const std::vector< unsigned > locationIndices=std::vector< unsigned >()) | |
| virtual unsigned | AddNode (Node< ELEMENT_DIM > *pNewNode)=0 |
| virtual void | SetNode (unsigned nodeIndex, ChastePoint< ELEMENT_DIM > &rNewLocation)=0 |
| virtual void | UpdateNodeLocations (double dt) |
| virtual void | CheckForStepSizeException (unsigned nodeIndex, c_vector< double, ELEMENT_DIM > &rDisplacement, double dt)=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, ELEMENT_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 void | SetNode (unsigned nodeIndex, ChastePoint< SPACE_DIM > &rNewLocation)=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 () |
| c_vector< double, SPACE_DIM > | GetCentroidOfCellPopulation () |
| virtual void | UpdateCellProcessLocation () |
| 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 () |
| void | AddPopulationWriter () |
| void | AddPopulationWriter (boost::shared_ptr< AbstractCellPopulationWriter< ELEMENT_DIM, SPACE_DIM > > pPopulationWriter) |
| void | AddCellWriter () |
| void | AddCellWriter (boost::shared_ptr< AbstractCellWriter< ELEMENT_DIM, SPACE_DIM > > pCellWriter) |
| void | AddCellPopulationCountWriter () |
| void | AddCellPopulationCountWriter (boost::shared_ptr< AbstractCellPopulationCountWriter< ELEMENT_DIM, SPACE_DIM > > pCellPopulationCountWriter) |
| 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 |
Private Member Functions | |
| virtual void | WriteVtkResultsToFile (const std::string &rDirectory) |
| template<class Archive > | |
| void | serialize (Archive &archive, const unsigned int version) |
| void | Validate () |
Private Attributes | |
| bool | mDeleteMesh |
| MutableVertexMesh< DIM, DIM > * | mpMutableVertexMesh |
| bool | mOutputCellRearrangementLocations |
| boost::shared_ptr< AbstractVertexBasedDivisionRule< DIM > > | mpVertexBasedDivisionRule |
| std::vector< c_vector< double, DIM > > | mLocationsOfT2Swaps |
| std::vector< unsigned > | mCellIdsOfT2Swaps |
| bool | mRestrictVertexMovement |
| bool | mThrowStepSizeException = true |
Friends | |
| class | TestVertexBasedDivisionRules |
| class | boost::serialization::access |
A facade class encapsulating a vertex-based cell population.
Contains a group of cells and maintains the associations between CellPtrs and elements in the MutableVertexMesh.
Definition at line 47 of file FixedVertexBasedDivisionRule.hpp.
| VertexBasedCellPopulation< DIM >::VertexBasedCellPopulation | ( | MutableVertexMesh< DIM, DIM > & | rMesh, |
| std::vector< CellPtr > & | rCells, | ||
| bool | deleteMesh = false, |
||
| bool | validate = true, |
||
| const std::vector< unsigned > | locationIndices = std::vector<unsigned>() |
||
| ) |
Create a new cell population facade from a mesh and collection of cells.
There must be precisely one CellPtr for each VertexElement in the mesh.
| rMesh | reference to a |
| rCells | reference to a vector of CellPtrs |
| deleteMesh | set to true if you want the cell population to free the mesh memory on destruction |
| validate | whether to validate the cell population when it is created (defaults to true) |
| locationIndices | an optional vector of location indices that correspond to real cells |
Definition at line 53 of file VertexBasedCellPopulation.cpp.
References AbstractCellPopulation< ELEMENT_DIM, ELEMENT_DIM >::mCells, VertexBasedCellPopulation< DIM >::mpMutableVertexMesh, VertexBasedCellPopulation< DIM >::mpVertexBasedDivisionRule, and AbstractCellPopulation< ELEMENT_DIM, ELEMENT_DIM >::mrMesh.
Referenced by VertexBasedCellPopulation< DIM >::serialize().
| VertexBasedCellPopulation< DIM >::VertexBasedCellPopulation | ( | MutableVertexMesh< DIM, DIM > & | rMesh | ) |
Constructor for use by boost serialization ONLY!
| rMesh | a vertex mesh. |
Definition at line 82 of file VertexBasedCellPopulation.cpp.
References VertexBasedCellPopulation< DIM >::mpMutableVertexMesh, and AbstractCellPopulation< ELEMENT_DIM, ELEMENT_DIM >::mrMesh.
|
virtual |
Destructor, which frees any memory allocated by the constructor.
Definition at line 92 of file VertexBasedCellPopulation.cpp.
References VertexBasedCellPopulation< DIM >::mDeleteMesh, and AbstractCellPopulation< ELEMENT_DIM, ELEMENT_DIM >::mrMesh.
Referenced by VertexBasedCellPopulation< DIM >::serialize().
|
virtual |
A virtual method to accept a cell writer so it can write data from this object to file.
| pCellWriter | the population writer. |
| pCell | the cell whose data are being written. |
Definition at line 368 of file VertexBasedCellPopulation.cpp.
|
virtual |
A virtual method to accept a cell population count writer so it can write data from this object to file.
| pPopulationCountWriter | the population count writer. |
Definition at line 362 of file VertexBasedCellPopulation.cpp.
|
virtual |
A virtual method to accept a cell population writer so it can write data from this object to file.
| pPopulationWriter | the population writer. |
Definition at line 356 of file VertexBasedCellPopulation.cpp.
|
virtual |
Overridden AddCell() method.
Add a new cell to the cell population.
| pNewCell | the cell to add |
| pParentCell | pointer to a parent cell (if required) |
Implements AbstractCellPopulation< ELEMENT_DIM, ELEMENT_DIM >.
Definition at line 203 of file VertexBasedCellPopulation.cpp.
References MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::DivideElementAlongGivenAxis(), VertexBasedCellPopulation< DIM >::GetElementCorrespondingToCell(), AbstractCellPopulation< ELEMENT_DIM, ELEMENT_DIM >::mCellLocationMap, AbstractCellPopulation< ELEMENT_DIM, ELEMENT_DIM >::mCells, VertexBasedCellPopulation< DIM >::mpMutableVertexMesh, VertexBasedCellPopulation< DIM >::mpVertexBasedDivisionRule, and AbstractCellPopulation< ELEMENT_DIM, ELEMENT_DIM >::SetCellUsingLocationIndex().
| void VertexBasedCellPopulation< DIM >::AddCellIdOfT2Swap | ( | unsigned | idOfT2Swap | ) |
Add ID of T2 Swap.
| idOfT2Swap | ID of the cell undergoing a T2 swap |
Definition at line 593 of file VertexBasedCellPopulation.cpp.
References VertexBasedCellPopulation< DIM >::mCellIdsOfT2Swaps.
| void VertexBasedCellPopulation< DIM >::AddLocationOfT2Swap | ( | c_vector< double, DIM > | locationOfT2Swap | ) |
Add location of T2 Swap.
| locationOfT2Swap | Location of the T2 swap |
Definition at line 587 of file VertexBasedCellPopulation.cpp.
References VertexBasedCellPopulation< DIM >::mLocationsOfT2Swaps.
| unsigned VertexBasedCellPopulation< DIM >::AddNode | ( | Node< DIM > * | pNewNode | ) |
Overridden AddNode() method.
Add a new node to the cell population.
| pNewNode | pointer to the new node |
Definition at line 179 of file VertexBasedCellPopulation.cpp.
References MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::AddNode(), and VertexBasedCellPopulation< DIM >::mpMutableVertexMesh.
|
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.
| 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 |
Definition at line 261 of file VertexBasedCellPopulation.cpp.
References MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::GetCellRearrangementThreshold(), VertexBasedCellPopulation< DIM >::mpMutableVertexMesh, VertexBasedCellPopulation< DIM >::mRestrictVertexMovement, and VertexBasedCellPopulation< DIM >::mThrowStepSizeException.
| void VertexBasedCellPopulation< DIM >::ClearLocationsAndCellIdsOfT2Swaps | ( | ) |
Clear the locations and IDs of cells undergoing T2 Swaps.
Definition at line 599 of file VertexBasedCellPopulation.cpp.
References VertexBasedCellPopulation< DIM >::mCellIdsOfT2Swaps, and VertexBasedCellPopulation< DIM >::mLocationsOfT2Swaps.
|
virtual |
Overridden GetCellDataItemAtPdeNode() method.
| pdeNodeIndex | index of a node in a tetrahedral mesh for use with a PDE modifier |
| rVariableName | the name of the cell data item to get |
| dirichletBoundaryConditionApplies | where a Dirichlet boundary condition is used (optional; defaults to false) |
| dirichletBoundaryValue | the value of the Dirichlet boundary condition, if used (optional; defaults to 0.0) |
Implements AbstractCellPopulation< ELEMENT_DIM, ELEMENT_DIM >.
Definition at line 773 of file VertexBasedCellPopulation.cpp.
References AbstractCellPopulation< ELEMENT_DIM, ELEMENT_DIM >::GetCellUsingLocationIndex(), VertexBasedCellPopulation< DIM >::GetNode(), VertexBasedCellPopulation< DIM >::GetNumNodes(), and Node< SPACE_DIM >::rGetContainingElementIndices().
| std::vector< unsigned > VertexBasedCellPopulation< DIM >::GetCellIdsOfT2Swaps | ( | ) |
Return all IDs of cells undergoing T2 swaps since the last sampling time step.
Definition at line 581 of file VertexBasedCellPopulation.cpp.
References VertexBasedCellPopulation< DIM >::mCellIdsOfT2Swaps.
Referenced by VertexT2SwapLocationsWriter< ELEMENT_DIM, SPACE_DIM >::Visit().
|
virtual |
Overridden GetDampingConstant() method.
| nodeIndex | the global index of this node |
Implements AbstractOffLatticeCellPopulation< DIM >.
Definition at line 101 of file VertexBasedCellPopulation.cpp.
References EXCEPTION, VertexBasedCellPopulation< DIM >::GetNode(), and SimulationTime::Instance().
Referenced by VertexBasedCellPopulation< DIM >::serialize().
|
virtual |
Overridden GetDefaultTimeStep() method.
A hard-coded value of 0.002 is returned. However, note that the time step can be reset by calling SetDt() on the simulation object used to simulate the cell population.
Implements AbstractCellPopulation< ELEMENT_DIM, ELEMENT_DIM >.
Definition at line 823 of file VertexBasedCellPopulation.cpp.
| VertexElement< DIM, DIM > * VertexBasedCellPopulation< DIM >::GetElement | ( | unsigned | elementIndex | ) |
Get a particular VertexElement.
| elementIndex | the global index of the VertexElement |
Definition at line 148 of file VertexBasedCellPopulation.cpp.
References VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetElement(), and VertexBasedCellPopulation< DIM >::mpMutableVertexMesh.
Referenced by FarhadifarForce< DIM >::AddForceContribution(), NagaiHondaForce< DIM >::AddForceContribution(), VertexBasedCellPopulation< DIM >::RemoveDeadCells(), VertexBasedCellPopulation< DIM >::serialize(), and CellPopulationElementWriter< ELEMENT_DIM, SPACE_DIM >::Visit().
| VertexElement< DIM, DIM > * VertexBasedCellPopulation< DIM >::GetElementCorrespondingToCell | ( | CellPtr | pCell | ) |
Get a pointer to the element corresponding to a given CellPtr.
| pCell | the cell |
Definition at line 191 of file VertexBasedCellPopulation.cpp.
References VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetElement(), AbstractCellPopulation< ELEMENT_DIM, ELEMENT_DIM >::GetLocationIndexUsingCell(), and VertexBasedCellPopulation< DIM >::mpMutableVertexMesh.
Referenced by VertexBasedCellPopulation< DIM >::AddCell(), and VertexBasedCellPopulation< DIM >::IsCellAssociatedWithADeletedLocation().
|
virtual |
Overridden GetLocationOfCellCentre() method.
Find the centre of mass of a given cell (assuming uniform density). Note that, as there is no guarantee of convexity, this may lie outside the VertexElement corresponding to the cell.
| pCell | a cell in the population |
Implements AbstractCellPopulation< ELEMENT_DIM, ELEMENT_DIM >.
Definition at line 160 of file VertexBasedCellPopulation.cpp.
References VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetCentroidOfElement(), AbstractCellPopulation< ELEMENT_DIM, ELEMENT_DIM >::mCellLocationMap, and VertexBasedCellPopulation< DIM >::mpMutableVertexMesh.
Referenced by VertexBasedCellPopulation< DIM >::serialize().
| std::vector< c_vector< double, DIM > > VertexBasedCellPopulation< DIM >::GetLocationsOfT2Swaps | ( | ) |
Return all locations of T2 swaps since the last sampling time step.
Definition at line 575 of file VertexBasedCellPopulation.cpp.
References VertexBasedCellPopulation< DIM >::mLocationsOfT2Swaps.
Referenced by VertexT2SwapLocationsWriter< ELEMENT_DIM, SPACE_DIM >::Visit().
|
virtual |
Overridden GetNeighbouringLocationIndices() method.
Given a cell, returns the set of location indices corresponding to neighbouring cells.
| pCell | a cell |
Implements AbstractCellPopulation< ELEMENT_DIM, ELEMENT_DIM >.
Definition at line 172 of file VertexBasedCellPopulation.cpp.
References AbstractCellPopulation< ELEMENT_DIM, ELEMENT_DIM >::GetLocationIndexUsingCell(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetNeighbouringElementIndices(), and VertexBasedCellPopulation< DIM >::rGetMesh().
|
virtual |
Overridden GetNeighbouringNodeIndices() method.
| index | the node index |
Implements AbstractCellPopulation< ELEMENT_DIM, ELEMENT_DIM >.
Definition at line 557 of file VertexBasedCellPopulation.cpp.
|
virtual |
Overridden GetNode() method.
| index | global index of the specified node |
Implements AbstractCellPopulation< ELEMENT_DIM, ELEMENT_DIM >.
Definition at line 166 of file VertexBasedCellPopulation.cpp.
Referenced by WelikyOsterForce< DIM >::AddForceContribution(), FarhadifarForce< DIM >::AddForceContribution(), NagaiHondaForce< DIM >::AddForceContribution(), VertexBasedCellPopulation< DIM >::GetCellDataItemAtPdeNode(), VertexBasedCellPopulation< DIM >::GetDampingConstant(), VertexBasedCellPopulation< DIM >::IsPdeNodeAssociatedWithNonApoptoticCell(), and VertexBasedCellPopulation< DIM >::serialize().
| unsigned VertexBasedCellPopulation< DIM >::GetNumElements | ( | ) |
Definition at line 197 of file VertexBasedCellPopulation.cpp.
References MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::GetNumElements(), and VertexBasedCellPopulation< DIM >::mpMutableVertexMesh.
Referenced by FarhadifarForce< DIM >::AddForceContribution(), NagaiHondaForce< DIM >::AddForceContribution(), VertexBasedCellPopulation< DIM >::serialize(), and VertexBasedCellPopulation< DIM >::Validate().
|
virtual |
Overridden GetNumNodes() method.
Implements AbstractCellPopulation< ELEMENT_DIM, ELEMENT_DIM >.
Definition at line 154 of file VertexBasedCellPopulation.cpp.
References AbstractCellPopulation< ELEMENT_DIM, ELEMENT_DIM >::mrMesh.
Referenced by FarhadifarForce< DIM >::AddForceContribution(), NagaiHondaForce< DIM >::AddForceContribution(), VertexBasedCellPopulation< DIM >::GetCellDataItemAtPdeNode(), VertexBasedCellPopulation< DIM >::IsPdeNodeAssociatedWithNonApoptoticCell(), and VertexBasedCellPopulation< DIM >::serialize().
| bool VertexBasedCellPopulation< DIM >::GetOutputCellRearrangementLocations | ( | ) |
Definition at line 519 of file VertexBasedCellPopulation.cpp.
References VertexBasedCellPopulation< DIM >::mOutputCellRearrangementLocations.
| bool VertexBasedCellPopulation< DIM >::GetRestrictVertexMovementBoolean | ( | ) |
Get the value of the mRestrictVertexMovement boolean.
Definition at line 846 of file VertexBasedCellPopulation.cpp.
References VertexBasedCellPopulation< DIM >::mRestrictVertexMovement.
| unsigned VertexBasedCellPopulation< DIM >::GetRosetteRankOfCell | ( | CellPtr | pCell | ) |
Get the "rosette rank" of a cell.
This is defined as the maximum number of cells shared by any node in the cell's corresponding element.
| pCell | boost shared pointer to a cell |
Definition at line 374 of file VertexBasedCellPopulation.cpp.
References AbstractCellPopulation< ELEMENT_DIM, ELEMENT_DIM >::GetLocationIndexUsingCell(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetRosetteRankOfElement(), and VertexBasedCellPopulation< DIM >::mpMutableVertexMesh.
Referenced by CellRosetteRankWriter< ELEMENT_DIM, SPACE_DIM >::GetCellDataForVtkOutput().
|
virtual |
Overridden GetTetrahedralMeshForPdeModifier() method.
This method is called by AbstractGrowingDomainPdeModifier.
Implements AbstractCellPopulation< ELEMENT_DIM, ELEMENT_DIM >.
Definition at line 606 of file VertexBasedCellPopulation.cpp.
References AbstractMesh< ELEMENT_DIM, SPACE_DIM >::GetNode(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::GetNumElements(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::GetNumNodes(), OutputFileHandler::GetOutputDirectoryFullPath(), PetscTools::IsSequential(), and VertexBasedCellPopulation< DIM >::mpMutableVertexMesh.
| boost::shared_ptr< AbstractVertexBasedDivisionRule< DIM > > VertexBasedCellPopulation< DIM >::GetVertexBasedDivisionRule | ( | ) |
Definition at line 563 of file VertexBasedCellPopulation.cpp.
References VertexBasedCellPopulation< DIM >::mpVertexBasedDivisionRule.
|
virtual |
Overridden GetVolumeOfCell() method.
| pCell | boost shared pointer to a cell |
Implements AbstractCellPopulation< ELEMENT_DIM, ELEMENT_DIM >.
Definition at line 386 of file VertexBasedCellPopulation.cpp.
References AbstractCellPopulation< ELEMENT_DIM, ELEMENT_DIM >::GetLocationIndexUsingCell(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetVolumeOfElement(), and VertexBasedCellPopulation< DIM >::mpMutableVertexMesh.
|
virtual |
Overridden GetWidth() method.
Calculate the 'width' of any dimension of the cell population by calling GetWidth() on the mesh.
| rDimension | a dimension (0,1 or 2) |
Implements AbstractCellPopulation< ELEMENT_DIM, ELEMENT_DIM >.
Definition at line 548 of file VertexBasedCellPopulation.cpp.
Referenced by VertexBasedCellPopulation< DIM >::WriteDataToVisualizerSetupFile().
|
virtual |
Overridden IsCellAssociatedWithADeletedLocation() method.
| pCell | the cell |
Implements AbstractCellPopulation< ELEMENT_DIM, ELEMENT_DIM >.
Definition at line 288 of file VertexBasedCellPopulation.cpp.
References VertexBasedCellPopulation< DIM >::GetElementCorrespondingToCell().
|
virtual |
Overridden IsPdeNodeAssociatedWithNonApoptoticCell() method.
| pdeNodeIndex | inedx of a node in a tetrahedral mesh for use with a PDE modifier |
Reimplemented from AbstractCellPopulation< ELEMENT_DIM, ELEMENT_DIM >.
Definition at line 741 of file VertexBasedCellPopulation.cpp.
References AbstractCellPopulation< ELEMENT_DIM, ELEMENT_DIM >::GetCellUsingLocationIndex(), VertexBasedCellPopulation< DIM >::GetNode(), and VertexBasedCellPopulation< DIM >::GetNumNodes().
|
virtual |
Overridden OpenWritersFiles() method.
Open all files in mCellPopulationWriters and mCellWriters for writing (not appending).
| rOutputFileHandler | handler for the directory in which to open this file. |
Reimplemented from AbstractCellPopulation< ELEMENT_DIM, ELEMENT_DIM >.
Definition at line 485 of file VertexBasedCellPopulation.cpp.
References VertexBasedCellPopulation< DIM >::mOutputCellRearrangementLocations, AbstractCellPopulation< ELEMENT_DIM, ELEMENT_DIM >::mOutputResultsForChasteVisualizer, and AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::OpenWritersFiles().
|
virtual |
Overridden OutputCellPopulationParameters() method.
| rParamsFile | the file stream to which the parameters are output |
Reimplemented from AbstractOffLatticeCellPopulation< DIM >.
Definition at line 531 of file VertexBasedCellPopulation.cpp.
References MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::GetCellRearrangementRatio(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::GetCellRearrangementThreshold(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::GetT2Threshold(), VertexBasedCellPopulation< DIM >::mOutputCellRearrangementLocations, VertexBasedCellPopulation< DIM >::mpMutableVertexMesh, VertexBasedCellPopulation< DIM >::mpVertexBasedDivisionRule, and AbstractOffLatticeCellPopulation< ELEMENT_DIM, SPACE_DIM >::OutputCellPopulationParameters().
|
virtual |
Remove all cells labelled as dead.
Note that after calling this method the cell population will be in an inconsistent state until the equivalent of a 'remesh' is performed! So don't try iterating over cells or anything like that.
Implements AbstractCellPopulation< ELEMENT_DIM, ELEMENT_DIM >.
Definition at line 226 of file VertexBasedCellPopulation.cpp.
References MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::DeleteElementPriorToReMesh(), VertexBasedCellPopulation< DIM >::GetElement(), AbstractCellPopulation< ELEMENT_DIM, ELEMENT_DIM >::GetLocationIndexUsingCell(), AbstractCellPopulation< ELEMENT_DIM, ELEMENT_DIM >::mCells, and VertexBasedCellPopulation< DIM >::mpMutableVertexMesh.
| MutableVertexMesh< DIM, DIM > & VertexBasedCellPopulation< DIM >::rGetMesh | ( | ) |
Definition at line 136 of file VertexBasedCellPopulation.cpp.
References VertexBasedCellPopulation< DIM >::mpMutableVertexMesh.
Referenced by VertexCryptBoundaryForce< DIM >::AddForceContribution(), WelikyOsterForce< DIM >::AddForceContribution(), FarhadifarForce< DIM >::AddForceContribution(), NagaiHondaForce< DIM >::AddForceContribution(), ShortAxisVertexBasedDivisionRule< SPACE_DIM >::CalculateCellDivisionVector(), VertexBasedCellPopulation< DIM >::GetNeighbouringLocationIndices(), VertexBasedCellPopulation< DIM >::serialize(), VertexT3SwapLocationsWriter< ELEMENT_DIM, SPACE_DIM >::Visit(), VertexIntersectionSwapLocationsWriter< ELEMENT_DIM, SPACE_DIM >::Visit(), VertexT1SwapLocationsWriter< ELEMENT_DIM, SPACE_DIM >::Visit(), CellPopulationElementWriter< ELEMENT_DIM, SPACE_DIM >::Visit(), NodeVelocityWriter< ELEMENT_DIM, SPACE_DIM >::Visit(), and HeterotypicBoundaryLengthWriter< ELEMENT_DIM, SPACE_DIM >::Visit().
| const MutableVertexMesh< DIM, DIM > & VertexBasedCellPopulation< DIM >::rGetMesh | ( | ) | const |
Definition at line 142 of file VertexBasedCellPopulation.cpp.
References VertexBasedCellPopulation< DIM >::mpMutableVertexMesh.
|
inlineprivate |
Serialize the object and its member variables.
Note that serialization of the mesh and cells is handled by load/save_construct_data.
Note also that member data related to writers is not saved - output must be set up again by the caller after a restart.
| archive | the archive |
| version | the current version of this class |
Definition at line 131 of file VertexBasedCellPopulation.hpp.
References VertexBasedCellPopulation< DIM >::GetDampingConstant(), VertexBasedCellPopulation< DIM >::GetElement(), VertexBasedCellPopulation< DIM >::GetLocationOfCellCentre(), VertexBasedCellPopulation< DIM >::GetNode(), VertexBasedCellPopulation< DIM >::GetNumElements(), VertexBasedCellPopulation< DIM >::GetNumNodes(), VertexBasedCellPopulation< DIM >::mOutputCellRearrangementLocations, VertexBasedCellPopulation< DIM >::mpVertexBasedDivisionRule, VertexBasedCellPopulation< DIM >::mRestrictVertexMovement, VertexBasedCellPopulation< DIM >::rGetMesh(), VertexBasedCellPopulation< DIM >::Validate(), VertexBasedCellPopulation< DIM >::VertexBasedCellPopulation(), and VertexBasedCellPopulation< DIM >::~VertexBasedCellPopulation().
| void VertexBasedCellPopulation< DIM >::SetNode | ( | unsigned | index, |
| ChastePoint< DIM > & | rNewLocation | ||
| ) |
Overridden SetNode() method.
Move the node with a given index to a new point in space.
| index | the index of the node to be moved |
| rNewLocation | the new target location of the node |
Definition at line 185 of file VertexBasedCellPopulation.cpp.
References VertexBasedCellPopulation< DIM >::mpMutableVertexMesh, and MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::SetNode().
| void VertexBasedCellPopulation< DIM >::SetOutputCellRearrangementLocations | ( | bool | outputCellRearrangementLocations | ) |
Set mOutputCellRearrangementLocations.
| outputCellRearrangementLocations | the new value of mOutputCellRearrangementLocations |
Definition at line 525 of file VertexBasedCellPopulation.cpp.
References VertexBasedCellPopulation< DIM >::mOutputCellRearrangementLocations.
| void VertexBasedCellPopulation< DIM >::SetRestrictVertexMovementBoolean | ( | bool | restrictVertexMovement | ) |
Set the value of the mRestrictVertexMovement boolean.
| restrictVertexMovement | whether to restrict vertex movement in this simulation. |
Definition at line 852 of file VertexBasedCellPopulation.cpp.
References EXPORT_TEMPLATE_CLASS_SAME_DIMS, and VertexBasedCellPopulation< DIM >::mRestrictVertexMovement.
| void VertexBasedCellPopulation< DIM >::SetVertexBasedDivisionRule | ( | boost::shared_ptr< AbstractVertexBasedDivisionRule< DIM > > | pVertexBasedDivisionRule | ) |
Set the division rule for this population.
| pVertexBasedDivisionRule | pointer to the new division rule |
Definition at line 569 of file VertexBasedCellPopulation.cpp.
References VertexBasedCellPopulation< DIM >::mpVertexBasedDivisionRule.
|
virtual |
Overridden SimulationSetupHook() method.
Hook method to add a T2SwapCellKiller to a simulation object, which is always required in the case of a VertexBasedCellPopulation. This functionality avoids the need for static or dynamic casts to specific cell population types within simulation methods.
Note: In order to inhibit T2 swaps, the user needs to set the threshold for T2 swaps in the MutableVertexMesh object mrMesh to 0, using the SetT2Threshold() method.
| pSimulation | pointer to a cell-based simulation object |
Definition at line 838 of file VertexBasedCellPopulation.cpp.
References AbstractCellBasedSimulation< ELEMENT_DIM, SPACE_DIM >::AddCellKiller(), and MAKE_PTR_ARGS.
|
virtual |
Remove the VertexElements which have been marked as deleted, perform any cell rearrangements if required, and update the correspondence with CellPtrs.
| hasHadBirthsOrDeaths | - a bool saying whether cell population has had Births Or Deaths not needed in this cell population class |
Implements AbstractCellPopulation< ELEMENT_DIM, ELEMENT_DIM >.
Definition at line 294 of file VertexBasedCellPopulation.cpp.
References VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetNumAllElements(), AbstractCellPopulation< ELEMENT_DIM, ELEMENT_DIM >::mCellLocationMap, AbstractCellPopulation< ELEMENT_DIM, ELEMENT_DIM >::mCells, AbstractCellPopulation< ELEMENT_DIM, ELEMENT_DIM >::mLocationCellMap, VertexBasedCellPopulation< DIM >::mpMutableVertexMesh, MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::ReMesh(), AbstractCellPopulation< ELEMENT_DIM, ELEMENT_DIM >::SetCellUsingLocationIndex(), and VertexBasedCellPopulation< DIM >::Validate().
Referenced by HeterotypicBoundaryLengthWriter< ELEMENT_DIM, SPACE_DIM >::Visit().
|
privatevirtual |
Check the consistency of internal data structures. Each VertexElement must have a CellPtr associated with it.
Implements AbstractCellPopulation< ELEMENT_DIM, ELEMENT_DIM >.
Definition at line 328 of file VertexBasedCellPopulation.cpp.
References AbstractCellPopulation< ELEMENT_DIM, ELEMENT_DIM >::Begin(), AbstractCellPopulation< ELEMENT_DIM, ELEMENT_DIM >::End(), AbstractCellPopulation< ELEMENT_DIM, ELEMENT_DIM >::GetLocationIndexUsingCell(), and VertexBasedCellPopulation< DIM >::GetNumElements().
Referenced by VertexBasedCellPopulation< DIM >::serialize(), and VertexBasedCellPopulation< DIM >::Update().
|
virtual |
Overridden WriteDataToVisualizerSetupFile() method. Write any data necessary to a visualization setup file. Used by AbstractCellBasedSimulation::WriteVisualizerSetupFile().
| pVizSetupFile | a visualization setup file |
Reimplemented from AbstractCellPopulation< ELEMENT_DIM, ELEMENT_DIM >.
Definition at line 829 of file VertexBasedCellPopulation.cpp.
References VertexBasedCellPopulation< DIM >::GetWidth(), and AbstractCellPopulation< ELEMENT_DIM, ELEMENT_DIM >::mrMesh.
|
privatevirtual |
Overridden WriteVtkResultsToFile() method.
| rDirectory | pathname of the output directory, relative to where Chaste output is stored |
Implements AbstractCellPopulation< ELEMENT_DIM, ELEMENT_DIM >.
Definition at line 398 of file VertexBasedCellPopulation.cpp.
References VertexMeshWriter< ELEMENT_DIM, SPACE_DIM >::AddCellData(), AbstractCellPopulation< ELEMENT_DIM, ELEMENT_DIM >::Begin(), AbstractCellPopulation< ELEMENT_DIM, ELEMENT_DIM >::GetCellUsingLocationIndex(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetElementIteratorBegin(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetElementIteratorEnd(), AbstractCellPopulation< ELEMENT_DIM, ELEMENT_DIM >::GetNumAllCells(), SimulationTime::GetTimeStepsElapsed(), SimulationTime::Instance(), AbstractCellPopulation< ELEMENT_DIM, ELEMENT_DIM >::mCellWriters, VertexBasedCellPopulation< DIM >::mpMutableVertexMesh, AbstractCellPopulation< ELEMENT_DIM, ELEMENT_DIM >::mpVtkMetaFile, and VertexMeshWriter< ELEMENT_DIM, SPACE_DIM >::WriteVtkUsingMesh().
|
friend |
This test uses the private constructor to simplify testing.
Definition at line 65 of file VertexBasedCellPopulation.hpp.
|
private |
The Ids of cells that have undergone T2 swaps, stored so they can be accessed and output by the cell killer and population writer classes. The Ids are stored until they are cleared by ClearLocationsAndCellIdsOfT2Swaps().
Definition at line 96 of file VertexBasedCellPopulation.hpp.
Referenced by VertexBasedCellPopulation< DIM >::AddCellIdOfT2Swap(), VertexBasedCellPopulation< DIM >::ClearLocationsAndCellIdsOfT2Swaps(), and VertexBasedCellPopulation< DIM >::GetCellIdsOfT2Swaps().
|
private |
Whether to delete the mesh when we are destroyed. Needed if this cell population has been de-serialized.
Definition at line 71 of file VertexBasedCellPopulation.hpp.
Referenced by VertexBasedCellPopulation< DIM >::~VertexBasedCellPopulation().
|
private |
Locations of T2 swaps (the centre of the removed triangle), stored so they can be accessed and output by the cell killer and population writer classes. The locations are stored until they are cleared by ClearLocationsAndCellIdsOfT2Swaps().
Definition at line 90 of file VertexBasedCellPopulation.hpp.
Referenced by VertexBasedCellPopulation< DIM >::AddLocationOfT2Swap(), VertexBasedCellPopulation< DIM >::ClearLocationsAndCellIdsOfT2Swaps(), and VertexBasedCellPopulation< DIM >::GetLocationsOfT2Swaps().
|
private |
Whether to output the locations of T1 swaps and T3 swaps to files. Defaults to true.
Definition at line 80 of file VertexBasedCellPopulation.hpp.
Referenced by VertexBasedCellPopulation< DIM >::GetOutputCellRearrangementLocations(), VertexBasedCellPopulation< DIM >::OpenWritersFiles(), VertexBasedCellPopulation< DIM >::OutputCellPopulationParameters(), VertexBasedCellPopulation< DIM >::serialize(), and VertexBasedCellPopulation< DIM >::SetOutputCellRearrangementLocations().
|
private |
A static cast of the AbstractMesh from AbstractCellPopulation for use in this class
Definition at line 77 of file VertexBasedCellPopulation.hpp.
Referenced by VertexBasedCellPopulation< DIM >::AddCell(), VertexBasedCellPopulation< DIM >::AddNode(), VertexBasedCellPopulation< DIM >::CheckForStepSizeException(), VertexBasedCellPopulation< DIM >::GetElement(), VertexBasedCellPopulation< DIM >::GetElementCorrespondingToCell(), VertexBasedCellPopulation< DIM >::GetLocationOfCellCentre(), VertexBasedCellPopulation< DIM >::GetNumElements(), VertexBasedCellPopulation< DIM >::GetRosetteRankOfCell(), VertexBasedCellPopulation< DIM >::GetTetrahedralMeshForPdeModifier(), VertexBasedCellPopulation< DIM >::GetVolumeOfCell(), VertexBasedCellPopulation< DIM >::OutputCellPopulationParameters(), VertexBasedCellPopulation< DIM >::RemoveDeadCells(), VertexBasedCellPopulation< DIM >::rGetMesh(), VertexBasedCellPopulation< DIM >::SetNode(), VertexBasedCellPopulation< DIM >::Update(), VertexBasedCellPopulation< DIM >::VertexBasedCellPopulation(), and VertexBasedCellPopulation< DIM >::WriteVtkResultsToFile().
|
private |
A pointer to a division rule that is used to generate the axis when dividing cells. This is a specialisation for Vertex models.
Definition at line 84 of file VertexBasedCellPopulation.hpp.
Referenced by VertexBasedCellPopulation< DIM >::AddCell(), VertexBasedCellPopulation< DIM >::GetVertexBasedDivisionRule(), VertexBasedCellPopulation< DIM >::OutputCellPopulationParameters(), VertexBasedCellPopulation< DIM >::serialize(), VertexBasedCellPopulation< DIM >::SetVertexBasedDivisionRule(), and VertexBasedCellPopulation< DIM >::VertexBasedCellPopulation().
|
private |
Whether to restrict the vertex movement if vertex displacement is larger than the cell rearrangement threshold.
Definition at line 102 of file VertexBasedCellPopulation.hpp.
Referenced by VertexBasedCellPopulation< DIM >::CheckForStepSizeException(), VertexBasedCellPopulation< DIM >::GetRestrictVertexMovementBoolean(), VertexBasedCellPopulation< DIM >::serialize(), and VertexBasedCellPopulation< DIM >::SetRestrictVertexMovementBoolean().
|
private |
Whether to throw StepSizeExceptions, which defaults to true but is made false after the first StepSizeException is thrown. In vertex based cell populations a StepSizeException is not considered terminal, so there is no need to throw more than one (as the numerical method uses WARN_ONCE_ONLY).
Definition at line 109 of file VertexBasedCellPopulation.hpp.
Referenced by VertexBasedCellPopulation< DIM >::CheckForStepSizeException().