Chaste Commit::1fd4e48e3990e67db148bc1bc4cf6991a0049d0c
|
#include <VertexBasedCellPopulation.hpp>
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, VertexBasedPopulationSrn< DIM > &rPopSrn) | |
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) |
std::set< std::pair< unsigned, unsigned > > | GetNeighbouringEdgeIndices (CellPtr pCell, unsigned edgeLocalIndex) |
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 | AcceptPopulationEventWriter (boost::shared_ptr< AbstractCellPopulationEventWriter< DIM, DIM > > pPopulationEventWriter) |
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) |
VertexBasedPopulationSrn< DIM > & | rGetVertexBasedPopulationSrn () |
const VertexBasedPopulationSrn< DIM > & | rGetVertexBasedPopulationSrn () const |
void | SetWriteCellVtkResults (const bool new_val) |
void | SetWriteEdgeVtkResults (const bool new_val) |
Public Member Functions inherited from AbstractOffLatticeCellPopulation< DIM > | |
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 |
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, 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 () |
std::list< CellPtr > & | rGetCells () |
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 () |
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 |
Private Member Functions | |
virtual void | WriteVtkResultsToFile (const std::string &rDirectory) |
virtual void | WriteCellVtkResultsToFile (const std::string &rDirectory) |
virtual void | WriteCellEdgeVtkResultsToFile (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 |
VertexBasedPopulationSrn< DIM > | mPopulationSrn |
bool | mWriteCellVtkResults = true |
bool | mWriteEdgeVtkResults = true |
Friends | |
class | TestVertexBasedDivisionRules |
class | TestVertexBasedCellPopulation |
class | TestMutableVertexMeshOperationsWithPopulationSrn |
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 62 of file VertexBasedCellPopulation.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 54 of file VertexBasedCellPopulation.cpp.
References AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::AddCellUsingLocationIndex(), AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mCells, VertexBasedCellPopulation< DIM >::mpMutableVertexMesh, VertexBasedCellPopulation< DIM >::mPopulationSrn, VertexBasedCellPopulation< DIM >::mpVertexBasedDivisionRule, AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mrMesh, MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::SetMeshOperationTracking(), and VertexBasedCellPopulation< DIM >::Validate().
VertexBasedCellPopulation< DIM >::VertexBasedCellPopulation | ( | MutableVertexMesh< DIM, DIM > & | rMesh, |
VertexBasedPopulationSrn< DIM > & | rPopSrn | ||
) |
Constructor for use by boost serialization ONLY!
rMesh | a vertex mesh. |
rPopSrn | a population SRN remapping helper class |
Definition at line 91 of file VertexBasedCellPopulation.cpp.
References VertexBasedCellPopulation< DIM >::mpMutableVertexMesh, VertexBasedCellPopulation< DIM >::mPopulationSrn, and AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mrMesh.
|
virtual |
Destructor, which frees any memory allocated by the constructor.
Definition at line 104 of file VertexBasedCellPopulation.cpp.
|
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 427 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 415 of file VertexBasedCellPopulation.cpp.
|
virtual |
A virtual method to accept a cell population event writer so it can write data from this object to file.
pPopulationEventWriter | the population event writer. |
Definition at line 421 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 409 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, SPACE_DIM >.
Definition at line 244 of file VertexBasedCellPopulation.cpp.
void VertexBasedCellPopulation< DIM >::AddCellIdOfT2Swap | ( | unsigned | idOfT2Swap | ) |
Add ID of T2 Swap.
idOfT2Swap | ID of the cell undergoing a T2 swap |
Definition at line 1051 of file VertexBasedCellPopulation.cpp.
void VertexBasedCellPopulation< DIM >::AddLocationOfT2Swap | ( | c_vector< double, DIM > | locationOfT2Swap | ) |
Add location of T2 Swap.
locationOfT2Swap | Location of the T2 swap |
Definition at line 1045 of file VertexBasedCellPopulation.cpp.
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 220 of file VertexBasedCellPopulation.cpp.
|
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 302 of file VertexBasedCellPopulation.cpp.
void VertexBasedCellPopulation< DIM >::ClearLocationsAndCellIdsOfT2Swaps | ( | ) |
Clear the locations and IDs of cells undergoing T2 Swaps.
Definition at line 1057 of file VertexBasedCellPopulation.cpp.
|
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, SPACE_DIM >.
Definition at line 1096 of file VertexBasedCellPopulation.cpp.
References 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 1039 of file VertexBasedCellPopulation.cpp.
|
virtual |
Overridden GetDampingConstant() method.
nodeIndex | the global index of this node |
Implements AbstractOffLatticeCellPopulation< DIM >.
Definition at line 113 of file VertexBasedCellPopulation.cpp.
References EXCEPTION, and SimulationTime::Instance().
Referenced by NodeVelocityWriter< ELEMENT_DIM, SPACE_DIM >::Visit().
|
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, SPACE_DIM >.
Definition at line 1146 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 160 of file VertexBasedCellPopulation.cpp.
Referenced by FarhadifarForce< DIM >::AddForceContribution(), NagaiHondaForce< DIM >::AddForceContribution(), 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 232 of file VertexBasedCellPopulation.cpp.
|
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, SPACE_DIM >.
Definition at line 172 of file VertexBasedCellPopulation.cpp.
std::vector< c_vector< double, DIM > > VertexBasedCellPopulation< DIM >::GetLocationsOfT2Swaps | ( | ) |
Return all locations of T2 swaps since the last sampling time step.
Definition at line 1033 of file VertexBasedCellPopulation.cpp.
|
virtual |
Overridden GetNeighbouringEdgeIndices() method. Gets the local edge index of the neighbouring element and the element index.
pCell | Cell pointer |
edgeLocalIndex | Local edge index |
Reimplemented from AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >.
Definition at line 192 of file VertexBasedCellPopulation.cpp.
|
virtual |
Overridden GetNeighbouringLocationIndices() method. Given a cell, returns the set of location indices corresponding to neighbouring cells.
pCell | a cell |
Implements AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >.
Definition at line 184 of file VertexBasedCellPopulation.cpp.
|
virtual |
Overridden GetNeighbouringNodeIndices() method.
index | the node index |
Implements AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >.
Definition at line 877 of file VertexBasedCellPopulation.cpp.
|
virtual |
Overridden GetNode() method.
index | global index of the specified node |
Implements AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >.
Definition at line 178 of file VertexBasedCellPopulation.cpp.
Referenced by FarhadifarForce< DIM >::AddForceContribution(), NagaiHondaForce< DIM >::AddForceContribution(), and WelikyOsterForce< DIM >::AddForceContribution().
unsigned VertexBasedCellPopulation< DIM >::GetNumElements | ( | ) |
Definition at line 238 of file VertexBasedCellPopulation.cpp.
Referenced by FarhadifarForce< DIM >::AddForceContribution(), and NagaiHondaForce< DIM >::AddForceContribution().
|
virtual |
Overridden GetNumNodes() method.
Implements AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >.
Definition at line 166 of file VertexBasedCellPopulation.cpp.
Referenced by FarhadifarForce< DIM >::AddForceContribution(), and NagaiHondaForce< DIM >::AddForceContribution().
bool VertexBasedCellPopulation< DIM >::GetOutputCellRearrangementLocations | ( | ) |
Definition at line 839 of file VertexBasedCellPopulation.cpp.
bool VertexBasedCellPopulation< DIM >::GetRestrictVertexMovementBoolean | ( | ) |
Get the value of the mRestrictVertexMovement boolean.
Definition at line 1169 of file VertexBasedCellPopulation.cpp.
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 433 of file VertexBasedCellPopulation.cpp.
Referenced by CellRosetteRankWriter< ELEMENT_DIM, SPACE_DIM >::GetCellDataForVtkOutput().
|
virtual |
Overridden GetTetrahedralMeshForPdeModifier() method.
This method is called by AbstractGrowingDomainPdeModifier.
Implements AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >.
Definition at line 895 of file VertexBasedCellPopulation.cpp.
References TetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructFromMeshReader(), EXCEPTION, OutputFileHandler::FindFile(), Node< SPACE_DIM >::GetIndex(), AbstractElement< ELEMENT_DIM, SPACE_DIM >::GetNodeGlobalIndex(), AbstractElement< ELEMENT_DIM, SPACE_DIM >::GetNumNodes(), OutputFileHandler::GetOutputDirectoryFullPath(), Node< SPACE_DIM >::IsBoundaryNode(), PetscTools::IsSequential(), OutputFileHandler::OpenOutputFile(), FileFinder::Remove(), Node< SPACE_DIM >::rGetLocation(), and AbstractMesh< ELEMENT_DIM, SPACE_DIM >::SetMeshHasChangedSinceLoading().
boost::shared_ptr< AbstractVertexBasedDivisionRule< DIM > > VertexBasedCellPopulation< DIM >::GetVertexBasedDivisionRule | ( | ) |
Definition at line 883 of file VertexBasedCellPopulation.cpp.
|
virtual |
Overridden GetVolumeOfCell() method.
pCell | boost shared pointer to a cell |
Implements AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >.
Definition at line 445 of file VertexBasedCellPopulation.cpp.
|
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, SPACE_DIM >.
Definition at line 868 of file VertexBasedCellPopulation.cpp.
|
virtual |
Overridden IsCellAssociatedWithADeletedLocation() method.
pCell | the cell |
Implements AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >.
Definition at line 329 of file VertexBasedCellPopulation.cpp.
|
virtual |
Overridden IsPdeNodeAssociatedWithNonApoptoticCell() method.
pdeNodeIndex | inedx of a node in a tetrahedral mesh for use with a PDE modifier |
Reimplemented from AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >.
Definition at line 1064 of file VertexBasedCellPopulation.cpp.
|
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, SPACE_DIM >.
Definition at line 805 of file VertexBasedCellPopulation.cpp.
References 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 851 of file VertexBasedCellPopulation.cpp.
References 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, SPACE_DIM >.
Definition at line 267 of file VertexBasedCellPopulation.cpp.
MutableVertexMesh< DIM, DIM > & VertexBasedCellPopulation< DIM >::rGetMesh | ( | ) |
Definition at line 148 of file VertexBasedCellPopulation.cpp.
Referenced by FarhadifarForce< DIM >::AddForceContribution(), NagaiHondaForce< DIM >::AddForceContribution(), WelikyOsterForce< DIM >::AddForceContribution(), VertexCryptBoundaryForce< DIM >::AddForceContribution(), ShortAxisVertexBasedDivisionRule< SPACE_DIM >::CalculateCellDivisionVector(), VertexBasedPopulationSrn< DIM >::UpdateSrnAfterBirthOrDeath(), CellPopulationElementWriter< ELEMENT_DIM, SPACE_DIM >::Visit(), HeterotypicBoundaryLengthWriter< ELEMENT_DIM, SPACE_DIM >::Visit(), NodeVelocityWriter< ELEMENT_DIM, SPACE_DIM >::Visit(), VertexIntersectionSwapLocationsWriter< ELEMENT_DIM, SPACE_DIM >::Visit(), VertexT1SwapLocationsWriter< ELEMENT_DIM, SPACE_DIM >::Visit(), VertexT2SwapLocationsWriter< ELEMENT_DIM, SPACE_DIM >::Visit(), and VertexT3SwapLocationsWriter< ELEMENT_DIM, SPACE_DIM >::Visit().
const MutableVertexMesh< DIM, DIM > & VertexBasedCellPopulation< DIM >::rGetMesh | ( | ) | const |
Definition at line 154 of file VertexBasedCellPopulation.cpp.
VertexBasedPopulationSrn< DIM > & VertexBasedCellPopulation< DIM >::rGetVertexBasedPopulationSrn | ( | ) |
Get VertexBasedPopulationSrn object. Used e.g. in TestMutableVertexMeshRemeshWithPopulationSrn.
Definition at line 1181 of file VertexBasedCellPopulation.cpp.
const VertexBasedPopulationSrn< DIM > & VertexBasedCellPopulation< DIM >::rGetVertexBasedPopulationSrn | ( | ) | const |
Definition at line 1187 of file VertexBasedCellPopulation.cpp.
|
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 168 of file VertexBasedCellPopulation.hpp.
References VertexBasedCellPopulation< DIM >::mOutputCellRearrangementLocations, VertexBasedCellPopulation< DIM >::mpVertexBasedDivisionRule, and VertexBasedCellPopulation< DIM >::mRestrictVertexMovement.
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 226 of file VertexBasedCellPopulation.cpp.
void VertexBasedCellPopulation< DIM >::SetOutputCellRearrangementLocations | ( | bool | outputCellRearrangementLocations | ) |
Set mOutputCellRearrangementLocations.
outputCellRearrangementLocations | the new value of mOutputCellRearrangementLocations |
Definition at line 845 of file VertexBasedCellPopulation.cpp.
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 1175 of file VertexBasedCellPopulation.cpp.
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 889 of file VertexBasedCellPopulation.cpp.
void VertexBasedCellPopulation< DIM >::SetWriteCellVtkResults | ( | const bool | new_val | ) |
Set whether to write cell vtk results
new_val | whether to write cell vtk |
Definition at line 1193 of file VertexBasedCellPopulation.cpp.
void VertexBasedCellPopulation< DIM >::SetWriteEdgeVtkResults | ( | const bool | new_val | ) |
Set whether to write cell vtk results
new_val | whether to write cell vtk |
Definition at line 1199 of file VertexBasedCellPopulation.cpp.
|
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 1161 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, SPACE_DIM >.
Definition at line 335 of file VertexBasedCellPopulation.cpp.
References VertexElementMap::GetNewIndex(), VertexElementMap::IsDeleted(), VertexElementMap::IsIdentityMap(), and VertexElementMap::ResetToIdentity().
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, SPACE_DIM >.
Definition at line 381 of file VertexBasedCellPopulation.cpp.
References EXCEPTION, and SimulationTime::Instance().
Referenced by VertexBasedCellPopulation< DIM >::VertexBasedCellPopulation().
|
privatevirtual |
Writes an edge-based representation of the cells to file. Each cell is divided into a number of triangles equaling the number of edges.
Cell ID property is added by default so individual cells can still be differentiated.
rDirectory |
Definition at line 574 of file VertexBasedCellPopulation.cpp.
References TrapezoidEdgeVertexMeshWriter< ELEMENT_DIM, SPACE_DIM >::AddCellData(), VertexMeshWriter< ELEMENT_DIM, SPACE_DIM >::AddCellData(), SimulationTime::GetTimeStepsElapsed(), SimulationTime::Instance(), TrapezoidEdgeVertexMeshWriter< ELEMENT_DIM, SPACE_DIM >::WriteVtkUsingMesh(), and VertexMeshWriter< ELEMENT_DIM, SPACE_DIM >::WriteVtkUsingMesh().
|
privatevirtual |
Writes a representation of cells to file.
rDirectory |
Definition at line 485 of file VertexBasedCellPopulation.cpp.
References VertexMeshWriter< ELEMENT_DIM, SPACE_DIM >::AddCellData(), SimulationTime::GetTimeStepsElapsed(), SimulationTime::Instance(), and VertexMeshWriter< ELEMENT_DIM, SPACE_DIM >::WriteVtkUsingMesh().
|
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, SPACE_DIM >.
Definition at line 1152 of file VertexBasedCellPopulation.cpp.
|
privatevirtual |
Overridden WriteVtkResultsToFile() method. If the first cell uses the SrnCellModel, the WriteCellEdgeVtkResultsToFile() is used which outputs an edge-based representation of the cell, otherwise WriteCellVtkResultsToFile() is used to represent entire cells.
rDirectory | pathname of the output directory, relative to where Chaste output is stored |
Implements AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >.
Definition at line 457 of file VertexBasedCellPopulation.cpp.
|
friend |
Definition at line 155 of file VertexBasedCellPopulation.hpp.
|
friend |
Definition at line 71 of file VertexBasedCellPopulation.hpp.
|
friend |
Definition at line 70 of file VertexBasedCellPopulation.hpp.
|
friend |
This test uses the private constructor to simplify testing.
Definition at line 69 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 102 of file VertexBasedCellPopulation.hpp.
|
private |
Whether to delete the mesh when we are destroyed. Needed if this cell population has been de-serialized.
Definition at line 77 of file VertexBasedCellPopulation.hpp.
|
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 96 of file VertexBasedCellPopulation.hpp.
|
private |
Whether to output the locations of T1 swaps and T3 swaps to files. Defaults to true.
Definition at line 86 of file VertexBasedCellPopulation.hpp.
Referenced by VertexBasedCellPopulation< DIM >::serialize().
|
private |
A static cast of the AbstractMesh from AbstractCellPopulation for use in this class
Definition at line 83 of file VertexBasedCellPopulation.hpp.
Referenced by VertexBasedCellPopulation< DIM >::VertexBasedCellPopulation(), and VertexBasedCellPopulation< DIM >::VertexBasedCellPopulation().
|
private |
SRN remapping helper class
Definition at line 120 of file VertexBasedCellPopulation.hpp.
Referenced by VertexBasedCellPopulation< DIM >::VertexBasedCellPopulation(), and VertexBasedCellPopulation< DIM >::VertexBasedCellPopulation().
|
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 90 of file VertexBasedCellPopulation.hpp.
Referenced by VertexBasedCellPopulation< DIM >::VertexBasedCellPopulation(), and VertexBasedCellPopulation< DIM >::serialize().
|
private |
Whether to restrict the vertex movement if vertex displacement is larger than the cell rearrangement threshold.
Definition at line 108 of file VertexBasedCellPopulation.hpp.
Referenced by VertexBasedCellPopulation< DIM >::serialize().
|
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 115 of file VertexBasedCellPopulation.hpp.
|
private |
Whether to write cell vtk results. True by default
Definition at line 125 of file VertexBasedCellPopulation.hpp.
|
private |
Whether to write edge vtk results. True by default
Definition at line 130 of file VertexBasedCellPopulation.hpp.