Chaste  Release::2018.1
NodeBasedCellPopulationWithBuskeUpdate< DIM > Class Template Reference

#include <NodeBasedCellPopulationWithBuskeUpdate.hpp>

+ Inheritance diagram for NodeBasedCellPopulationWithBuskeUpdate< DIM >:
+ Collaboration diagram for NodeBasedCellPopulationWithBuskeUpdate< DIM >:

Public Member Functions

 NodeBasedCellPopulationWithBuskeUpdate (NodesOnlyMesh< DIM > &rMesh, std::vector< CellPtr > &rCells, const std::vector< unsigned > locationIndices=std::vector< unsigned >(), bool deleteMesh=false)
 
 NodeBasedCellPopulationWithBuskeUpdate (NodesOnlyMesh< DIM > &rMesh)
 
virtual void UpdateNodeLocations (double dt)
 
void OutputCellPopulationParameters (out_stream &rParamsFile)
 
- Public Member Functions inherited from NodeBasedCellPopulation< DIM >
void SetNode (unsigned nodeIndex, ChastePoint< DIM > &rNewLocation)
 
 NodeBasedCellPopulation (NodesOnlyMesh< DIM > &rMesh, std::vector< CellPtr > &rCells, const std::vector< unsigned > locationIndices=std::vector< unsigned >(), bool deleteMesh=false, bool validate=true)
 
 NodeBasedCellPopulation (NodesOnlyMesh< DIM > &rMesh)
 
virtual ~NodeBasedCellPopulation ()
 
NodesOnlyMesh< DIM > & rGetMesh ()
 
const NodesOnlyMesh< DIM > & rGetMesh () const
 
virtual TetrahedralMesh< DIM,
DIM > * 
GetTetrahedralMeshForPdeModifier ()
 
unsigned GetNumNodes ()
 
virtual CellPtr GetCellUsingLocationIndex (unsigned index)
 
Node< DIM > * GetNode (unsigned index)
 
unsigned RemoveDeadCells ()
 
void Clear ()
 
void Update (bool hasHadBirthsOrDeaths=true)
 
std::vector< std::pair< Node
< DIM > *, Node< DIM > * > > & 
rGetNodePairs ()
 
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)
 
double GetMechanicsCutOffLength ()
 
bool GetUseVariableRadii ()
 
void SetUseVariableRadii (bool useVariableRadii=true)
 
void SetLoadBalanceMesh (bool loadBalanceMesh)
 
void SetLoadBalanceFrequency (unsigned loadBalanceFrequency)
 
double GetWidth (const unsigned &rDimension)
 
c_vector< double, DIM > GetSizeOfCellPopulation ()
 
std::set< unsignedGetNodesWithinNeighbourhoodRadius (unsigned index, double neighbourhoodRadius)
 
std::set< unsignedGetNeighbouringNodeIndices (unsigned index)
 
virtual CellPtr AddCell (CellPtr pNewCell, CellPtr pParentCell)
 
double GetVolumeOfCell (CellPtr pCell)
 
void SendCellsToNeighbourProcesses ()
 
void NonBlockingSendCellsToNeighbourProcesses ()
 
void GetReceivedCells ()
 
std::pair< CellPtr, Node< DIM > * > GetCellNodePair (unsigned nodeIndex)
 
void AddReceivedCells ()
 
virtual void UpdateCellProcessLocation ()
 
- Public Member Functions inherited from AbstractCentreBasedCellPopulation< DIM >
 AbstractCentreBasedCellPopulation (AbstractMesh< ELEMENT_DIM, ELEMENT_DIM > &rMesh, std::vector< CellPtr > &rCells, const std::vector< unsigned > locationIndices=std::vector< unsigned >())
 
c_vector< double, ELEMENT_DIM > GetLocationOfCellCentre (CellPtr pCell)
 
Node< ELEMENT_DIM > * GetNodeCorrespondingToCell (CellPtr pCell)
 
virtual double GetCellDataItemAtPdeNode (unsigned pdeNodeIndex, std::string &rVariableName, bool dirichletBoundaryConditionApplies=false, double dirichletBoundaryValue=0.0)
 
CellPtr AddCell (CellPtr pNewCell, CellPtr pParentCell=CellPtr())
 
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 std::set< unsignedGetNeighbouringLocationIndices (CellPtr pCell)
 
virtual void CheckForStepSizeException (unsigned nodeIndex, c_vector< double, ELEMENT_DIM > &rDisplacement, double dt)
 
virtual double GetDampingConstant (unsigned nodeIndex)
 
