AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM > Class Template Reference

#include <AbstractCellPopulation.hpp>

Inherits Identifiable.

Inherited by AbstractOffLatticeCellPopulation< ELEMENT_DIM, SPACE_DIM >, and AbstractOffLatticeCellPopulation< ELEMENT_DIM, ELEMENT_DIM >.

Collaboration diagram for AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >:

List of all members.

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 &dataName, double dataValue)
AbstractMesh< ELEMENT_DIM,
SPACE_DIM > & 
rGetMesh ()
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 CellPtr AddCell (CellPtr pNewCell, const c_vector< double, SPACE_DIM > &rCellDivisionVector, CellPtr pParentCell=CellPtr())=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)
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
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 ()

Protected Member Functions

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

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 83 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  )  [inline, protected]

Constructor that just takes in a mesh.

Parameters:
rMesh the mesh for the population.

Definition at line 97 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>() 
) [inline]

AbstractCellPopulation Constructor.

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

Definition at line 59 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 (  )  [inline, virtual]

Base class with virtual methods needs a virtual destructor.

Definition at line 103 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]

A virtual method to accept a cell writer so it can write data from this object to file.

Parameters:
pCellWriter the population writer.
pCell the cell whose data is being written.

Implemented in MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >.

Referenced by AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::WriteResultsToFiles().

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]

A virtual method to accept a cell population count writer so it can write data from this object to file.

Parameters:
pPopulationCountWriter the population count writer.

Implemented in MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >.

Referenced by AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::WriteResultsToFiles().

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]

A virtual method to accept a cell population writer so it can write data from this object to file.

Parameters:
pPopulationWriter the population writer.

Implemented in MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >.

Referenced by AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::WriteResultsToFiles().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM = ELEMENT_DIM>
virtual CellPtr AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::AddCell ( CellPtr  pNewCell,
const c_vector< double, SPACE_DIM > &  rCellDivisionVector,
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:
pNewCell the cell to add
rCellDivisionVector a vector providing information regarding how the cell division should occur (for cell-centre cell populations, this vector is the position of the daughter cell; for vertex cell populations it can be used by any subclass of CellBasedSimulation to as a means of dictating the axis along which the parent cell divides)
pParentCell pointer 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 AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >, MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >, and AbstractCentreBasedCellPopulation< ELEMENT_DIM, ELEMENT_DIM >.

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 AddPopulationCountWriter() method allows the user to, for example, add a writer with a non-default value for its member mFileName.

Parameters:
pCellPopulationCountWriter shared pointer to a cell population count writer
Returns:
This method returns void

Definition at line 681 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 >::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 639 of file AbstractCellPopulation.hpp.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::AddCellUsingLocationIndex ( unsigned  index,
CellPtr  pCell 
) [inline, virtual]
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:
pCellWriter shared pointer to a cell writer
Returns:
This method returns void

Definition at line 667 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 >::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 627 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:
pPopulationWriter shared pointer to a cell population writer
Returns:
This method returns void

Definition at line 653 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 615 of file AbstractCellPopulation.hpp.

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

Definition at line 908 of file AbstractCellPopulation.hpp.

References AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mCells.

Referenced by CryptProjectionForce::AddForceContribution(), DiffusionForce< DIM >::AddForceContribution(), ChemotacticForce< DIM >::AddForceContribution(), BuskeCompressionForce< DIM >::AddForceContribution(), SloughingCellKiller< DIM >::CheckAndLabelCellsForApoptosisOrDeath(), RadialSloughingCellKiller::CheckAndLabelCellsForApoptosisOrDeath(), RandomCellKiller< DIM >::CheckAndLabelCellsForApoptosisOrDeath(), PlaneBasedCellKiller< DIM >::CheckAndLabelCellsForApoptosisOrDeath(), IsolatedLabelledCellKiller< DIM >::CheckAndLabelCellsForApoptosisOrDeath(), ApoptoticCellKiller< SPACE_DIM >::CheckAndLabelCellsForApoptosisOrDeath(), CellBasedPdeHandler< DIM >::ConstructBoundaryConditionsContainer(), AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetCellAncestors(), AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetCellCyclePhaseCount(), AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetCentroidOfCellPopulation(), CryptStatistics::GetCryptSection(), CryptProjectionStatistics::GetCryptSection(), AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetNumRealCells(), AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetSizeOfCellPopulation(), CryptSimulationBoundaryCondition< DIM >::ImposeBoundaryCondition(), SphereGeometryBoundaryCondition< DIM >::ImposeBoundaryCondition(), PlaneBoundaryCondition< DIM >::ImposeBoundaryCondition(), CellBasedPdeHandler< DIM >::InitialiseCellPdeElementMap(), AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::InitialiseCells(), AbstractCryptStatistics::LabelAllCellsAsHealthy(), AbstractCryptStatistics::LabelSPhaseCells(), AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::OutputCellPopulationInfo(), AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::SetCellAncestorsToLocationIndices(), AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::SetDataOnAllCells(), CellwiseDataGradient< DIM >::SetupGradients(), VolumeDependentAveragedSourcePde< DIM >::SetupSourceTerms(), AveragedSourcePde< DIM >::SetupSourceTerms(), CellBasedPdeHandler< DIM >::SolvePdeAndWriteResultsToFile(), NodeBasedCellPopulation< DIM >::Update(), VolumeTrackingModifier< DIM >::UpdateCellData(), DeltaNotchTrackingModifier< DIM >::UpdateCellData(), CellBasedPdeHandler< DIM >::UpdateCellPdeElementMap(), CryptProjectionForce::UpdateNode3dLocationMap(), NodeBasedCellPopulationWithBuskeUpdate< DIM >::UpdateNodeLocations(), AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::UpdateNodeLocations(), NodeBasedCellPopulationWithParticles< DIM >::Validate(), MeshBasedCellPopulationWithGhostNodes< DIM >::Validate(), MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::Validate(), CryptSimulationBoundaryCondition< DIM >::VerifyBoundaryCondition(), SphereGeometryBoundaryCondition< DIM >::VerifyBoundaryCondition(), PlaneBoundaryCondition< DIM >::VerifyBoundaryCondition(), HeterotypicBoundaryLengthWriter< ELEMENT_DIM, SPACE_DIM >::Visit(), CellBasedPdeHandler< DIM >::WriteAverageRadialPdeSolution(), CellBasedPdeHandler< DIM >::WritePdeSolution(), AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::WriteResultsToFiles(), NodeBasedCellPopulationWithParticles< DIM >::WriteVtkResultsToFile(), NodeBasedCellPopulation< DIM >::WriteVtkResultsToFile(), and MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::WriteVtkResultsToFile().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::CloseRoundRobinWritersFiles (  )  [inline, 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 438 of file AbstractCellPopulation.cpp.

References AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mCellPopulationWriters, and AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mCellWriters.

Referenced by AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::WriteResultsToFiles().

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

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 454 of file AbstractCellPopulation.cpp.

References AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mCellPopulationWriters, AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mCellWriters, and AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mpVtkMetaFile.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
std::pair< unsigned, unsigned > AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::CreateOrderedPair ( unsigned  index1,
unsigned  index2 
) [inline]
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::Iterator AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::End (  )  [inline]
Returns:
iterator pointing to one past the last cell in the cell population

Definition at line 914 of file AbstractCellPopulation.hpp.

References AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mCells.

Referenced by CryptProjectionForce::AddForceContribution(), DiffusionForce< DIM >::AddForceContribution(), ChemotacticForce< DIM >::AddForceContribution(), BuskeCompressionForce< DIM >::AddForceContribution(), SloughingCellKiller< DIM >::CheckAndLabelCellsForApoptosisOrDeath(), RadialSloughingCellKiller::CheckAndLabelCellsForApoptosisOrDeath(), RandomCellKiller< DIM >::CheckAndLabelCellsForApoptosisOrDeath(), PlaneBasedCellKiller< DIM >::CheckAndLabelCellsForApoptosisOrDeath(), IsolatedLabelledCellKiller< DIM >::CheckAndLabelCellsForApoptosisOrDeath(), ApoptoticCellKiller< SPACE_DIM >::CheckAndLabelCellsForApoptosisOrDeath(), CellBasedPdeHandler< DIM >::ConstructBoundaryConditionsContainer(), AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetCellAncestors(), AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetCellCyclePhaseCount(), AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetCentroidOfCellPopulation(), CryptStatistics::GetCryptSection(), CryptProjectionStatistics::GetCryptSection(), AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetNumRealCells(), AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetSizeOfCellPopulation(), CryptSimulationBoundaryCondition< DIM >::ImposeBoundaryCondition(), SphereGeometryBoundaryCondition< DIM >::ImposeBoundaryCondition(), PlaneBoundaryCondition< DIM >::ImposeBoundaryCondition(), CellBasedPdeHandler< DIM >::InitialiseCellPdeElementMap(), AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::InitialiseCells(), AbstractCryptStatistics::LabelAllCellsAsHealthy(), AbstractCryptStatistics::LabelSPhaseCells(), AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::OutputCellPopulationInfo(), AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::SetCellAncestorsToLocationIndices(), AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::SetDataOnAllCells(), CellwiseDataGradient< DIM >::SetupGradients(), VolumeDependentAveragedSourcePde< DIM >::SetupSourceTerms(), AveragedSourcePde< DIM >::SetupSourceTerms(), CellBasedPdeHandler< DIM >::SolvePdeAndWriteResultsToFile(), NodeBasedCellPopulation< DIM >::Update(), VolumeTrackingModifier< DIM >::UpdateCellData(), DeltaNotchTrackingModifier< DIM >::UpdateCellData(), CellBasedPdeHandler< DIM >::UpdateCellPdeElementMap(), CryptProjectionForce::UpdateNode3dLocationMap(), NodeBasedCellPopulationWithBuskeUpdate< DIM >::UpdateNodeLocations(), AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::UpdateNodeLocations(), NodeBasedCellPopulationWithParticles< DIM >::Validate(), MeshBasedCellPopulationWithGhostNodes< DIM >::Validate(), MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::Validate(), CryptSimulationBoundaryCondition< DIM >::VerifyBoundaryCondition(), SphereGeometryBoundaryCondition< DIM >::VerifyBoundaryCondition(), PlaneBoundaryCondition< DIM >::VerifyBoundaryCondition(), HeterotypicBoundaryLengthWriter< ELEMENT_DIM, SPACE_DIM >::Visit(), CellBasedPdeHandler< DIM >::WriteAverageRadialPdeSolution(), CellBasedPdeHandler< DIM >::WritePdeSolution(), AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::WriteResultsToFiles(), NodeBasedCellPopulationWithParticles< DIM >::WriteVtkResultsToFile(), NodeBasedCellPopulation< DIM >::WriteVtkResultsToFile(), and MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::WriteVtkResultsToFile().

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

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 171 of file AbstractCellPopulation.cpp.

References AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::Begin(), and AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::End().

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

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 251 of file AbstractCellPopulation.cpp.

References AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::Begin(), AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::End(), 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>
std::vector< unsigned > AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetCellMutationStateCount (  )  [inline]

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 182 of file AbstractCellPopulation.cpp.

References PetscTools::GetWorld(), PetscTools::IsParallel(), and AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mpCellPropertyRegistry.

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 (  )  [inline]

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 216 of file AbstractCellPopulation.cpp.

References PetscTools::GetWorld(), PetscTools::IsParallel(), and AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mpCellPropertyRegistry.

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 (  )  [inline]
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
std::set< CellPtr > AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetCellsUsingLocationIndex ( unsigned  index  )  [inline]

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

Note that the set may be empty.

Parameters:
index the location index
Returns:
the set of cells.

Definition at line 319 of file AbstractCellPopulation.cpp.

References AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mLocationCellMap.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
CellPtr AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetCellUsingLocationIndex ( unsigned  index  )  [inline, virtual]

Get the cell corresponding to a given location index.

This method assumes that there is at most one cell attached to a location index and an assertion fails if not.

Todo:
should be an exception?
Parameters:
index the location index
Returns:
the cell.

Reimplemented in NodeBasedCellPopulation< DIM >.

Definition at line 298 of file AbstractCellPopulation.cpp.

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

Referenced by CryptProjectionForce::CalculateForceBetweenNodes(), GeneralisedLinearSpringForce< ELEMENT_DIM, SPACE_DIM >::CalculateForceBetweenNodes(), TargetedCellKiller< DIM >::CheckAndLabelCellsForApoptosisOrDeath(), T2SwapCellKiller< DIM >::CheckAndLabelCellsForApoptosisOrDeath(), IsolatedLabelledCellKiller< DIM >::CheckAndLabelCellsForApoptosisOrDeath(), MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::CheckCellPointers(), CellwiseSourcePde< DIM >::ComputeLinearInUCoeffInSourceTermAtNode(), MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::DivideLongSprings(), AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetDampingConstant(), CellwiseDataGradient< DIM >::SetupGradients(), DeltaNotchTrackingModifier< DIM >::UpdateCellData(), LinearSpringWithVariableSpringConstantsForce< DIM >::VariableSpringConstantMultiplicationFactor(), NodeVelocityWriter< ELEMENT_DIM, SPACE_DIM >::Visit(), HeterotypicBoundaryLengthWriter< ELEMENT_DIM, SPACE_DIM >::Visit(), CellPopulationElementWriter< ELEMENT_DIM, SPACE_DIM >::Visit(), CellPopulationAreaWriter< ELEMENT_DIM, SPACE_DIM >::Visit(), MeshBasedCellPopulationWithGhostNodes< DIM >::WriteVtkResultsToFile(), and MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::WriteVtkResultsToFile().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
c_vector< double, SPACE_DIM > AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetCentroidOfCellPopulation (  )  [inline]
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
unsigned AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetLocationIndexUsingCell ( CellPtr  pCell  )  [inline]

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:
pCell the cell
Returns:
the location index.

Definition at line 383 of file AbstractCellPopulation.cpp.

References AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mCellLocationMap.

Referenced by NodeBasedCellPopulationWithParticles< DIM >::AddCell(), NodeBasedCellPopulation< DIM >::AddCell(), MeshBasedCellPopulationWithGhostNodes< DIM >::AddCell(), CryptProjectionForce::AddForceContribution(), DiffusionForce< DIM >::AddForceContribution(), ChemotacticForce< DIM >::AddForceContribution(), BuskeCompressionForce< DIM >::AddForceContribution(), CryptSimulation1d::CalculateCellDivisionVector(), IsolatedLabelledCellKiller< DIM >::CheckAndLabelCellsForApoptosisOrDeath(), MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::CheckCellPointers(), NodeBasedCellPopulation< DIM >::DeleteMovedCell(), CellRadiusWriter< ELEMENT_DIM, SPACE_DIM >::GetCellDataForVtkOutput(), MeshBasedCellPopulationWithGhostNodes< DIM >::GetNeighbouringLocationIndices(), AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetNeighbouringLocationIndices(), AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetNodeCorrespondingToCell(), NodeBasedCellPopulation< DIM >::GetVolumeOfCell(), MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetVolumeOfCell(), CryptSimulationBoundaryCondition< DIM >::ImposeBoundaryCondition(), SphereGeometryBoundaryCondition< DIM >::ImposeBoundaryCondition(), PlaneBoundaryCondition< DIM >::ImposeBoundaryCondition(), NodeBasedCellPopulation< DIM >::RemoveDeadCells(), MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::RemoveDeadCells(), CellwiseDataGradient< DIM >::SetupGradients(), VolumeDependentAveragedSourcePde< DIM >::SetupSourceTerms(), CellBasedPdeHandler< DIM >::SolvePdeAndWriteResultsToFile(), NodeBasedCellPopulation< DIM >::Update(), CryptProjectionForce::UpdateNode3dLocationMap(), NodeBasedCellPopulationWithBuskeUpdate< DIM >::UpdateNodeLocations(), AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::UpdateNodeLocations(), NodeBasedCellPopulationWithParticles< DIM >::Validate(), MeshBasedCellPopulationWithGhostNodes< DIM >::Validate(), MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::Validate(), CryptSimulationBoundaryCondition< DIM >::VerifyBoundaryCondition(), HeterotypicBoundaryLengthWriter< ELEMENT_DIM, SPACE_DIM >::Visit(), CellBetaCateninWriter< ELEMENT_DIM, SPACE_DIM >::VisitCell(), CellVolumesWriter< ELEMENT_DIM, SPACE_DIM >::VisitCell(), CellRadiusWriter< ELEMENT_DIM, SPACE_DIM >::VisitCell(), CellLocationIndexWriter< ELEMENT_DIM, SPACE_DIM >::VisitCell(), CellLabelWriter< ELEMENT_DIM, SPACE_DIM >::VisitCell(), CellIdWriter< ELEMENT_DIM, SPACE_DIM >::VisitCell(), CellCycleModelProteinConcentrationsWriter< ELEMENT_DIM, SPACE_DIM >::VisitCell(), CellAgesWriter< ELEMENT_DIM, SPACE_DIM >::VisitCell(), CellBasedPdeHandler< DIM >::WritePdeSolution(), NodeBasedCellPopulationWithParticles< DIM >::WriteVtkResultsToFile(), NodeBasedCellPopulation< DIM >::WriteVtkResultsToFile(), and MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::WriteVtkResultsToFile().

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]

Find where a given cell is in space.

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

Parameters:
pCell the cell
Returns:
the location of the cell

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

Referenced by SloughingCellKiller< DIM >::CheckAndLabelCellsForApoptosisOrDeath(), RadialSloughingCellKiller::CheckAndLabelCellsForApoptosisOrDeath(), PlaneBasedCellKiller< DIM >::CheckAndLabelCellsForApoptosisOrDeath(), CellBasedPdeHandler< DIM >::FindCoarseElementContainingCell(), AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetCentroidOfCellPopulation(), AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetSizeOfCellPopulation(), WntConcentration< DIM >::GetWntGradient(), WntConcentration< DIM >::GetWntLevel(), SphereGeometryBoundaryCondition< DIM >::ImposeBoundaryCondition(), CellBasedPdeHandler< DIM >::InitialiseCellPdeElementMap(), VolumeDependentAveragedSourcePde< DIM >::SetupSourceTerms(), AveragedSourcePde< DIM >::SetupSourceTerms(), CellBasedPdeHandler< DIM >::SolvePdeAndWriteResultsToFile(), CellBasedPdeHandler< DIM >::UpdateCellPdeElementMap(), CryptProjectionForce::UpdateNode3dLocationMap(), SphereGeometryBoundaryCondition< DIM >::VerifyBoundaryCondition(), PlaneBoundaryCondition< DIM >::VerifyBoundaryCondition(), CellBetaCateninWriter< ELEMENT_DIM, SPACE_DIM >::VisitCell(), CellVolumesWriter< ELEMENT_DIM, SPACE_DIM >::VisitCell(), CellRadiusWriter< ELEMENT_DIM, SPACE_DIM >::VisitCell(), CellLabelWriter< ELEMENT_DIM, SPACE_DIM >::VisitCell(), CellIdWriter< ELEMENT_DIM, SPACE_DIM >::VisitCell(), CellAgesWriter< ELEMENT_DIM, SPACE_DIM >::VisitCell(), CellBasedPdeHandler< DIM >::WriteAverageRadialPdeSolution(), and CellBasedPdeHandler< DIM >::WritePdeSolution().

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:
pCell a cell
Returns:
the set of neighbouring location indices.

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

Referenced by DeltaNotchTrackingModifier< DIM >::UpdateCellData().

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:
index the node index
Returns:
the set of neighbouring node indices.

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

Referenced by AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetNeighbouringLocationIndices().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM = ELEMENT_DIM>
virtual Node<SPACE_DIM>* AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetNode ( unsigned  index  )  [pure virtual]

Get a pointer to the node with a given index.

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

Parameters:
index global index of the specified node
Returns:
a pointer to the node with a given index.

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

Referenced by CryptProjectionForce::AddForceContribution(), DiffusionForce< DIM >::AddForceContribution(), ChemotacticForce< DIM >::AddForceContribution(), BuskeCompressionForce< DIM >::AddForceContribution(), CryptProjectionForce::CalculateForceBetweenNodes(), GeneralisedLinearSpringForce< ELEMENT_DIM, SPACE_DIM >::CalculateForceBetweenNodes(), BuskeElasticForce< DIM >::CalculateForceBetweenNodes(), BuskeAdhesiveForce< DIM >::CalculateForceBetweenNodes(), CellRadiusWriter< ELEMENT_DIM, SPACE_DIM >::GetCellDataForVtkOutput(), AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetNodeCorrespondingToCell(), CryptSimulationBoundaryCondition< DIM >::ImposeBoundaryCondition(), SphereGeometryBoundaryCondition< DIM >::ImposeBoundaryCondition(), PlaneBoundaryCondition< DIM >::ImposeBoundaryCondition(), VolumeDependentAveragedSourcePde< DIM >::SetupSourceTerms(), AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::UpdateNodeLocations(), CryptSimulationBoundaryCondition< DIM >::VerifyBoundaryCondition(), and CellRadiusWriter< ELEMENT_DIM, SPACE_DIM >::VisitCell().

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

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 155 of file AbstractCellPopulation.cpp.

References AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mCells.

Referenced by MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::WriteVtkResultsToFile().

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 (  )  [inline]

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 142 of file AbstractCellPopulation.cpp.

References AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::Begin(), and AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::End().

Referenced by CellBasedPdeHandler< DIM >::CellBasedPdeHandler(), TargetedCellKiller< DIM >::CheckAndLabelCellsForApoptosisOrDeath(), and AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetCentroidOfCellPopulation().

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

Definition at line 689 of file AbstractCellPopulation.cpp.

References AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mOutputResultsForChasteVisualizer.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
c_vector< double, SPACE_DIM > AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetSizeOfCellPopulation (  )  [inline]
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:
rDimension a dimension (0,1 or 2)
Returns:
The maximum distance between any nodes in this dimension.

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

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 692 of file AbstractCellPopulation.hpp.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::InitialiseCells (  )  [inline]
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:
pCell the cell
Returns:
whether a given cell is associated with a deleted node (cell-centre models) or element (vertex models).

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

Referenced by AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::Iterator::IsRealCell().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
bool AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::IsCellAttachedToLocationIndex ( unsigned  index  )  [inline]

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

Parameters:
index the location index
Returns:
the cell.

Definition at line 326 of file AbstractCellPopulation.cpp.

References AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mLocationCellMap.

Referenced by CellwiseSourcePde< DIM >::ComputeLinearInUCoeffInSourceTermAtNode(), and CellPopulationElementWriter< ELEMENT_DIM, SPACE_DIM >::Visit().

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

Reimplemented in CaBasedCellPopulation< DIM >.

Definition at line 701 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 
) [inline]

Change the location index of a cell in mLocationCellMap and mCellLocationMap

Parameters:
pCell the cell to move
old_index the old location index
new_index the new location index

Definition at line 373 of file AbstractCellPopulation.cpp.

References AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::AddCellUsingLocationIndex(), and AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::RemoveCellUsingLocationIndex().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::OpenRoundRobinWritersFilesForAppend ( OutputFileHandler rOutputFileHandler  )  [inline, 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:
rOutputFileHandler handler for the directory in which to open this file.

Definition at line 526 of file AbstractCellPopulation.cpp.

References AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mCellPopulationWriters, and AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mCellWriters.

Referenced by AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::WriteResultsToFiles().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::OpenWritersFiles ( OutputFileHandler rOutputFileHandler  )  [inline, 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:
rOutputFileHandler handler for the directory in which to open this file.

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

Definition at line 476 of file AbstractCellPopulation.cpp.

References AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mCellPopulationCountWriters, AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mCellPopulationWriters, AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mCellWriters, AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mOutputResultsForChasteVisualizer, AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mpVtkMetaFile, and OutputFileHandler::OpenOutputFile().

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

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

Parameters:
rParamsFile the 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)

Definition at line 642 of file AbstractCellPopulation.cpp.

References AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::Begin(), AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::End(), Identifiable::GetIdentifier(), and AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::OutputCellPopulationParameters().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::OutputCellPopulationParameters ( out_stream &  rParamsFile  )  [inline, pure virtual]
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::RemoveCellUsingLocationIndex ( unsigned  index,
CellPtr  pCell 
) [inline, virtual]
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM = ELEMENT_DIM>
virtual unsigned AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::RemoveDeadCells (  )  [pure virtual]

Remove all cells labelled as dead.

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

Returns:
number of cells removed

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

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
std::list< CellPtr > & AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::rGetCells (  )  [inline]
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
AbstractMesh< ELEMENT_DIM, SPACE_DIM > & AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::rGetMesh (  )  [inline]
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 
) [inline, private]
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::SetCellAncestorsToLocationIndices (  )  [inline]

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 161 of file AbstractCellPopulation.cpp.

References AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::Begin(), AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::End(), MAKE_PTR_ARGS, and AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mCellLocationMap.

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

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:
index the location index
pCell the cell.

Definition at line 336 of file AbstractCellPopulation.cpp.

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

Referenced by AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::AddCell(), MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::Update(), and NodeBasedCellPopulation< DIM >::UpdateMapsAfterRemesh().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::SetDataOnAllCells ( const std::string &  dataName,
double  dataValue 
) [inline]

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

Parameters:
dataName is the name associated with the data
dataValue is the value of the data, initially the same for each cell

Definition at line 119 of file AbstractCellPopulation.cpp.

References AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::Begin(), and AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::End().

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

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 398 of file AbstractCellPopulation.cpp.

References AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetCellPropertyRegistry().

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

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:
nodeIndex the index of the node to be moved
rNewLocation the new target location of the node

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

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

Set mOutputResultsForChasteVisualizer.

Parameters:
outputResultsForChasteVisualizer the new value of mOutputResultsForChasteVisualizer

Definition at line 695 of file AbstractCellPopulation.cpp.

References AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mOutputResultsForChasteVisualizer.

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.

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

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

Referenced by CellBasedPdeHandler< DIM >::SolvePdeAndWriteResultsToFile(), VolumeTrackingModifier< DIM >::UpdateCellData(), and DeltaNotchTrackingModifier< DIM >::UpdateCellData().

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

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

Reimplemented in NodeBasedCellPopulation< DIM >.

Definition at line 433 of file AbstractCellPopulation.cpp.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM = ELEMENT_DIM>
virtual void AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::Validate (  )  [protected, pure virtual]
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::WriteResultsToFiles ( const std::string &  rDirectory  )  [inline, virtual]
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM = ELEMENT_DIM>
virtual void AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::WriteVtkResultsToFile ( const std::string &  rDirectory  )  [protected, pure virtual]

Friends And Related Function Documentation

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

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::list<CellPtr> AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mCells [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]
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]
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]
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM = ELEMENT_DIM>
AbstractMesh<ELEMENT_DIM, SPACE_DIM>& AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mrMesh [protected]

Reference to the mesh.

Definition at line 137 of file AbstractCellPopulation.hpp.

Referenced by MeshBasedCellPopulationWithGhostNodes< DIM >::CalculateForceBetweenGhostNodes(), MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::CreateVoronoiTessellation(), MeshBasedCellPopulation< 2 >::CreateVoronoiTessellation(), MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetNeighbouringNodeIndices(), MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetNode(), MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetNumNodes(), NodeBasedCellPopulationWithParticles< DIM >::GetParticleIndices(), MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetWidth(), MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::MeshBasedCellPopulation(), NodeBasedCellPopulation< DIM >::NodeBasedCellPopulation(), MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::RemoveDeadCells(), AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::rGetMesh(), MeshBasedCellPopulationWithGhostNodes< DIM >::SetGhostNodes(), MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::SetNode(), NodeBasedCellPopulationWithParticles< DIM >::SetParticles(), MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::SpringsBegin(), MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::SpringsEnd(), MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::Update(), MeshBasedCellPopulationWithGhostNodes< DIM >::UpdateGhostPositions(), NodeBasedCellPopulationWithParticles< DIM >::UpdateParticlePositions(), NodeBasedCellPopulationWithParticles< DIM >::Validate(), NodeBasedCellPopulation< DIM >::Validate(), NodeBasedCellPopulationWithParticles< DIM >::WriteVtkResultsToFile(), MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::WriteVtkResultsToFile(), MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::~MeshBasedCellPopulation(), and NodeBasedCellPopulation< DIM >::~NodeBasedCellPopulation().


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

Generated by  doxygen 1.6.2