Chaste  Release::2018.1
AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM > Class Template Referenceabstract

#include <AbstractCellPopulation.hpp>

+ Inheritance diagram for AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >:
+ Collaboration diagram for AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >:

Classes

class  Iterator
 

Public Member Functions

 AbstractCellPopulation (AbstractMesh< ELEMENT_DIM, SPACE_DIM > &rMesh, std::vector< CellPtr > &rCells, const std::vector< unsigned > locationIndices=std::vector< unsigned >())
 
virtual ~AbstractCellPopulation ()
 
void InitialiseCells ()
 
void SetDataOnAllCells (const std::string &rDataName, double dataValue)
 
AbstractMesh< ELEMENT_DIM,
SPACE_DIM > & 
rGetMesh ()
 
virtual TetrahedralMesh
< ELEMENT_DIM, SPACE_DIM > * 
GetTetrahedralMeshForPdeModifier ()=0
 
virtual bool IsPdeNodeAssociatedWithNonApoptoticCell (unsigned pdeNodeIndex)
 
virtual double GetCellDataItemAtPdeNode (unsigned pdeNodeIndex, std::string &rVariableName, bool dirichletBoundaryConditionApplies=false, double dirichletBoundaryValue=0.0)=0
 
std::list< CellPtr > & rGetCells ()
 
virtual unsigned GetNumNodes ()=0
 
virtual c_vector< double,
SPACE_DIM > 
GetLocationOfCellCentre (CellPtr pCell)=0
 
virtual Node< SPACE_DIM > * GetNode (unsigned index)=0
 
virtual void SetNode (unsigned nodeIndex, ChastePoint< SPACE_DIM > &rNewLocation)=0
 
virtual bool IsCellAssociatedWithADeletedLocation (CellPtr pCell)=0
 
virtual void WriteDataToVisualizerSetupFile (out_stream &pVizSetupFile)
 
virtual CellPtr AddCell (CellPtr pNewCell, CellPtr pParentCell=CellPtr())=0
 
virtual double GetDefaultTimeStep ()=0
 
virtual unsigned RemoveDeadCells ()=0
 
virtual void Update (bool hasHadBirthsOrDeaths=true)=0
 
std::vector< unsignedGetCellMutationStateCount ()
 
std::vector< unsignedGetCellProliferativeTypeCount ()
 
std::vector< unsignedGetCellCyclePhaseCount ()
 
unsigned GetNumRealCells ()
 
unsigned GetNumAllCells ()
 
void SetCellAncestorsToLocationIndices ()
 
std::set< unsignedGetCellAncestors ()
 
virtual CellPtr GetCellUsingLocationIndex (unsigned index)
 
std::set< CellPtr > GetCellsUsingLocationIndex (unsigned index)
 
virtual bool IsCellAttachedToLocationIndex (unsigned index)
 
void SetCellUsingLocationIndex (unsigned index, CellPtr pCell)
 
virtual void AddCellUsingLocationIndex (unsigned index, CellPtr pCell)
 
virtual void RemoveCellUsingLocationIndex (unsigned index, CellPtr pCell)
 
void MoveCellInLocationMap (CellPtr pCell, unsigned old_index, unsigned new_index)
 
unsigned GetLocationIndexUsingCell (CellPtr pCell)
 
boost::shared_ptr
< CellPropertyRegistry
GetCellPropertyRegistry ()
 
void SetDefaultCellMutationStateAndProliferativeTypeOrdering ()
 
virtual double GetWidth (const unsigned &rDimension)=0
 
virtual double GetVolumeOfCell (CellPtr pCell)=0
 
virtual std::set< unsignedGetNeighbouringNodeIndices (unsigned index)=0
 
virtual std::set< unsignedGetNeighbouringLocationIndices (CellPtr pCell)=0
 
c_vector< double, SPACE_DIM > GetCentroidOfCellPopulation ()
 
virtual void UpdateCellProcessLocation ()
 
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 OutputCellPopulationParameters (out_stream &rParamsFile)=0
 
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
 

Protected Member Functions

virtual void Validate ()=0
 
virtual void WriteVtkResultsToFile (const std::string &rDirectory)=0
 
 AbstractCellPopulation (AbstractMesh< ELEMENT_DIM, SPACE_DIM > &rMesh)
 
virtual void AcceptCellWritersAcrossPopulation ()
 

Protected Attributes

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
 

Private Member Functions

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

Friends

class boost::serialization::access
 

Detailed Description

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM = ELEMENT_DIM>
class AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >

An abstract facade class encapsulating a cell population.

Contains a group of cells and associated methods.

Definition at line 75 of file AbstractCellPopulation.hpp.

Constructor & Destructor Documentation

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::AbstractCellPopulation ( AbstractMesh< ELEMENT_DIM, SPACE_DIM > &  rMesh)
protected

Constructor that just takes in a mesh.

Parameters
rMeshthe mesh for the population.

Definition at line 106 of file AbstractCellPopulation.cpp.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::AbstractCellPopulation ( AbstractMesh< ELEMENT_DIM, SPACE_DIM > &  rMesh,
std::vector< CellPtr > &  rCells,
const std::vector< unsigned locationIndices = std::vector<unsigned>() 
)