virtual bool IsGhostNode (unsigned index)
 
virtual bool IsParticle (unsigned index)
 
double GetMeinekeDivisionSeparation ()
 
void SetMeinekeDivisionSeparation (double divisionSeparation)
 
boost::shared_ptr
< AbstractCentreBasedDivisionRule
< ELEMENT_DIM, ELEMENT_DIM > > 
GetCentreBasedDivisionRule ()
 
void SetCentreBasedDivisionRule (boost::shared_ptr< AbstractCentreBasedDivisionRule< ELEMENT_DIM, ELEMENT_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 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 ()
 
virtual bool IsPdeNodeAssociatedWithNonApoptoticCell (unsigned pdeNodeIndex)
 
std::list< CellPtr > & rGetCells ()
 
virtual void WriteDataToVisualizerSetupFile (out_stream &pVizSetupFile)
 
std::vector< unsignedGetCellMutationStateCount ()
 
std::vector< unsignedGetCellProliferativeTypeCount ()
 
std::vector< unsignedGetCellCyclePhaseCount ()
 
unsigned GetNumRealCells ()
 
unsigned GetNumAllCells ()
 
void SetCellAncestorsToLocationIndices ()
 
std::set< unsignedGetCellAncestors ()
 
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 OpenWritersFiles (OutputFileHandler &rOutputFileHandler)
 
void CloseWritersFiles ()
 
virtual void WriteResultsToFiles (const std::string &rDirectory)
 
virtual void AcceptPopulationWriter (boost::shared_ptr< AbstractCellPopulationWriter< ELEMENT_DIM, SPACE_DIM > > pPopulationWriter)=0
 
virtual void AcceptPopulationCountWriter (boost::shared_ptr< AbstractCellPopulationCountWriter< ELEMENT_DIM, SPACE_DIM > > pPopulationCountWriter)=0
 
virtual void AcceptCellWriter (boost::shared_ptr< AbstractCellWriter< ELEMENT_DIM, SPACE_DIM > > pCellWriter, CellPtr pCell)=0
 
void OutputCellPopulationInfo (out_stream &rParamsFile)
 
virtual void SimulationSetupHook (AbstractCellBasedSimulation< ELEMENT_DIM, SPACE_DIM > *pSimulation)
 
bool GetOutputResultsForChasteVisualizer ()
 
template<template< unsigned, unsigned > class T>
void AddPopulationWriter ()
 
template<template< unsigned, unsigned > class T>
void AddCellWriter ()
 
template<template< unsigned, unsigned > class T>
void AddCellPopulationCountWriter ()
 
void AddPopulationWriter (boost::shared_ptr< AbstractCellPopulationWriter< ELEMENT_DIM, SPACE_DIM > > pPopulationWriter)
 
void AddCellWriter (boost::shared_ptr< AbstractCellWriter< ELEMENT_DIM, SPACE_DIM > > pCellWriter)
 
void AddCellPopulationCountWriter (boost::shared_ptr< AbstractCellPopulationCountWriter< ELEMENT_DIM, SPACE_DIM > > pCellPopulationCountWriter)
 
template<template< unsigned, unsigned > class T>
bool HasWriter () const
 
void SetOutputResultsForChasteVisualizer (bool outputResultsForChasteVisualizer)
 
c_vector< double, SPACE_DIM > GetSizeOfCellPopulation ()
 
virtual bool IsRoomToDivide (CellPtr pCell)
 
std::pair< unsigned, unsignedCreateOrderedPair (unsigned index1, unsigned index2)
 
Iterator Begin ()
 
Iterator End ()
 
- Public Member Functions inherited from Identifiable
virtual ~Identifiable ()
 
std::string GetIdentifier () const
 

Private Member Functions

template<class Archive >
void serialize (Archive &archive, const unsigned int version)
 

Friends

class TestNodeBasedCellPopulationWithBuskeUpdate
 
class boost::serialization::access
 

Additional Inherited Members

- Protected Member Functions inherited from NodeBasedCellPopulation< DIM >
virtual void UpdateParticlesAfterReMesh (NodeMap &rMap)
 
virtual void Validate ()
 
- Protected Member Functions inherited from AbstractCentreBasedCellPopulation< DIM >
 AbstractCentreBasedCellPopulation (AbstractMesh< ELEMENT_DIM, ELEMENT_DIM > &rMesh)
 
virtual void AcceptCellWritersAcrossPopulation ()
 
- 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)
 
- Protected Attributes inherited from NodeBasedCellPopulation< DIM >
NodesOnlyMesh< DIM > * mpNodesOnlyMesh
 
