Chaste
Release::2017.1
|
#include <MeshBasedCellPopulationWithGhostNodes.hpp>
Public Member Functions | |
MeshBasedCellPopulationWithGhostNodes (MutableMesh< DIM, DIM > &rMesh, std::vector< CellPtr > &rCells, const std::vector< unsigned > locationIndices=std::vector< unsigned >(), bool deleteMesh=false, double ghostSpringStiffness=15.0) | |
MeshBasedCellPopulationWithGhostNodes (MutableMesh< DIM, DIM > &rMesh, double ghostSpringStiffness=15.0) | |
virtual | ~MeshBasedCellPopulationWithGhostNodes () |
virtual TetrahedralMesh< DIM, DIM > * | GetTetrahedralMeshForPdeModifier () |
std::set< unsigned > | GetNeighbouringLocationIndices (CellPtr pCell) |
void | ApplyGhostForces () |
std::vector< bool > & | rGetGhostNodes () |
bool | IsGhostNode (unsigned index) |
std::set< unsigned > | GetGhostNodeIndices () |
void | UpdateGhostNodesAfterReMesh (NodeMap &rMap) |
c_vector< double, DIM > | CalculateForceBetweenGhostNodes (const unsigned &rNodeAGlobalIndex, const unsigned &rNodeBGlobalIndex) |
CellPtr | AddCell (CellPtr pNewCell, CellPtr pParentCell) |
virtual void | OpenWritersFiles (OutputFileHandler &rOutputFileHandler) |
virtual void | WriteVtkResultsToFile (const std::string &rDirectory) |
void | OutputCellPopulationParameters (out_stream &rParamsFile) |
Public Member Functions inherited from MeshBasedCellPopulation< DIM > | |
MeshBasedCellPopulation (MutableMesh< ELEMENT_DIM, ELEMENT_DIM > &rMesh, std::vector< CellPtr > &rCells, const std::vector< unsigned > locationIndices=std::vector< unsigned >(), bool deleteMesh=false, bool validate=true) | |
MeshBasedCellPopulation (MutableMesh< ELEMENT_DIM, ELEMENT_DIM > &rMesh) | |
virtual | ~MeshBasedCellPopulation () |
MutableMesh< ELEMENT_DIM, ELEMENT_DIM > & | rGetMesh () |
const MutableMesh< ELEMENT_DIM, ELEMENT_DIM > & | rGetMesh () const |
bool | UseAreaBasedDampingConstant () |
unsigned | AddNode (Node< ELEMENT_DIM > *pNewNode) |
void | SetNode (unsigned nodeIndex, ChastePoint< ELEMENT_DIM > &rNewLocation) |
double | GetDampingConstant (unsigned nodeIndex) |
void | SetAreaBasedDampingConstant (bool useAreaBasedDampingConstant) |
virtual unsigned | RemoveDeadCells () |
virtual void | WriteResultsToFiles (const std::string &rDirectory) |
virtual void | AcceptPopulationWriter (boost::shared_ptr< AbstractCellPopulationWriter< ELEMENT_DIM, ELEMENT_DIM > > pPopulationWriter) |
virtual void | AcceptPopulationCountWriter (boost::shared_ptr< AbstractCellPopulationCountWriter< ELEMENT_DIM, ELEMENT_DIM > > pPopulationCountWriter) |
virtual void | AcceptCellWriter (boost::shared_ptr< AbstractCellWriter< ELEMENT_DIM, ELEMENT_DIM > > pCellWriter, CellPtr pCell) |
virtual void | Update (bool hasHadBirthsOrDeaths=true) |
void | TessellateIfNeeded () |
void | DivideLongSprings (double springDivisionThreshold) |
Node< ELEMENT_DIM > * | GetNode (unsigned index) |
unsigned | GetNumNodes () |
double | GetVolumeOfCell (CellPtr pCell) |
void | CreateVoronoiTessellation () |
VertexMesh< ELEMENT_DIM, ELEMENT_DIM > * | GetVoronoiTessellation () |
double | GetVolumeOfVoronoiElement (unsigned index) |
double | GetSurfaceAreaOfVoronoiElement (unsigned index) |
double | GetVoronoiEdgeLength (unsigned index1, unsigned index2) |
double | GetWidth (const unsigned &rDimension) |
virtual void | WriteDataToVisualizerSetupFile (out_stream &pVizSetupFile) |
SpringIterator | SpringsBegin () |
SpringIterator | SpringsEnd () |
void | CheckCellPointers () |
double | GetAreaBasedDampingConstantParameter () |
void | SetAreaBasedDampingConstantParameter (double areaBasedDampingConstantParameter) |
std::vector< std::pair< Node< ELEMENT_DIM > *, Node< ELEMENT_DIM > * > > & | rGetNodePairs () |
void | OutputCellPopulationParameters (out_stream &rParamsFile) |
void | SetWriteVtkAsPoints (bool writeVtkAsPoints) |
bool | GetWriteVtkAsPoints () |
void | SetOutputMeshInVtk (bool outputMeshInVtk) |
bool | GetOutputMeshInVtk () |
std::set< unsigned > | GetNeighbouringNodeIndices (unsigned index) |
void | CalculateRestLengths () |
double | GetRestLength (unsigned indexA, unsigned indexB) |
void | SetRestLength (unsigned indexA, unsigned indexB, double restLength) |
Public Member Functions inherited from AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM > | |
AbstractCentreBasedCellPopulation (AbstractMesh< ELEMENT_DIM, SPACE_DIM > &rMesh, std::vector< CellPtr > &rCells, const std::vector< unsigned > locationIndices=std::vector< unsigned >()) | |
c_vector< double, SPACE_DIM > | GetLocationOfCellCentre (CellPtr pCell) |
Node< SPACE_DIM > * | GetNodeCorrespondingToCell (CellPtr pCell) |
virtual double | GetCellDataItemAtPdeNode (unsigned pdeNodeIndex, std::string &rVariableName, bool dirichletBoundaryConditionApplies=false, double dirichletBoundaryValue=0.0) |
std::pair< CellPtr, CellPtr > | CreateCellPair (CellPtr pCell1, CellPtr pCell2) |
bool | IsMarkedSpring (const std::pair< CellPtr, CellPtr > &rCellPair) |
void | MarkSpring (std::pair< CellPtr, CellPtr > &rCellPair) |
void | UnmarkSpring (std::pair< CellPtr, CellPtr > &rCellPair) |
bool | IsCellAssociatedWithADeletedLocation (CellPtr pCell) |
virtual void | CheckForStepSizeException (unsigned nodeIndex, c_vector< double, SPACE_DIM > &rDisplacement, double dt) |
virtual bool | IsParticle (unsigned index) |
double | GetMeinekeDivisionSeparation () |
void | SetMeinekeDivisionSeparation (double divisionSeparation) |
boost::shared_ptr< AbstractCentreBasedDivisionRule< ELEMENT_DIM, SPACE_DIM > > | GetCentreBasedDivisionRule () |
void | SetCentreBasedDivisionRule (boost::shared_ptr< AbstractCentreBasedDivisionRule< ELEMENT_DIM, SPACE_DIM > > pCentreBasedDivisionRule) |
virtual double | GetDefaultTimeStep () |
Public Member Functions inherited from AbstractOffLatticeCellPopulation< ELEMENT_DIM, SPACE_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) |
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 () |
virtual bool | IsPdeNodeAssociatedWithNonApoptoticCell (unsigned pdeNodeIndex) |
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 () |
void | CloseWritersFiles () |
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 | |
virtual void | AcceptCellWritersAcrossPopulation () |
Protected Member Functions inherited from AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM > | |
AbstractCentreBasedCellPopulation (AbstractMesh< ELEMENT_DIM, SPACE_DIM > &rMesh) | |
Protected Member Functions inherited from AbstractOffLatticeCellPopulation< ELEMENT_DIM, SPACE_DIM > | |
AbstractOffLatticeCellPopulation (AbstractMesh< ELEMENT_DIM, SPACE_DIM > &rMesh) | |
Protected Member Functions inherited from AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM > | |
AbstractCellPopulation (AbstractMesh< ELEMENT_DIM, SPACE_DIM > &rMesh) | |
Private Member Functions | |
template<class Archive > | |
void | serialize (Archive &archive, const unsigned int version) |
void | SetGhostNodes (const std::set< unsigned > &rGhostNodeIndices) |
void | Validate () |
Private Attributes | |
std::vector< bool > | mIsGhostNode |
double | mGhostSpringStiffness |
Friends | |
class | TestMeshBasedCellPopulationWithGhostNodes |
class | boost::serialization::access |
A facade class encapsulating a mesh-based cell population with ghost nodes.
If simulating a crypt with a mesh-based cell population, the mesh should be surrounded by at least one layer of ghost nodes. These are nodes which do not correspond to a cell, but are necessary for remeshing (because the remesher tries to create a convex hull of the set of nodes) and visualization purposes. The MeshBasedCellPopulationWithGhostNodes class deals with these ghost nodes, hiding the 'ghost nodes' concept from the OffLatticeSimulation class, so the latter only ever deals with real cells.
Definition at line 56 of file MeshBasedCellPopulationWithGhostNodes.hpp.
MeshBasedCellPopulationWithGhostNodes< DIM >::MeshBasedCellPopulationWithGhostNodes | ( | MutableMesh< DIM, DIM > & | rMesh, |
std::vector< CellPtr > & | rCells, | ||
const std::vector< unsigned > | locationIndices = std::vector<unsigned>() , |
||
bool | deleteMesh = false , |
||
double | ghostSpringStiffness = 15.0 |
||
) |
Create a new cell population from a mesh and collection of cells.
rMesh | a mutable tetrahedral mesh |
rCells | cells corresponding to the nodes of the mesh |
locationIndices | an optional vector of location indices that correspond to real cells |
deleteMesh | set to true if you want the cell population to free the mesh memory on destruction |
ghostSpringStiffness | spring stiffness used to move the ghost nodes defaults to 15.0. |
Definition at line 40 of file MeshBasedCellPopulationWithGhostNodes.cpp.
References MeshBasedCellPopulation< DIM >::GetNode(), MeshBasedCellPopulation< DIM >::GetNumNodes(), MeshBasedCellPopulationWithGhostNodes< DIM >::mIsGhostNode, MeshBasedCellPopulationWithGhostNodes< DIM >::SetGhostNodes(), and MeshBasedCellPopulationWithGhostNodes< DIM >::Validate().
Referenced by MeshBasedCellPopulationWithGhostNodes< DIM >::serialize().
MeshBasedCellPopulationWithGhostNodes< DIM >::MeshBasedCellPopulationWithGhostNodes | ( | MutableMesh< DIM, DIM > & | rMesh, |
double | ghostSpringStiffness = 15.0 |
||
) |
Constructor for use by the de-serializer.
rMesh | a mutable tetrahedral mesh. |
ghostSpringStiffness | spring stiffness used to move the ghost nodes defaults to 15.0. |
Definition at line 80 of file MeshBasedCellPopulationWithGhostNodes.cpp.
|
virtual |
Empty destructor so archiving works with static libraries.
Definition at line 88 of file MeshBasedCellPopulationWithGhostNodes.cpp.
Referenced by MeshBasedCellPopulationWithGhostNodes< DIM >::serialize().
|
protectedvirtual |
Overridden method
Calls AcceptCellWriter across the whole population, iterating in an appropriate way to skip ghost nodes.
Reimplemented from AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >.
Definition at line 253 of file MeshBasedCellPopulationWithGhostNodes.cpp.
References MeshBasedCellPopulation< DIM >::AcceptCellWriter(), AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetCellUsingLocationIndex(), AbstractMesh< ELEMENT_DIM, SPACE_DIM >::GetNodeIteratorEnd(), MeshBasedCellPopulationWithGhostNodes< DIM >::IsGhostNode(), AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mCellWriters, and MeshBasedCellPopulation< DIM >::rGetMesh().
Referenced by MeshBasedCellPopulationWithGhostNodes< DIM >::serialize().
|
virtual |
Overridden AddCell() method.
Add a new cell to the cell population and update mIsGhostNode.
pNewCell | the cell to add |
pParentCell | pointer to a parent cell - this is required for mesh-based cell populations |
Reimplemented from MeshBasedCellPopulation< DIM >.
Definition at line 160 of file MeshBasedCellPopulationWithGhostNodes.cpp.
References MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::AddCell(), AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetLocationIndexUsingCell(), MeshBasedCellPopulation< DIM >::GetNumNodes(), and MeshBasedCellPopulationWithGhostNodes< DIM >::mIsGhostNode.
Referenced by MeshBasedCellPopulationWithGhostNodes< DIM >::serialize().
void MeshBasedCellPopulationWithGhostNodes< DIM >::ApplyGhostForces | ( | ) |
Applies the appropriate force to each ghost node in the population. Called by AbstractNumericalMethod.
Definition at line 274 of file MeshBasedCellPopulationWithGhostNodes.cpp.
References MeshBasedCellPopulationWithGhostNodes< DIM >::CalculateForceBetweenGhostNodes(), TetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::EdgesEnd(), MeshBasedCellPopulation< DIM >::GetNumNodes(), MeshBasedCellPopulationWithGhostNodes< DIM >::mIsGhostNode, and AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mrMesh.
Referenced by MeshBasedCellPopulationWithGhostNodes< DIM >::serialize().
c_vector< double, DIM > MeshBasedCellPopulationWithGhostNodes< DIM >::CalculateForceBetweenGhostNodes | ( | const unsigned & | rNodeAGlobalIndex, |
const unsigned & | rNodeBGlobalIndex | ||
) |
This method is used to calculate the force between GHOST nodes.
rNodeAGlobalIndex | |
rNodeBGlobalIndex |
Definition at line 141 of file MeshBasedCellPopulationWithGhostNodes.cpp.
References MeshBasedCellPopulation< DIM >::GetNode(), MeshBasedCellPopulationWithGhostNodes< DIM >::mGhostSpringStiffness, and AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mrMesh.
Referenced by MeshBasedCellPopulationWithGhostNodes< DIM >::ApplyGhostForces(), and MeshBasedCellPopulationWithGhostNodes< DIM >::serialize().
std::set< unsigned > MeshBasedCellPopulationWithGhostNodes< DIM >::GetGhostNodeIndices | ( | ) |
Definition at line 112 of file MeshBasedCellPopulationWithGhostNodes.cpp.
References MeshBasedCellPopulationWithGhostNodes< DIM >::mIsGhostNode.
Referenced by MeshBasedCellPopulationWithGhostNodes< DIM >::serialize().
|
virtual |
Overridden GetNeighbouringLocationIndices() method.
Given a cell, returns the set of location indices corresponding to neighbouring cells.
pCell | a cell |
Reimplemented from AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >.
Definition at line 230 of file MeshBasedCellPopulationWithGhostNodes.cpp.
References AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetLocationIndexUsingCell(), MeshBasedCellPopulation< DIM >::GetNeighbouringNodeIndices(), and MeshBasedCellPopulationWithGhostNodes< DIM >::IsGhostNode().
Referenced by MeshBasedCellPopulationWithGhostNodes< DIM >::serialize().
|
virtual |
Overridden GetTetrahedralMeshForPdeModifier() method.
This method is called by AbstractGrowingDomainPdeModifier.
Reimplemented from MeshBasedCellPopulation< DIM >.
Definition at line 93 of file MeshBasedCellPopulationWithGhostNodes.cpp.
References EXCEPTION, and AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mrMesh.
Referenced by MeshBasedCellPopulationWithGhostNodes< DIM >::serialize().
|
virtual |
Overridden IsGhostNode() method.
Find if a given node is a ghost node. The abstract method always returns false but is overridden in subclasses.
index | the global index of a specified node |
Reimplemented from AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >.
Definition at line 106 of file MeshBasedCellPopulationWithGhostNodes.cpp.
References MeshBasedCellPopulationWithGhostNodes< DIM >::mIsGhostNode.
Referenced by MeshBasedCellPopulationWithGhostNodes< DIM >::AcceptCellWritersAcrossPopulation(), MeshBasedCellPopulationWithGhostNodes< DIM >::GetNeighbouringLocationIndices(), MeshBasedCellPopulationWithGhostNodes< DIM >::serialize(), and MeshBasedCellPopulationWithGhostNodes< DIM >::WriteVtkResultsToFile().
|
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 MeshBasedCellPopulation< DIM >.
Definition at line 322 of file MeshBasedCellPopulationWithGhostNodes.cpp.
References AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mOutputResultsForChasteVisualizer, and MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::OpenWritersFiles().
Referenced by MeshBasedCellPopulationWithGhostNodes< DIM >::serialize().
|
virtual |
Outputs CellPopulation parameters to file
As this method is pure virtual, it must be overridden in subclasses.
rParamsFile | the file stream to which the parameters are output |
Reimplemented from AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >.
Definition at line 411 of file MeshBasedCellPopulationWithGhostNodes.cpp.
References EXPORT_TEMPLATE_CLASS_SAME_DIMS, MeshBasedCellPopulationWithGhostNodes< DIM >::mGhostSpringStiffness, and MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::OutputCellPopulationParameters().
Referenced by MeshBasedCellPopulationWithGhostNodes< DIM >::serialize().
std::vector< bool > & MeshBasedCellPopulationWithGhostNodes< DIM >::rGetGhostNodes | ( | ) |
Definition at line 100 of file MeshBasedCellPopulationWithGhostNodes.cpp.
References MeshBasedCellPopulationWithGhostNodes< DIM >::mIsGhostNode.
Referenced by MeshBasedCellPopulationWithGhostNodes< DIM >::serialize().
|
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 85 of file MeshBasedCellPopulationWithGhostNodes.hpp.
References MeshBasedCellPopulationWithGhostNodes< DIM >::AcceptCellWritersAcrossPopulation(), MeshBasedCellPopulationWithGhostNodes< DIM >::AddCell(), MeshBasedCellPopulationWithGhostNodes< DIM >::ApplyGhostForces(), MeshBasedCellPopulationWithGhostNodes< DIM >::CalculateForceBetweenGhostNodes(), EXPORT_TEMPLATE_CLASS_SAME_DIMS, MeshBasedCellPopulationWithGhostNodes< DIM >::GetGhostNodeIndices(), MeshBasedCellPopulationWithGhostNodes< DIM >::GetNeighbouringLocationIndices(), MeshBasedCellPopulationWithGhostNodes< DIM >::GetTetrahedralMeshForPdeModifier(), MeshBasedCellPopulationWithGhostNodes< DIM >::IsGhostNode(), MeshBasedCellPopulationWithGhostNodes< DIM >::MeshBasedCellPopulationWithGhostNodes(), MeshBasedCellPopulationWithGhostNodes< DIM >::mGhostSpringStiffness, MeshBasedCellPopulationWithGhostNodes< DIM >::mIsGhostNode, MeshBasedCellPopulationWithGhostNodes< DIM >::OpenWritersFiles(), MeshBasedCellPopulationWithGhostNodes< DIM >::OutputCellPopulationParameters(), MeshBasedCellPopulationWithGhostNodes< DIM >::rGetGhostNodes(), MeshBasedCellPopulation< DIM >::rGetMesh(), MeshBasedCellPopulationWithGhostNodes< DIM >::SetGhostNodes(), MeshBasedCellPopulationWithGhostNodes< DIM >::UpdateGhostNodesAfterReMesh(), MeshBasedCellPopulationWithGhostNodes< DIM >::Validate(), MeshBasedCellPopulationWithGhostNodes< DIM >::WriteVtkResultsToFile(), and MeshBasedCellPopulationWithGhostNodes< DIM >::~MeshBasedCellPopulationWithGhostNodes().
|
private |
Set the ghost nodes by taking in a set of which nodes indices are ghost nodes.
rGhostNodeIndices | set of node indices corresponding to ghost nodes |
Definition at line 126 of file MeshBasedCellPopulationWithGhostNodes.cpp.
References MeshBasedCellPopulationWithGhostNodes< DIM >::mIsGhostNode, AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mrMesh, and MeshBasedCellPopulationWithGhostNodes< DIM >::Validate().
Referenced by MeshBasedCellPopulationWithGhostNodes< DIM >::MeshBasedCellPopulationWithGhostNodes(), and MeshBasedCellPopulationWithGhostNodes< DIM >::serialize().
|
virtual |
Update mIsGhostNode if required by a remesh.
rMap | A map between node indices before and after remesh |
Reimplemented from MeshBasedCellPopulation< DIM >.
Definition at line 209 of file MeshBasedCellPopulationWithGhostNodes.cpp.
References NodeMap::GetNewIndex(), MeshBasedCellPopulation< DIM >::GetNumNodes(), NodeMap::GetSize(), NodeMap::IsDeleted(), and MeshBasedCellPopulationWithGhostNodes< DIM >::mIsGhostNode.
Referenced by MeshBasedCellPopulationWithGhostNodes< DIM >::serialize().
|
privatevirtual |
This is called after a cell population has been constructed to check the user gave consistent instructions. Check consistency of our internal data structures: Each node must have a cell associated with it OR must be a ghost node.
It is called after cells are added or removed from MeshBasedCellPopulation as it is an overridden virtual method.
Reimplemented from MeshBasedCellPopulation< DIM >.
Definition at line 180 of file MeshBasedCellPopulationWithGhostNodes.cpp.
References AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::Begin(), AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::End(), EXCEPTION, AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetLocationIndexUsingCell(), MeshBasedCellPopulation< DIM >::GetNumNodes(), and MeshBasedCellPopulationWithGhostNodes< DIM >::mIsGhostNode.
Referenced by MeshBasedCellPopulationWithGhostNodes< DIM >::MeshBasedCellPopulationWithGhostNodes(), MeshBasedCellPopulationWithGhostNodes< DIM >::serialize(), and MeshBasedCellPopulationWithGhostNodes< DIM >::SetGhostNodes().
|
virtual |
Overridden WriteVtkResultsToFile() method.
rDirectory | pathname of the output directory, relative to where Chaste output is stored |
Reimplemented from MeshBasedCellPopulation< DIM >.
Definition at line 336 of file MeshBasedCellPopulationWithGhostNodes.cpp.
References VertexMeshWriter< ELEMENT_DIM, SPACE_DIM >::AddCellData(), AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetCellUsingLocationIndex(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetDelaunayNodeIndexCorrespondingToVoronoiElementIndex(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetElementIteratorBegin(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetElementIteratorEnd(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetNumElements(), SimulationTime::GetTimeStepsElapsed(), SimulationTime::Instance(), MeshBasedCellPopulationWithGhostNodes< DIM >::IsGhostNode(), AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mCellWriters, MeshBasedCellPopulation< DIM >::mpVoronoiTessellation, AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mpVtkMetaFile, and VertexMeshWriter< ELEMENT_DIM, SPACE_DIM >::WriteVtkUsingMesh().
Referenced by MeshBasedCellPopulationWithGhostNodes< DIM >::serialize().
|
friend |
Needed for serialization.
Definition at line 72 of file MeshBasedCellPopulationWithGhostNodes.hpp.
|
friend |
Just so that the test can test the private functions
Definition at line 61 of file MeshBasedCellPopulationWithGhostNodes.hpp.
|
private |
Spring stiffness for springs between ghost nodes.
Definition at line 69 of file MeshBasedCellPopulationWithGhostNodes.hpp.
Referenced by MeshBasedCellPopulationWithGhostNodes< DIM >::CalculateForceBetweenGhostNodes(), MeshBasedCellPopulationWithGhostNodes< DIM >::OutputCellPopulationParameters(), and MeshBasedCellPopulationWithGhostNodes< DIM >::serialize().
|
private |
Records whether a node is a ghost node or not
Definition at line 64 of file MeshBasedCellPopulationWithGhostNodes.hpp.
Referenced by MeshBasedCellPopulationWithGhostNodes< DIM >::AddCell(), MeshBasedCellPopulationWithGhostNodes< DIM >::ApplyGhostForces(), MeshBasedCellPopulationWithGhostNodes< DIM >::GetGhostNodeIndices(), MeshBasedCellPopulationWithGhostNodes< DIM >::IsGhostNode(), MeshBasedCellPopulationWithGhostNodes< DIM >::MeshBasedCellPopulationWithGhostNodes(), MeshBasedCellPopulationWithGhostNodes< DIM >::rGetGhostNodes(), MeshBasedCellPopulationWithGhostNodes< DIM >::serialize(), MeshBasedCellPopulationWithGhostNodes< DIM >::SetGhostNodes(), MeshBasedCellPopulationWithGhostNodes< DIM >::UpdateGhostNodesAfterReMesh(), and MeshBasedCellPopulationWithGhostNodes< DIM >::Validate().