AbstractCellPopulation Constructor.

Note
Warning: the passed-in vector of cells will be emptied, even if the constructor throws an exception!
Parameters
rMesha reference to the mesh underlying the cell population
rCellsa vector of cells. Copies of the cells will be stored in the cell population, and the passed-in vector cleared.
locationIndicesan optional vector of location indices that correspond to real cells

Definition at line 68 of file AbstractCellPopulation.cpp.

References EXCEPTION, AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mCellLocationMap, AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mCells, AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mLocationCellMap, and AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mpCellPropertyRegistry.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::~AbstractCellPopulation ( )
virtual

Base class with virtual methods needs a virtual destructor.

Definition at line 112 of file AbstractCellPopulation.cpp.

Member Function Documentation

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM = ELEMENT_DIM>
virtual void AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::AcceptCellWriter ( boost::shared_ptr< AbstractCellWriter< ELEMENT_DIM, SPACE_DIM > >  pCellWriter,
CellPtr  pCell 
)
pure virtual

Accept a cell writer so it can write data from this object to file.

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

Parameters
pCellWriterthe population writer.
pCellthe cell whose data are being written.

Implemented in MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::AcceptCellWritersAcrossPopulation ( )
protectedvirtual

Call AcceptCellWriter across the whole population.

By default the implementation here iterates over the cell population, but this is overridden in some classes that need to go over nodes.

Reimplemented in MeshBasedCellPopulationWithGhostNodes< DIM >, AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >, AbstractCentreBasedCellPopulation< DIM >, and NodeBasedCellPopulationWithParticles< DIM >.

Definition at line 660 of file AbstractCellPopulation.cpp.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM = ELEMENT_DIM>
virtual void AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::AcceptPopulationCountWriter ( boost::shared_ptr< AbstractCellPopulationCountWriter< ELEMENT_DIM, SPACE_DIM > >  pPopulationCountWriter)
pure virtual

Accept a cell population count writer so it can write data from this object to file.

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

Parameters
pPopulationCountWriterthe population count writer.

Implemented in MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM = ELEMENT_DIM>
virtual void AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::AcceptPopulationWriter ( boost::shared_ptr< AbstractCellPopulationWriter< ELEMENT_DIM, SPACE_DIM > >  pPopulationWriter)
pure virtual

Accept a cell population writer so it can write data from this object to file.

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

Parameters
pPopulationWriterthe population writer.

Implemented in MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM = ELEMENT_DIM>
virtual CellPtr AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::AddCell ( CellPtr  pNewCell,
CellPtr  pParentCell = CellPtr() 
)
pure virtual

Add a new cell to the cell population.

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

Parameters
pNewCellthe cell to add
pParentCellpointer to a parent cell (if required)
Returns
address of cell as it appears in the cell list (internal of this method uses a copy constructor along the way).

Implemented in NodeBasedCellPopulation< DIM >, VertexBasedCellPopulation< SPACE_DIM >, MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >, MeshBasedCellPopulation< DIM >, MeshBasedCellPopulation< 1 >, MeshBasedCellPopulation< 2 >, CaBasedCellPopulation< DIM >, PottsBasedCellPopulation< DIM >, MeshBasedCellPopulationWithGhostNodes< DIM >, AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >, AbstractCentreBasedCellPopulation< DIM >, and NodeBasedCellPopulationWithParticles< DIM >.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM = ELEMENT_DIM>
template<template< unsigned, unsigned > class T>
void AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::AddCellPopulationCountWriter ( )
inline

Add a cell population count writer based on its type. Template parameters are inferred from the population. The implementation of this function must be available in the header file.

Returns
This method returns void

Definition at line 720 of file AbstractCellPopulation.hpp.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM = ELEMENT_DIM>
void AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::AddCellPopulationCountWriter ( boost::shared_ptr< AbstractCellPopulationCountWriter< ELEMENT_DIM, SPACE_DIM > >  pCellPopulationCountWriter)
inline

Add a cell population count writer through an input argument. This alternative to the templated AddCellPopulationCountWriter() method allows the user to, for example, add a writer with a non-default value for its member mFileName.

Parameters
pCellPopulationCountWritershared pointer to a cell population count writer
Returns
This method returns void

Definition at line 762 of file AbstractCellPopulation.hpp.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::AddCellUsingLocationIndex ( unsigned  index,
CellPtr  pCell 
)
virtual
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM = ELEMENT_DIM>
template<template< unsigned, unsigned > class T>
void AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::AddCellWriter ( )
inline

Add a cell writer based on its type. Template parameters are inferred from the population. The implementation of this function must be available in the header file.

Returns
This method returns void

Definition at line 708 of file AbstractCellPopulation.hpp.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM = ELEMENT_DIM>
void AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::AddCellWriter ( boost::shared_ptr< AbstractCellWriter< ELEMENT_DIM, SPACE_DIM > >  pCellWriter)
inline

Add a cell writer through an input argument. This alternative to the templated AddCellWriter() method allows the user to, for example, add a writer with a non-default value for its member mFileName.

Parameters
pCellWritershared pointer to a cell writer
Returns
This method returns void

Definition at line 748 of file AbstractCellPopulation.hpp.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM = ELEMENT_DIM>
template<template< unsigned, unsigned > class T>
void AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::AddPopulationWriter ( )
inline

Add a cell population writer based on its type. Template parameters are inferred from the population. The implementation of this function must be available in the header file.

Returns
This method returns void

Definition at line 696 of file AbstractCellPopulation.hpp.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM = ELEMENT_DIM>
void AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::AddPopulationWriter ( boost::shared_ptr< AbstractCellPopulationWriter< ELEMENT_DIM, SPACE_DIM > >  pPopulationWriter)
inline

Add a cell population writer through an input argument. This alternative to the templated AddPopulationWriter() method allows the user to, for example, add a writer with a non-default value for its member mFileName.

Parameters
pPopulationWritershared pointer to a cell population writer
Returns
This method returns void

Definition at line 734 of file AbstractCellPopulation.hpp.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::Iterator AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::Begin ( )
Returns
iterator pointing to the first cell in the cell population

Definition at line 989 of file AbstractCellPopulation.hpp.

References AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mCells.

Referenced by ChemotacticForce< DIM >::AddForceContribution(), BuskeCompressionForce< DIM >::AddForceContribution(), CryptProjectionForce::AddForceContribution(), IsolatedLabelledCellKiller< DIM >::CheckAndLabelCellsForApoptosisOrDeath(), ApoptoticCellKiller< SPACE_DIM >::CheckAndLabelCellsForApoptosisOrDeath(), RadialSloughingCellKiller::CheckAndLabelCellsForApoptosisOrDeath(), PlaneBasedCellKiller< DIM >::CheckAndLabelCellsForApoptosisOrDeath(), RandomCellKiller< DIM >::CheckAndLabelCellsForApoptosisOrDeath(), SloughingCellKiller< DIM >::CheckAndLabelCellsForApoptosisOrDeath(), EllipticBoxDomainPdeModifier< DIM >::ConstructBoundaryConditionsContainer(), CryptProjectionStatistics::GetCryptSection(), CryptStatistics::GetCryptSection(), CryptSimulationBoundaryCondition< DIM >::ImposeBoundaryCondition(), SphereGeometryBoundaryCondition< DIM >::ImposeBoundaryCondition(), AbstractBoxDomainPdeModifier< DIM >::InitialiseCellPdeElementMap(), AbstractCryptStatistics::LabelAllCellsAsHealthy(), AbstractCryptStatistics::LabelSPhaseCells(), CellwiseDataGradient< DIM >::SetupGradients(), ParabolicBoxDomainPdeModifier< DIM >::SetupInitialSolutionVector(), VolumeDependentAveragedSourceEllipticPde< DIM >::SetupSourceTerms(), AveragedSourceEllipticPde< DIM >::SetupSourceTerms(), AveragedSourceParabolicPde< DIM >::SetupSourceTerms(), VolumeTrackingModifier< DIM >::UpdateCellData(), DeltaNotchTrackingModifier< DIM >::UpdateCellData(), AbstractGrowingDomainPdeModifier< DIM >::UpdateCellData(), AbstractBoxDomainPdeModifier< DIM >::UpdateCellData(), AbstractBoxDomainPdeModifier< DIM >::UpdateCellPdeElementMap(), CryptProjectionForce::UpdateNode3dLocationMap(), CryptSimulationBoundaryCondition< DIM >::VerifyBoundaryCondition(), SphereGeometryBoundaryCondition< DIM >::VerifyBoundaryCondition(), HeterotypicBoundaryLengthWriter< ELEMENT_DIM, SPACE_DIM >::Visit(), RadialCellDataDistributionWriter< ELEMENT_DIM, SPACE_DIM >::Visit(), CellPopulationAdjacencyMatrixWriter< ELEMENT_DIM, SPACE_DIM >::Visit(), CellPopulationAdjacencyMatrixWriter< ELEMENT_DIM, SPACE_DIM >::VisitAnyPopulation(), and RadialCellDataDistributionWriter< ELEMENT_DIM, SPACE_DIM >::VisitAnyPopulation().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::CloseRoundRobinWritersFiles ( )
private

Close all files in mCellPopulationWriters and mCellWriters.

Files in mCellPopulationCountWriters are NOT closed in this call since they are not written in a round-robin fashion

Definition at line 466 of file AbstractCellPopulation.cpp.

References AbstractCellBasedWriter< ELEMENT_DIM, SPACE_DIM >::CloseFile().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::CloseWritersFiles ( )

Close output files associated with any writers in the members mCellPopulationCountWriters, mCellPopulationWriters and mCellWriters.

The method also closes the .pvd output file if VTK is available.

Definition at line 482 of file AbstractCellPopulation.cpp.

References AbstractCellBasedWriter< ELEMENT_DIM, SPACE_DIM >::CloseFile().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
std::pair< unsigned, unsigned > AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::CreateOrderedPair ( unsigned  index1,
unsigned  index2 
)
Returns
a pair of indices ordered by node index. Used by the rest length routines.
Parameters
index1a node index
index2a node index

Definition at line 807 of file AbstractCellPopulation.cpp.

Referenced by MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::CalculateRestLengths(), MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetRestLength(), and MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::SetRestLength().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::Iterator AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::End ( )
Returns
iterator pointing to one past the last cell in the cell population

Definition at line 995 of file AbstractCellPopulation.hpp.

References AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mCells.

Referenced by ChemotacticForce< DIM >::AddForceContribution(), BuskeCompressionForce< DIM >::AddForceContribution(), CryptProjectionForce::AddForceContribution(), RadialSloughingCellKiller::CheckAndLabelCellsForApoptosisOrDeath(), EllipticBoxDomainPdeModifier< DIM >::ConstructBoundaryConditionsContainer(), CryptProjectionStatistics::GetCryptSection(), CryptStatistics::GetCryptSection(), AbstractBoxDomainPdeModifier< DIM >::InitialiseCellPdeElementMap(), AbstractCryptStatistics::LabelAllCellsAsHealthy(), AbstractCryptStatistics::LabelSPhaseCells(), CellwiseDataGradient< DIM >::SetupGradients(), ParabolicBoxDomainPdeModifier< DIM >::SetupInitialSolutionVector(), VolumeTrackingModifier< DIM >::UpdateCellData(), AbstractGrowingDomainPdeModifier< DIM >::UpdateCellData(), DeltaNotchTrackingModifier< DIM >::UpdateCellData(), AbstractBoxDomainPdeModifier< DIM >::UpdateCellData(), AbstractBoxDomainPdeModifier< DIM >::UpdateCellPdeElementMap(), CryptProjectionForce::UpdateNode3dLocationMap(), HeterotypicBoundaryLengthWriter< ELEMENT_DIM, SPACE_DIM >::Visit(), RadialCellDataDistributionWriter< ELEMENT_DIM, SPACE_DIM >::Visit(), CellPopulationAdjacencyMatrixWriter< ELEMENT_DIM, SPACE_DIM >::Visit(), CellPopulationAdjacencyMatrixWriter< ELEMENT_DIM, SPACE_DIM >::VisitAnyPopulation(), and RadialCellDataDistributionWriter< ELEMENT_DIM, SPACE_DIM >::VisitAnyPopulation().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
std::set< unsigned > AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetCellAncestors ( )

Loops over cells and makes a list of the ancestors that are part of the cell population.

Returns
remaining_ancestors The size of this set tells you how many clonal populations remain.

Definition at line 181 of file AbstractCellPopulation.cpp.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
std::vector< unsigned > AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetCellCyclePhaseCount ( )

Find out how many cells in each cell cycle phase there are.

Returns
The number of cells of each phase (evaluated at each visualizer output) [0] = G_ZERO_PHASE [1] = G_ONE_PHASE [2] = S_PHASE [3] = G_TWO_PHASE [4] = M_PHASE

Definition at line 261 of file AbstractCellPopulation.cpp.

References EXCEPTION, PetscTools::GetWorld(), PetscTools::IsParallel(), and NEVER_REACHED.

Referenced by CellProliferativePhasesCountWriter< ELEMENT_DIM, SPACE_DIM >::Visit(), and CellProliferativePhasesCountWriter< ELEMENT_DIM, SPACE_DIM >::VisitAnyPopulation().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM = ELEMENT_DIM>
virtual double AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetCellDataItemAtPdeNode ( unsigned  pdeNodeIndex,
std::string &  rVariableName,
bool  dirichletBoundaryConditionApplies = false,
double  dirichletBoundaryValue = 0.0 
)
pure virtual
Parameters
pdeNodeIndexindex of a node in a tetrahedral mesh for use with a PDE modifier
rVariableNamethe name of the cell data item to get
dirichletBoundaryConditionApplieswhere a Dirichlet boundary condition is used (optional; defaults to false)
dirichletBoundaryValuethe value of the Dirichlet boundary condition, if used (optional; defaults to 0.0)
Returns
the value of a CellData item (interpolated if necessary) at a node, specified by its index in a tetrahedral mesh for use with a PDE modifier. This method can be called by PDE modifier classes.

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

Implemented in VertexBasedCellPopulation< SPACE_DIM >, CaBasedCellPopulation< DIM >, PottsBasedCellPopulation< DIM >, AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >, and AbstractCentreBasedCellPopulation< DIM >.

Referenced by ParabolicGrowingDomainPdeModifier< DIM >::UpdateSolutionVector().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
std::vector< unsigned > AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetCellMutationStateCount ( )

Find out how many cells of each mutation state there are

Returns
The number of cells of each mutation state (evaluated at each visualizer output), with default ordering [0] = healthy count [1] = APC one hit [2] = APC two hit [3] = beta catenin one hit

Definition at line 192 of file AbstractCellPopulation.cpp.

References PetscTools::GetWorld(), and PetscTools::IsParallel().

Referenced by CellMutationStatesCountWriter< ELEMENT_DIM, SPACE_DIM >::Visit(), and CellMutationStatesCountWriter< ELEMENT_DIM, SPACE_DIM >::VisitAnyPopulation().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
std::vector< unsigned > AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetCellProliferativeTypeCount ( )

Find out how many cells of each type there are.

Returns
The number of cells of each type (evaluated at each visualizer output), with default ordering [0] = STEM [1] = TRANSIT [2] = DIFFERENTIATED [3] = DEFAULT

Definition at line 226 of file AbstractCellPopulation.cpp.

References PetscTools::GetWorld(), and PetscTools::IsParallel().

Referenced by CellProliferativeTypesCountWriter< ELEMENT_DIM, SPACE_DIM >::Visit(), and CellProliferativeTypesCountWriter< ELEMENT_DIM, SPACE_DIM >::VisitAnyPopulation().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
boost::shared_ptr< CellPropertyRegistry > AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetCellPropertyRegistry ( )
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
std::set< CellPtr > AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetCellsUsingLocationIndex ( unsigned  index)

Get the set of cells corresponding to a given location index.

Note that the set may be empty.

Parameters
indexthe location index
Returns
the set of cells.

Definition at line 341 of file AbstractCellPopulation.cpp.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
CellPtr AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetCellUsingLocationIndex ( unsigned  index)
virtual
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
c_vector< double, SPACE_DIM > AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetCentroidOfCellPopulation ( )
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM = ELEMENT_DIM>
virtual double AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetDefaultTimeStep ( )
pure virtual
Returns
a default value for the time step to use when simulating the cell population.

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

Note that the time step can be reset by calling SetDt() on the simulation object used to simulate the cell population.

Implemented in VertexBasedCellPopulation< SPACE_DIM >, AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >, AbstractCentreBasedCellPopulation< DIM >, and AbstractOnLatticeCellPopulation< DIM >.

Referenced by AbstractCellBasedSimulation< ELEMENT_DIM, SPACE_DIM >::AbstractCellBasedSimulation().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
unsigned AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetLocationIndexUsingCell ( CellPtr  pCell)

Get the location index corresponding to a given cell.

Assumes there is one location index for each cell and an assertion fails if not.

Parameters
pCellthe cell
Returns
the location index.

Definition at line 410 of file AbstractCellPopulation.cpp.

Referenced by ChemotacticForce< DIM >::AddForceContribution(), BuskeCompressionForce< DIM >::AddForceContribution(), CryptProjectionForce::AddForceContribution(), MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::CheckCellPointers(), CellRadiusWriter< ELEMENT_DIM, SPACE_DIM >::GetCellDataForVtkOutput(), CellAppliedForceWriter< ELEMENT_DIM, SPACE_DIM >::GetVectorCellDataForVtkOutput(), CellwiseDataGradient< DIM >::SetupGradients(), AbstractGrowingDomainPdeModifier< DIM >::UpdateCellData(), CryptProjectionForce::UpdateNode3dLocationMap(), HeterotypicBoundaryLengthWriter< ELEMENT_DIM, SPACE_DIM >::Visit(), CellPopulationAdjacencyMatrixWriter< ELEMENT_DIM, SPACE_DIM >::Visit(), CellPopulationAdjacencyMatrixWriter< ELEMENT_DIM, SPACE_DIM >::VisitAnyPopulation(), CellBetaCateninWriter< ELEMENT_DIM, SPACE_DIM >::VisitCell(), CellLabelWriter< ELEMENT_DIM, SPACE_DIM >::VisitCell(), CellLocationIndexWriter< ELEMENT_DIM, SPACE_DIM >::VisitCell(), CellRosetteRankWriter< ELEMENT_DIM, SPACE_DIM >::VisitCell(), CellVolumesWriter< ELEMENT_DIM, SPACE_DIM >::VisitCell(), CellIdWriter< ELEMENT_DIM, SPACE_DIM >::VisitCell(), CellAgesWriter< ELEMENT_DIM, SPACE_DIM >::VisitCell(), CellRadiusWriter< ELEMENT_DIM, SPACE_DIM >::VisitCell(), CellCycleModelProteinConcentrationsWriter< ELEMENT_DIM, SPACE_DIM >::VisitCell(), CellAppliedForceWriter< ELEMENT_DIM, SPACE_DIM >::VisitCell(), CellDeltaNotchWriter< ELEMENT_DIM, SPACE_DIM >::VisitCell(), and CellDataItemWriter< ELEMENT_DIM, SPACE_DIM >::VisitCell().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM = ELEMENT_DIM>
virtual c_vector<double, SPACE_DIM> AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetLocationOfCellCentre ( CellPtr  pCell)
pure virtual
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM = ELEMENT_DIM>
virtual std::set<unsigned> AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetNeighbouringLocationIndices ( CellPtr  pCell)
pure virtual

Given a cell, returns the set of location indices corresponding to neighbouring cells.

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

Parameters
pCella cell
Returns
the set of neighbouring location indices.

Implemented in VertexBasedCellPopulation< SPACE_DIM >, CaBasedCellPopulation< DIM >, PottsBasedCellPopulation< DIM >, AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >, AbstractCentreBasedCellPopulation< DIM >, and MeshBasedCellPopulationWithGhostNodes< DIM >.

Referenced by DeltaNotchTrackingModifier< DIM >::UpdateCellData(), and CellPopulationAdjacencyMatrixWriter< ELEMENT_DIM, SPACE_DIM >::VisitAnyPopulation().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM = ELEMENT_DIM>
virtual std::set<unsigned> AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetNeighbouringNodeIndices ( unsigned  index)
pure virtual

Given a node index, returns the set of neighbouring node indices.

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

Parameters
indexthe node index
Returns
the set of neighbouring node indices.

Implemented in MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >, MeshBasedCellPopulation< DIM >, MeshBasedCellPopulation< 1 >, MeshBasedCellPopulation< 2 >, NodeBasedCellPopulation< DIM >, VertexBasedCellPopulation< SPACE_DIM >, and AbstractOnLatticeCellPopulation< DIM >.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
unsigned AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetNumAllCells ( )

This returns the number of cells that are present in the internal mCells vector. It also includes dead cells and cells that are associated with a deleted location in the mesh.

Returns
the number of real cells.

Definition at line 165 of file AbstractCellPopulation.cpp.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM = ELEMENT_DIM>
virtual unsigned AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetNumNodes ( )
pure virtual
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
unsigned AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetNumRealCells ( )

This counts the number of cells that the cell iterator covers. It does not include dead cells or cells that are associated with a deleted location in the mesh.

Returns
the number of real cells.

Definition at line 152 of file AbstractCellPopulation.cpp.

Referenced by CellPopulationAdjacencyMatrixWriter< ELEMENT_DIM, SPACE_DIM >::Visit(), and CellPopulationAdjacencyMatrixWriter< ELEMENT_DIM, SPACE_DIM >::VisitAnyPopulation().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
bool AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetOutputResultsForChasteVisualizer ( )
Returns
mOutputResultsForChasteVisualizer

Definition at line 759 of file AbstractCellPopulation.cpp.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
c_vector< double, SPACE_DIM > AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetSizeOfCellPopulation ( )
Returns
The width (maximum distance to centroid) of the cell population in each dimension

Definition at line 777 of file AbstractCellPopulation.cpp.

Referenced by NodeBasedCellPopulation< DIM >::GetSizeOfCellPopulation().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM = ELEMENT_DIM>
virtual TetrahedralMesh<ELEMENT_DIM, SPACE_DIM>* AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetTetrahedralMeshForPdeModifier ( )
pure virtual
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM = ELEMENT_DIM>
virtual double AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetVolumeOfCell ( CellPtr  pCell)
pure virtual
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM = ELEMENT_DIM>
virtual double AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetWidth ( const unsigned rDimension)
pure virtual

Calculate the 'width' of any dimension of the cell population.

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

Parameters
rDimensiona dimension (0,1 or 2)
Returns
The maximum distance between any nodes in this dimension.

Implemented in VertexBasedCellPopulation< SPACE_DIM >, MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >, MeshBasedCellPopulation< DIM >, MeshBasedCellPopulation< 1 >, MeshBasedCellPopulation< 2 >, NodeBasedCellPopulation< DIM >, CaBasedCellPopulation< DIM >, and PottsBasedCellPopulation< DIM >.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM = ELEMENT_DIM>
template<template< unsigned, unsigned > class T>
bool AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::HasWriter ( ) const
inline

Get whether the population has a writer of the specified type.

Returns
whether the population has this writer

Definition at line 773 of file AbstractCellPopulation.hpp.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::InitialiseCells ( )

Initialise each cell's cell-cycle model.

Definition at line 117 of file AbstractCellPopulation.cpp.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM = ELEMENT_DIM>
virtual bool AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::IsCellAssociatedWithADeletedLocation ( CellPtr  pCell)
pure virtual

Helper method for establishing if a cell is real.

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

Parameters
pCellthe cell
Returns
whether a given cell is associated with a deleted node (cell-centre models) or element (vertex models).

Implemented in CaBasedCellPopulation< DIM >, VertexBasedCellPopulation< SPACE_DIM >, PottsBasedCellPopulation< DIM >, AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >, and AbstractCentreBasedCellPopulation< DIM >.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
bool AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::IsCellAttachedToLocationIndex ( unsigned  index)
virtual

Returns whether or not a cell is associated with a location index

Parameters
indexthe location index
Returns
whether there is a cell attached.

Definition at line 348 of file AbstractCellPopulation.cpp.

Referenced by CellPopulationElementWriter< ELEMENT_DIM, SPACE_DIM >::Visit().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
bool AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::IsPdeNodeAssociatedWithNonApoptoticCell ( unsigned  pdeNodeIndex)
virtual
Parameters
pdeNodeIndexindex of a node in a tetrahedral mesh for use with a PDE modifier
Returns
if a node, specified by its index in a tetrahedral mesh for use with a PDE modifier, is associated with a non-apoptotic cell. This method can be called by PDE classes.

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

Reimplemented in CaBasedCellPopulation< DIM >, and VertexBasedCellPopulation< SPACE_DIM >.

Definition at line 826 of file AbstractCellPopulation.cpp.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
bool AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::IsRoomToDivide ( CellPtr  pCell)
virtual
Returns
whether there is room into which a given cell may divide. Returns true by default, but may be overridden in subclasses.
Parameters
pCellpointer to a cell

Reimplemented in CaBasedCellPopulation< DIM >.

Definition at line 771 of file AbstractCellPopulation.cpp.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::MoveCellInLocationMap ( CellPtr  pCell,
unsigned  old_index,
unsigned  new_index 
)

Change the location index of a cell in mLocationCellMap and mCellLocationMap

Parameters
pCellthe cell to move
old_indexthe old location index
new_indexthe new location index

Definition at line 400 of file AbstractCellPopulation.cpp.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::OpenRoundRobinWritersFilesForAppend ( OutputFileHandler rOutputFileHandler)
private

Open all files in mCellPopulationWriters and mCellWriters in append mode for writing.

Files in mCellPopulationCountWriters are NOT opened in this call since they are not written in a round-robin fashion.

Parameters
rOutputFileHandlerhandler for the directory in which to open this file.

Definition at line 554 of file AbstractCellPopulation.cpp.

References AbstractCellBasedWriter< ELEMENT_DIM, SPACE_DIM >::OpenOutputFileForAppend().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::OpenWritersFiles ( OutputFileHandler rOutputFileHandler)
virtual

Open output files (and, if required, write headers) for any writers in the members mCellPopulationCountWriters, mCellPopulationWriters and mCellWriters.

The method also writes the header for the .pvd output file if VTK is available.

Before doing this, the method also creates appropriate writer objects if mOutputResultsForChasteVisualizer is set to true.

This method is public because it is called by the simulation class at the start of the Solve() call.

Parameters
rOutputFileHandlerhandler for the directory in which to open this file.

Reimplemented in VertexBasedCellPopulation< SPACE_DIM >, CaBasedCellPopulation< DIM >, PottsBasedCellPopulation< DIM >, MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >, MeshBasedCellPopulation< DIM >, MeshBasedCellPopulation< 1 >, MeshBasedCellPopulation< 2 >, and MeshBasedCellPopulationWithGhostNodes< DIM >.

Definition at line 504 of file AbstractCellPopulation.cpp.

References AbstractCellBasedWriter< ELEMENT_DIM, SPACE_DIM >::OpenOutputFile(), and OutputFileHandler::OpenOutputFile().

Referenced by MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::OpenWritersFiles(), PottsBasedCellPopulation< DIM >::OpenWritersFiles(), CaBasedCellPopulation< DIM >::OpenWritersFiles(), and VertexBasedCellPopulation< SPACE_DIM >::OpenWritersFiles().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::OutputCellPopulationInfo ( out_stream &  rParamsFile)

Outputs CellPopulation used in the simulation to file and then calls OutputCellPopulationParameters to output all relevant parameters.

Parameters
rParamsFilethe file stream to which the parameters are output

Loop over cells and generate a set of cell-cycle model classes that are present in the population.

Todo:
this currently ignores different parameter regimes (#1453)

Loop over cells and generate a set of SRN model classes that are present in the population.

Todo:
this currently ignores different parameter regimes (#1453)

Definition at line 676 of file AbstractCellPopulation.cpp.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::RemoveCellUsingLocationIndex ( unsigned  index,
CellPtr  pCell 
)
virtual

Removes a cell from a given location index.

Parameters
indexthe location index
pCellthe cell.

Reimplemented in CaBasedCellPopulation< DIM >.

Definition at line 384 of file AbstractCellPopulation.cpp.

References EXCEPTION.

Referenced by CaBasedCellPopulation< DIM >::RemoveCellUsingLocationIndex().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM = ELEMENT_DIM>
virtual unsigned AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::RemoveDeadCells ( )
pure virtual
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
std::list< CellPtr > & AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::rGetCells ( )
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
AbstractMesh< ELEMENT_DIM, SPACE_DIM > & AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::rGetMesh ( )
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM = ELEMENT_DIM>
template<class Archive >
void AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::serialize ( Archive &  archive,
const unsigned int  version 
)
inlineprivate

Serialize the object and its member variables.

Parameters
archivethe archive
versionthe current version of this class

Definition at line 89 of file AbstractCellPopulation.hpp.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::SetCellAncestorsToLocationIndices ( )

Sets the Ancestor index of all the cells at this time to be the same as their location index, can be used to trace clonal populations.

Definition at line 171 of file AbstractCellPopulation.cpp.

References MAKE_PTR_ARGS.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::SetCellUsingLocationIndex ( unsigned  index,
CellPtr  pCell 
)

Set the cell corresponding to a given location index.

Assumes there is one cell for each location index and replaces any existing cell attached to the location index. If you wish to attach an additional cell to a location index use AddCellUsingLocaitonIndex as SetCellUsingLocation Index will overwrite cells attached to this index.

Parameters
indexthe location index
pCellthe cell.

Definition at line 363 of file AbstractCellPopulation.cpp.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::SetDataOnAllCells ( const std::string &  rDataName,
double  dataValue 
)

Add an item of cell data to every cell in the population

Parameters
rDataNameis the name associated with the data
dataValueis the value of the data, initially the same for each cell

Definition at line 129 of file AbstractCellPopulation.cpp.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::SetDefaultCellMutationStateAndProliferativeTypeOrdering ( )

Set a default ordering on cell mutation states and cell proliferative types, so that existing tests don't need to specify the old ordering explicitly.

Definition at line 425 of file AbstractCellPopulation.cpp.

Referenced by CellMutationStatesCountWriter< ELEMENT_DIM, SPACE_DIM >::WriteHeader().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM = ELEMENT_DIM>
virtual void AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::SetNode ( unsigned  nodeIndex,
ChastePoint< SPACE_DIM > &  rNewLocation 
)
pure virtual

Move the node with a given index to a new point in space.

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

Parameters
nodeIndexthe index of the node to be moved
rNewLocationthe new target location of the node

Implemented in MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >, and AbstractOffLatticeCellPopulation< ELEMENT_DIM, SPACE_DIM >.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::SetOutputResultsForChasteVisualizer ( bool  outputResultsForChasteVisualizer)

Set mOutputResultsForChasteVisualizer.

Parameters
outputResultsForChasteVisualizerthe new value of mOutputResultsForChasteVisualizer

Definition at line 765 of file AbstractCellPopulation.cpp.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::SimulationSetupHook ( AbstractCellBasedSimulation< ELEMENT_DIM, SPACE_DIM > *  pSimulation)
virtual

Empty hook method to provide the ability to specify some additional property of a cell-based simulation object.

This method is called immediately prior to calling SetupSolve() within the Solve() method in AbstractCellBasedSimulation.

This method can be overridden, for example, to add a T2SwapCellKiller to the simulation object in the case of a VertexBasedCellPopulation. This functionality avoids the need for static or dynamic casts to specific cell population types within simulation methods.

Parameters
pSimulationpointer to a cell-based simulation object

Definition at line 754 of file AbstractCellPopulation.cpp.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM = ELEMENT_DIM>
virtual void AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::Update ( bool  hasHadBirthsOrDeaths = true)
pure virtual

Remove the Nodes (for cell-centre) or VertexElements (for cell-vertex) which have been marked as deleted and update the correspondence with Cells.

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

Parameters
hasHadBirthsOrDeaths- a bool saying whether cell population has had Births Or Deaths

Implemented in NodeBasedCellPopulation< DIM >, CaBasedCellPopulation< DIM >, MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >, MeshBasedCellPopulation< DIM >, MeshBasedCellPopulation< 1 >, MeshBasedCellPopulation< 2 >, VertexBasedCellPopulation< SPACE_DIM >, and PottsBasedCellPopulation< DIM >.

Referenced by VolumeTrackingModifier< DIM >::UpdateCellData(), DeltaNotchTrackingModifier< DIM >::UpdateCellData(), and CellPopulationAdjacencyMatrixWriter< ELEMENT_DIM, SPACE_DIM >::VisitAnyPopulation().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::UpdateCellProcessLocation ( )
virtual

Update the ownership of cell in a parallel cell-based simulation.

Reimplemented in NodeBasedCellPopulation< DIM >.

Definition at line 461 of file AbstractCellPopulation.cpp.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM = ELEMENT_DIM>
virtual void AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::Validate ( )
protectedpure virtual
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::WriteDataToVisualizerSetupFile ( out_stream &  pVizSetupFile)
virtual

Write any data necessary to a visualization setup file. Used by AbstractCellBasedSimulation::WriteVisualizerSetupFile().

Parameters
pVizSetupFilea visualization setup file

Reimplemented in VertexBasedCellPopulation< SPACE_DIM >, MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >, MeshBasedCellPopulation< DIM >, MeshBasedCellPopulation< 1 >, and MeshBasedCellPopulation< 2 >.

Definition at line 358 of file AbstractCellPopulation.cpp.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::WriteResultsToFiles ( const std::string &  rDirectory)
virtual
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM = ELEMENT_DIM>
virtual void AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::WriteVtkResultsToFile ( const std::string &  rDirectory)
protectedpure virtual

Friends And Related Function Documentation

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM = ELEMENT_DIM>
friend class boost::serialization::access
friend

Needed for serialization.

Definition at line 80 of file AbstractCellPopulation.hpp.

Member Data Documentation

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM = ELEMENT_DIM>
std::map<Cell*, unsigned> AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mCellLocationMap
protected
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM = ELEMENT_DIM>
std::vector<boost::shared_ptr<AbstractCellPopulationCountWriter<ELEMENT_DIM, SPACE_DIM> > > AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mCellPopulationCountWriters
protected
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM = ELEMENT_DIM>
std::vector<boost::shared_ptr<AbstractCellPopulationWriter<ELEMENT_DIM, SPACE_DIM> > > AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mCellPopulationWriters
protected
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM = ELEMENT_DIM>
std::vector<boost::shared_ptr<AbstractCellWriter<ELEMENT_DIM, SPACE_DIM> > > AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mCellWriters
protected
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM = ELEMENT_DIM>
c_vector<double, SPACE_DIM> AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mCentroid
protected

Population centroid.

Definition at line 135 of file AbstractCellPopulation.hpp.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM = ELEMENT_DIM>
std::map<unsigned, std::set<CellPtr> > AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mLocationCellMap
protected
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM = ELEMENT_DIM>
bool AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mOutputResultsForChasteVisualizer
protected

Whether to write results to file for visualization using the Chaste java visualizer (defaults to true).

Definition at line 144 of file AbstractCellPopulation.hpp.

Referenced by AbstractCellPopulation< DIM, DIM >::serialize().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM = ELEMENT_DIM>
boost::shared_ptr<CellPropertyRegistry> AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mpCellPropertyRegistry
protected
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM = ELEMENT_DIM>
out_stream AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mpVtkMetaFile
protected

Meta results file for VTK.

Definition at line 138 of file AbstractCellPopulation.hpp.


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