- Protected Attributes inherited from AbstractCentreBasedCellPopulation< DIM >
double mMeinekeDivisionSeparation
 
std::set< std::pair< CellPtr,
CellPtr > > 
mMarkedSprings
 
boost::shared_ptr
< AbstractCentreBasedDivisionRule
< ELEMENT_DIM, ELEMENT_DIM > > 
mpCentreBasedDivisionRule
 
- Protected Attributes inherited from AbstractOffLatticeCellPopulation< ELEMENT_DIM, SPACE_DIM >
double mDampingConstantNormal
 
double mDampingConstantMutant
 
double mAbsoluteMovementThreshold
 
- Protected Attributes inherited from AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >
std::map< unsigned, std::set
< CellPtr > > 
mLocationCellMap
 
std::map< Cell *, unsignedmCellLocationMap
 
AbstractMesh< ELEMENT_DIM,
SPACE_DIM > & 
mrMesh
 
std::list< CellPtr > mCells
 
c_vector< double, SPACE_DIM > mCentroid
 
out_stream mpVtkMetaFile
 
boost::shared_ptr
< CellPropertyRegistry
mpCellPropertyRegistry
 
bool mOutputResultsForChasteVisualizer
 
std::vector< boost::shared_ptr
< AbstractCellWriter
< ELEMENT_DIM, SPACE_DIM > > > 
mCellWriters
 
std::vector< boost::shared_ptr
< AbstractCellPopulationWriter
< ELEMENT_DIM, SPACE_DIM > > > 
mCellPopulationWriters
 
std::vector< boost::shared_ptr
< AbstractCellPopulationCountWriter
< ELEMENT_DIM, SPACE_DIM > > > 
mCellPopulationCountWriters
 

Detailed Description

template<unsigned DIM>
class NodeBasedCellPopulationWithBuskeUpdate< DIM >

A NodeBasedCellPopulationWithBuskeUpdate is a CellPopulation consisting of only nodes in space with associated cells. There are no elements and no mesh. The cell positions are updated according to Buske et al (2011) (doi:10.1371/journal.pcbi.1001045).

Definition at line 50 of file NodeBasedCellPopulationWithBuskeUpdate.hpp.

Constructor & Destructor Documentation

template<unsigned DIM>
NodeBasedCellPopulationWithBuskeUpdate< DIM >::NodeBasedCellPopulationWithBuskeUpdate ( NodesOnlyMesh< DIM > &  rMesh,
std::vector< CellPtr > &  rCells,
const std::vector< unsigned locationIndices = std::vector<unsigned>(),
bool  deleteMesh = false 
)

Default constructor.

Note that the cell population will take responsibility for freeing the memory used by the nodes.

Parameters
rMesha mutable nodes-only mesh
rCellsa vector of cells
locationIndicesan optional vector of location indices that correspond to real cells
deleteMeshwhether to delete nodes-only mesh in destructor

Definition at line 41 of file NodeBasedCellPopulationWithBuskeUpdate.cpp.

Constructor for use by the de-serializer.

Parameters
rMesha mutable nodes-only mesh

Definition at line 50 of file NodeBasedCellPopulationWithBuskeUpdate.cpp.

Member Function Documentation

template<unsigned DIM>
void NodeBasedCellPopulationWithBuskeUpdate< DIM >::OutputCellPopulationParameters ( out_stream &  rParamsFile)
virtual

Outputs CellPopulation parameters to file

As this method is pure virtual, it must be overridden in subclasses.

Parameters
rParamsFilethe file stream to which the parameters are output

Reimplemented from NodeBasedCellPopulation< DIM >.

Definition at line 202 of file NodeBasedCellPopulationWithBuskeUpdate.cpp.

References NodeBasedCellPopulation< DIM >::OutputCellPopulationParameters().

template<unsigned DIM>
template<class Archive >
void NodeBasedCellPopulationWithBuskeUpdate< DIM >::serialize ( Archive &  archive,
const unsigned int  version 
)
inlineprivate

Serialize the object and its member variables.

Note that serialization of the nodes is handled by load/save_construct_data, so we don't actually have to do anything here except delegate to the base class.

Parameters
archivethe archive
versionthe current version of this class

Definition at line 68 of file NodeBasedCellPopulationWithBuskeUpdate.hpp.

Friends And Related Function Documentation

template<unsigned DIM>
friend class boost::serialization::access
friend

Needed for serialization.

Definition at line 57 of file NodeBasedCellPopulationWithBuskeUpdate.hpp.


The documentation for this class was generated from the following files: