Chaste Commit::baa90ac2819b962188b7562f2326be23c47859a7
|
#include <AbstractCellPopulation.hpp>
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< unsigned > | GetCellMutationStateCount () |
std::vector< unsigned > | GetCellProliferativeTypeCount () |
std::vector< unsigned > | GetCellCyclePhaseCount () |
unsigned | GetNumRealCells () |
unsigned | GetNumAllCells () |
void | SetCellAncestorsToLocationIndices () |
std::set< unsigned > | GetCellAncestors () |
virtual CellPtr | GetCellUsingLocationIndex (unsigned index) |
std::set< CellPtr > | GetCellsUsingLocationIndex (unsigned index) |
virtual bool | IsCellAttachedToLocationIndex (unsigned index) |
void | SetCellUsingLocationIndex (unsigned index, CellPtr pCell) |
virtual void | AddCellUsingLocationIndex (unsigned index, CellPtr pCell) |
virtual void | RemoveCellUsingLocationIndex (unsigned index, CellPtr pCell) |
void | MoveCellInLocationMap (CellPtr pCell, unsigned old_index, unsigned new_index) |
unsigned | GetLocationIndexUsingCell (CellPtr pCell) |
boost::shared_ptr< CellPropertyRegistry > | GetCellPropertyRegistry () |
void | SetDefaultCellMutationStateAndProliferativeTypeOrdering () |
virtual double | GetWidth (const unsigned &rDimension)=0 |
virtual double | GetVolumeOfCell (CellPtr pCell)=0 |
virtual std::set< unsigned > | GetNeighbouringNodeIndices (unsigned index)=0 |
virtual std::set< unsigned > | GetNeighbouringLocationIndices (CellPtr pCell)=0 |
virtual std::set< std::pair< unsigned, unsigned > > | GetNeighbouringEdgeIndices (CellPtr pCell, unsigned pEdgeIndex) |
c_vector< double, SPACE_DIM > | GetCentroidOfCellPopulation () |
virtual void | UpdateCellProcessLocation () |
virtual void | OpenWritersFiles (OutputFileHandler &rOutputFileHandler) |
virtual void | CloseWritersFiles () |
virtual void | WriteResultsToFiles (const std::string &rDirectory) |
virtual void | AcceptPopulationWriter (boost::shared_ptr< AbstractCellPopulationWriter< ELEMENT_DIM, SPACE_DIM > > pPopulationWriter)=0 |
virtual void | AcceptPopulationCountWriter (boost::shared_ptr< AbstractCellPopulationCountWriter< ELEMENT_DIM, SPACE_DIM > > pPopulationCountWriter)=0 |
virtual void | AcceptPopulationEventWriter (boost::shared_ptr< AbstractCellPopulationEventWriter< ELEMENT_DIM, SPACE_DIM > > pPopulationEventWriter)=0 |
virtual void | AcceptCellWriter (boost::shared_ptr< AbstractCellWriter< ELEMENT_DIM, SPACE_DIM > > pCellWriter, CellPtr pCell)=0 |
std::vector< std::string > | GetDivisionsInformation () |
void | AddDivisionInformation (std::string divisionInformation) |
void | ClearDivisionsInformation () |
std::vector< std::string > | GetRemovalsInformation () |
void | AddRemovalInformation (std::string removalInformation) |
void | ClearRemovalsInformation () |
void | GenerateRemovalInformation (CellPtr pCell, std::string killerInfo) |
void | KillCell (CellPtr pCell, std::string killerInfo) |
void | StartApoptosisOnCell (CellPtr pCell, std::string killerInfo) |
void | OutputCellPopulationInfo (out_stream &rParamsFile) |
virtual void | 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 () |
template<template< unsigned, unsigned > class T> | |
void | AddCellPopulationEventWriter () |
void | AddPopulationWriter (boost::shared_ptr< AbstractCellPopulationWriter< ELEMENT_DIM, SPACE_DIM > > pPopulationWriter) |
void | AddCellWriter (boost::shared_ptr< AbstractCellWriter< ELEMENT_DIM, SPACE_DIM > > pCellWriter) |
void | AddCellPopulationCountWriter (boost::shared_ptr< AbstractCellPopulationCountWriter< ELEMENT_DIM, SPACE_DIM > > pCellPopulationCountWriter) |
void | AddCellPopulationEventWriter (boost::shared_ptr< AbstractCellPopulationEventWriter< ELEMENT_DIM, SPACE_DIM > > pCellPopulationEventWriter) |
template<template< unsigned, unsigned > class T> | |
bool | HasWriter () const |
void | SetOutputResultsForChasteVisualizer (bool outputResultsForChasteVisualizer) |
c_vector< double, SPACE_DIM > | GetSizeOfCellPopulation () |
virtual bool | IsRoomToDivide (CellPtr pCell) |
std::pair< unsigned, unsigned > | CreateOrderedPair (unsigned index1, unsigned index2) |
Iterator | Begin () |
Iterator | End () |
Public Member Functions inherited from Identifiable | |
virtual | ~Identifiable () |
std::string | GetIdentifier () const |
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 *, unsigned > | mCellLocationMap |
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 |
std::vector< boost::shared_ptr< AbstractCellPopulationEventWriter< ELEMENT_DIM, SPACE_DIM > > > | mCellPopulationEventWriters |
std::vector< std::string > | mDivisionsInformation |
std::vector< std::string > | mRemovalsInformation |
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 |
An abstract facade class encapsulating a cell population.
Contains a group of cells and associated methods.
ELEMENT_DIM | Dimension of the elements. |
SPACE_DIM | Dimension of the space. If not specified, it defaults to ELEMENT_DIM. |
Definition at line 82 of file AbstractCellPopulation.hpp.
|
protected |
Constructor that just takes in a mesh.
rMesh | the mesh for the population. |
Definition at line 110 of file AbstractCellPopulation.cpp.
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.
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 68 of file AbstractCellPopulation.cpp.
References AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::ClearDivisionsInformation(), AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::ClearRemovalsInformation(), 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.
|
virtual |
Base class with virtual methods needs a virtual destructor.
Definition at line 116 of file AbstractCellPopulation.cpp.
|
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.
pCellWriter | the population writer. |
pCell | the cell whose data are being written. |
Implemented in MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >, MeshBasedCellPopulation< 1 >, MeshBasedCellPopulation< 2 >, and MeshBasedCellPopulation< DIM >.
|
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 AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >, AbstractCentreBasedCellPopulation< DIM >, MeshBasedCellPopulationWithGhostNodes< DIM >, and NodeBasedCellPopulationWithParticles< DIM >.
Definition at line 715 of file AbstractCellPopulation.cpp.
|
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.
pPopulationCountWriter | the population count writer. |
Implemented in MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >, MeshBasedCellPopulation< 1 >, MeshBasedCellPopulation< 2 >, and MeshBasedCellPopulation< DIM >.
|
pure virtual |
Accept a cell population event writer so it can write data from this object to file.
As this method is pure virtual, it must be overridden in subclasses.
pPopulationEventWriter | the population event writer. |
Implemented in MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >, MeshBasedCellPopulation< 1 >, MeshBasedCellPopulation< 2 >, and MeshBasedCellPopulation< DIM >.
|
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.
pPopulationWriter | the population writer. |
Implemented in MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >, MeshBasedCellPopulation< 1 >, MeshBasedCellPopulation< 2 >, and MeshBasedCellPopulation< DIM >.
|
pure virtual |
Add a new cell to the cell population.
As this method is pure virtual, it must be overridden in subclasses.
pNewCell | the cell to add |
pParentCell | pointer to a parent cell (if required) |
Implemented in MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >, MeshBasedCellPopulation< 1 >, MeshBasedCellPopulation< 2 >, MeshBasedCellPopulation< DIM >, MeshBasedCellPopulationWithGhostNodes< DIM >, NodeBasedCellPopulation< DIM >, NodeBasedCellPopulationWithParticles< DIM >, AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >, AbstractCentreBasedCellPopulation< DIM >, CaBasedCellPopulation< DIM >, ImmersedBoundaryCellPopulation< DIM >, PottsBasedCellPopulation< DIM >, and VertexBasedCellPopulation< DIM >.
|
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.
Definition at line 821 of file AbstractCellPopulation.hpp.
References AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mCellPopulationCountWriters.
|
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.
pCellPopulationCountWriter | shared pointer to a cell population count writer |
Definition at line 871 of file AbstractCellPopulation.hpp.
References AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mCellPopulationCountWriters.
|
inline |
Add a cell population event writer based on its type. Template parameters are inferred from the population. The implementation of this function must be available in the header file.
Definition at line 832 of file AbstractCellPopulation.hpp.
References AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mCellPopulationEventWriters.
|
inline |
Add a cell population count writer through an input argument. This alternative to the templated AddCellPopulationEventWriter() method allows the user to, for example, add a writer with a non-default value for its member mFileName.
pCellPopulationEventWriter | shared pointer to a cell population event writer |
Definition at line 884 of file AbstractCellPopulation.hpp.
References AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mCellPopulationEventWriters.
|
virtual |
Adds a cell to a given location index.
index | the location index |
pCell | the cell. |
Reimplemented in CaBasedCellPopulation< DIM >.
Definition at line 381 of file AbstractCellPopulation.cpp.
Referenced by AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::AbstractCentreBasedCellPopulation(), AbstractOnLatticeCellPopulation< DIM >::AbstractOnLatticeCellPopulation(), ImmersedBoundaryCellPopulation< DIM >::ImmersedBoundaryCellPopulation(), VertexBasedCellPopulation< DIM >::VertexBasedCellPopulation(), and CaBasedCellPopulation< DIM >::AddCellUsingLocationIndex().
|
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.
Definition at line 810 of file AbstractCellPopulation.hpp.
References AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mCellWriters.
|
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.
pCellWriter | shared pointer to a cell writer |
Definition at line 858 of file AbstractCellPopulation.hpp.
References AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mCellWriters.
void AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::AddDivisionInformation | ( | std::string | divisionInformation | ) |
Add information for a division event.
Division Time, Location of Parent Cell (x,y,z), Age on Division, Parent Cell ID, New Cell ID.
divisionInformation | division information string |
Definition at line 831 of file AbstractCellPopulation.cpp.
|
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.
Definition at line 799 of file AbstractCellPopulation.hpp.
References AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mCellPopulationWriters.
|
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.
pPopulationWriter | shared pointer to a cell population writer |
Definition at line 845 of file AbstractCellPopulation.hpp.
References AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mCellPopulationWriters.
void AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::AddRemovalInformation | ( | std::string | removalInformation | ) |
Add information for a division event.
removalInformation | removal information string |
Definition at line 849 of file AbstractCellPopulation.cpp.
AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::Iterator AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::Begin | ( | ) |
Definition at line 1119 of file AbstractCellPopulation.hpp.
Referenced by CryptProjectionForce::AddForceContribution(), BuskeCompressionForce< DIM >::AddForceContribution(), ChemotacticForce< DIM >::AddForceContribution(), FarhadifarForce< DIM >::AddForceContribution(), NagaiHondaForce< DIM >::AddForceContribution(), RadialSloughingCellKiller::CheckAndLabelCellsForApoptosisOrDeath(), EllipticBoxDomainPdeModifier< DIM >::ConstructBoundaryConditionsContainer(), CryptProjectionStatistics::GetCryptSection(), CryptStatistics::GetCryptSection(), AbstractBoxDomainPdeModifier< DIM >::InitialiseCellPdeElementMap(), AbstractCryptStatistics::LabelAllCellsAsHealthy(), AbstractCryptStatistics::LabelSPhaseCells(), CellwiseDataGradient< DIM >::SetupGradients(), ParabolicBoxDomainPdeModifier< DIM >::SetupInitialSolutionVector(), AbstractBoxDomainPdeModifier< DIM >::UpdateCellData(), AbstractGrowingDomainPdeModifier< DIM >::UpdateCellData(), DeltaNotchEdgeInteriorTrackingModifier< DIM >::UpdateCellData(), DeltaNotchEdgeTrackingModifier< DIM >::UpdateCellData(), DeltaNotchTrackingModifier< DIM >::UpdateCellData(), DivisionBiasTrackingModifier< DIM >::UpdateCellData(), VolumeTrackingModifier< DIM >::UpdateCellData(), AbstractBoxDomainPdeModifier< DIM >::UpdateCellPdeElementMap(), CryptProjectionForce::UpdateNode3dLocationMap(), HeterotypicBoundaryLengthWriter< ELEMENT_DIM, SPACE_DIM >::Visit(), CellPopulationElementWriter< ELEMENT_DIM, SPACE_DIM >::Visit(), CellPopulationAdjacencyMatrixWriter< ELEMENT_DIM, SPACE_DIM >::Visit(), HeterotypicBoundaryLengthWriter< ELEMENT_DIM, SPACE_DIM >::Visit(), RadialCellDataDistributionWriter< ELEMENT_DIM, SPACE_DIM >::Visit(), HeterotypicBoundaryLengthWriter< ELEMENT_DIM, SPACE_DIM >::Visit(), CellPopulationElementWriter< ELEMENT_DIM, SPACE_DIM >::Visit(), HeterotypicBoundaryLengthWriter< ELEMENT_DIM, SPACE_DIM >::Visit(), CellPopulationElementWriter< ELEMENT_DIM, SPACE_DIM >::Visit(), HeterotypicBoundaryLengthWriter< ELEMENT_DIM, SPACE_DIM >::Visit(), CellPopulationAdjacencyMatrixWriter< ELEMENT_DIM, SPACE_DIM >::VisitAnyPopulation(), and RadialCellDataDistributionWriter< ELEMENT_DIM, SPACE_DIM >::VisitAnyPopulation().
void AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::ClearDivisionsInformation | ( | ) |
Clear the stored division information ready for the next output step.
Definition at line 837 of file AbstractCellPopulation.cpp.
Referenced by AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::AbstractCellPopulation(), CellDivisionLocationsWriter< ELEMENT_DIM, SPACE_DIM >::Visit(), and CellDivisionLocationsWriter< ELEMENT_DIM, SPACE_DIM >::VisitAnyPopulation().
void AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::ClearRemovalsInformation | ( | ) |
Clear the stored removal information ready for the next output step.
Definition at line 855 of file AbstractCellPopulation.cpp.
Referenced by AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::AbstractCellPopulation(), CellRemovalLocationsWriter< ELEMENT_DIM, SPACE_DIM >::Visit(), and CellRemovalLocationsWriter< ELEMENT_DIM, SPACE_DIM >::VisitAnyPopulation().
|
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 481 of file AbstractCellPopulation.cpp.
References AbstractCellBasedWriter< ELEMENT_DIM, SPACE_DIM >::CloseFile().
|
virtual |
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 497 of file AbstractCellPopulation.cpp.
std::pair< unsigned, unsigned > AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::CreateOrderedPair | ( | unsigned | index1, |
unsigned | index2 | ||
) |
index1 | a node index |
index2 | a node index |
Definition at line 936 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().
AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::Iterator AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::End | ( | ) |
Definition at line 1125 of file AbstractCellPopulation.hpp.
Referenced by CryptProjectionForce::AddForceContribution(), BuskeCompressionForce< DIM >::AddForceContribution(), ChemotacticForce< DIM >::AddForceContribution(), RadialSloughingCellKiller::CheckAndLabelCellsForApoptosisOrDeath(), EllipticBoxDomainPdeModifier< DIM >::ConstructBoundaryConditionsContainer(), CryptProjectionStatistics::GetCryptSection(), CryptStatistics::GetCryptSection(), AbstractBoxDomainPdeModifier< DIM >::InitialiseCellPdeElementMap(), AbstractCryptStatistics::LabelAllCellsAsHealthy(), AbstractCryptStatistics::LabelSPhaseCells(), CellwiseDataGradient< DIM >::SetupGradients(), ParabolicBoxDomainPdeModifier< DIM >::SetupInitialSolutionVector(), AbstractBoxDomainPdeModifier< DIM >::UpdateCellData(), AbstractGrowingDomainPdeModifier< DIM >::UpdateCellData(), DeltaNotchEdgeInteriorTrackingModifier< DIM >::UpdateCellData(), DeltaNotchEdgeTrackingModifier< DIM >::UpdateCellData(), DeltaNotchTrackingModifier< DIM >::UpdateCellData(), DivisionBiasTrackingModifier< DIM >::UpdateCellData(), VolumeTrackingModifier< DIM >::UpdateCellData(), AbstractBoxDomainPdeModifier< DIM >::UpdateCellPdeElementMap(), CryptProjectionForce::UpdateNode3dLocationMap(), HeterotypicBoundaryLengthWriter< ELEMENT_DIM, SPACE_DIM >::Visit(), CellPopulationElementWriter< ELEMENT_DIM, SPACE_DIM >::Visit(), CellPopulationAdjacencyMatrixWriter< ELEMENT_DIM, SPACE_DIM >::Visit(), HeterotypicBoundaryLengthWriter< ELEMENT_DIM, SPACE_DIM >::Visit(), RadialCellDataDistributionWriter< ELEMENT_DIM, SPACE_DIM >::Visit(), HeterotypicBoundaryLengthWriter< ELEMENT_DIM, SPACE_DIM >::Visit(), CellPopulationElementWriter< ELEMENT_DIM, SPACE_DIM >::Visit(), HeterotypicBoundaryLengthWriter< ELEMENT_DIM, SPACE_DIM >::Visit(), CellPopulationElementWriter< ELEMENT_DIM, SPACE_DIM >::Visit(), HeterotypicBoundaryLengthWriter< ELEMENT_DIM, SPACE_DIM >::Visit(), CellPopulationAdjacencyMatrixWriter< ELEMENT_DIM, SPACE_DIM >::VisitAnyPopulation(), and RadialCellDataDistributionWriter< ELEMENT_DIM, SPACE_DIM >::VisitAnyPopulation().
void AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::GenerateRemovalInformation | ( | CellPtr | pCell, |
std::string | killerInfo | ||
) |
Helper method to store information about the removal in mRemovalInformation
pCell | the cell |
killerInfo | additional information the killer wants output i.e. the type of killer. |
Definition at line 861 of file AbstractCellPopulation.cpp.
References SimulationTime::GetTime(), and SimulationTime::Instance().
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.
Definition at line 185 of file AbstractCellPopulation.cpp.
std::vector< unsigned > AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetCellCyclePhaseCount | ( | ) |
Find out how many cells in each cell cycle phase there are.
Definition at line 265 of file AbstractCellPopulation.cpp.
Referenced by CellProliferativePhasesCountWriter< ELEMENT_DIM, SPACE_DIM >::Visit(), and CellProliferativePhasesCountWriter< ELEMENT_DIM, SPACE_DIM >::VisitAnyPopulation().
|
pure virtual |
pdeNodeIndex | index of a node in a tetrahedral mesh for use with a PDE modifier |
rVariableName | the name of the cell data item to get |
dirichletBoundaryConditionApplies | where a Dirichlet boundary condition is used (optional; defaults to false) |
dirichletBoundaryValue | the value of the Dirichlet boundary condition, if used (optional; defaults to 0.0) |
As this method is pure virtual, it must be overridden in subclasses.
Implemented in AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >, AbstractCentreBasedCellPopulation< DIM >, CaBasedCellPopulation< DIM >, ImmersedBoundaryCellPopulation< DIM >, PottsBasedCellPopulation< DIM >, and VertexBasedCellPopulation< DIM >.
Referenced by ParabolicGrowingDomainPdeModifier< DIM >::UpdateSolutionVector().
std::vector< unsigned > AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetCellMutationStateCount | ( | ) |
Find out how many cells of each mutation state there are
Definition at line 196 of file AbstractCellPopulation.cpp.
Referenced by CellMutationStatesCountWriter< ELEMENT_DIM, SPACE_DIM >::Visit(), and CellMutationStatesCountWriter< ELEMENT_DIM, SPACE_DIM >::VisitAnyPopulation().
std::vector< unsigned > AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetCellProliferativeTypeCount | ( | ) |
Find out how many cells of each type there are.
Definition at line 230 of file AbstractCellPopulation.cpp.
Referenced by CellProliferativeTypesCountWriter< ELEMENT_DIM, SPACE_DIM >::Visit(), and CellProliferativeTypesCountWriter< ELEMENT_DIM, SPACE_DIM >::VisitAnyPopulation().
boost::shared_ptr< CellPropertyRegistry > AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetCellPropertyRegistry | ( | ) |
Definition at line 423 of file AbstractCellPopulation.cpp.
Referenced by AbstractCryptStatistics::LabelAllCellsAsHealthy(), AbstractCryptStatistics::LabelSPhaseCells(), and CellMutationStatesCountWriter< ELEMENT_DIM, SPACE_DIM >::WriteHeader().
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.
index | the location index |
Definition at line 345 of file AbstractCellPopulation.cpp.
|
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.
index | the location index |
Reimplemented in NodeBasedCellPopulation< DIM >.
Definition at line 324 of file AbstractCellPopulation.cpp.
References EXCEPTION.
Referenced by FarhadifarForce< DIM >::AddForceContribution(), NagaiHondaForce< DIM >::AddForceContribution(), ImmersedBoundaryLinearDifferentialAdhesionForce< DIM >::AddImmersedBoundaryForceContribution(), CryptShovingCaBasedDivisionRule::CalculateDaughterNodeIndex(), ShovingCaBasedDivisionRule< SPACE_DIM >::CalculateDaughterNodeIndex(), CryptProjectionForce::CalculateForceBetweenNodes(), MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::CheckCellPointers(), AdhesionPottsUpdateRule< DIM >::EvaluateHamiltonianContribution(), NagaiHondaDifferentialAdhesionForce< DIM >::GetAdhesionParameter(), NodeBasedCellPopulation< DIM >::GetCellUsingLocationIndex(), CellwiseDataGradient< DIM >::SetupGradients(), DeltaNotchEdgeInteriorTrackingModifier< DIM >::UpdateCellData(), DeltaNotchEdgeTrackingModifier< DIM >::UpdateCellData(), DeltaNotchTrackingModifier< DIM >::UpdateCellData(), LinearSpringWithVariableSpringConstantsForce< DIM >::VariableSpringConstantMultiplicationFactor(), DifferentialAdhesionGeneralisedLinearSpringForce< ELEMENT_DIM, SPACE_DIM >::VariableSpringConstantMultiplicationFactor(), HeterotypicBoundaryLengthWriter< ELEMENT_DIM, SPACE_DIM >::Visit(), CellPopulationElementWriter< ELEMENT_DIM, SPACE_DIM >::Visit(), HeterotypicBoundaryLengthWriter< ELEMENT_DIM, SPACE_DIM >::Visit(), CellPopulationAdjacencyMatrixWriter< ELEMENT_DIM, SPACE_DIM >::Visit(), CellPopulationElementWriter< ELEMENT_DIM, SPACE_DIM >::Visit(), HeterotypicBoundaryLengthWriter< ELEMENT_DIM, SPACE_DIM >::Visit(), NodeVelocityWriter< ELEMENT_DIM, SPACE_DIM >::Visit(), CellPopulationElementWriter< ELEMENT_DIM, SPACE_DIM >::Visit(), HeterotypicBoundaryLengthWriter< ELEMENT_DIM, SPACE_DIM >::Visit(), CellPopulationElementWriter< ELEMENT_DIM, SPACE_DIM >::Visit(), HeterotypicBoundaryLengthWriter< ELEMENT_DIM, SPACE_DIM >::Visit(), and CellPopulationAdjacencyMatrixWriter< ELEMENT_DIM, SPACE_DIM >::VisitAnyPopulation().
c_vector< double, SPACE_DIM > AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetCentroidOfCellPopulation | ( | ) |
Definition at line 461 of file AbstractCellPopulation.cpp.
Referenced by DivisionBiasTrackingModifier< DIM >::UpdateCellData(), RadialCellDataDistributionWriter< ELEMENT_DIM, SPACE_DIM >::Visit(), and RadialCellDataDistributionWriter< ELEMENT_DIM, SPACE_DIM >::VisitAnyPopulation().
|
pure virtual |
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 AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >, AbstractCentreBasedCellPopulation< DIM >, AbstractOnLatticeCellPopulation< DIM >, ImmersedBoundaryCellPopulation< DIM >, and VertexBasedCellPopulation< DIM >.
Referenced by AbstractCellBasedSimulation< ELEMENT_DIM, SPACE_DIM >::AbstractCellBasedSimulation().
std::vector< std::string > AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetDivisionsInformation | ( | ) |
Return details of all divisions since the last sampling time step.
Definition at line 826 of file AbstractCellPopulation.cpp.
Referenced by CellDivisionLocationsWriter< ELEMENT_DIM, SPACE_DIM >::Visit(), and CellDivisionLocationsWriter< ELEMENT_DIM, SPACE_DIM >::VisitAnyPopulation().
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.
pCell | the cell |
Definition at line 414 of file AbstractCellPopulation.cpp.
Referenced by CryptProjectionForce::AddForceContribution(), BuskeCompressionForce< DIM >::AddForceContribution(), ChemotacticForce< DIM >::AddForceContribution(), ShortAxisImmersedBoundaryDivisionRule< SPACE_DIM >::CalculateCellDivisionVector(), ShortAxisVertexBasedDivisionRule< SPACE_DIM >::CalculateCellDivisionVector(), CryptShovingCaBasedDivisionRule::CalculateDaughterNodeIndex(), ExclusionCaBasedDivisionRule< SPACE_DIM >::CalculateDaughterNodeIndex(), ShovingCaBasedDivisionRule< SPACE_DIM >::CalculateDaughterNodeIndex(), MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::CheckCellPointers(), CellRadiusWriter< ELEMENT_DIM, SPACE_DIM >::GetCellDataForVtkOutput(), CellAppliedForceWriter< ELEMENT_DIM, SPACE_DIM >::GetVectorCellDataForVtkOutput(), ExclusionCaBasedDivisionRule< SPACE_DIM >::IsRoomToDivide(), CellwiseDataGradient< DIM >::SetupGradients(), AbstractGrowingDomainPdeModifier< DIM >::UpdateCellData(), CryptProjectionForce::UpdateNode3dLocationMap(), HeterotypicBoundaryLengthWriter< ELEMENT_DIM, SPACE_DIM >::Visit(), CellPopulationElementWriter< ELEMENT_DIM, SPACE_DIM >::Visit(), CellPopulationAdjacencyMatrixWriter< ELEMENT_DIM, SPACE_DIM >::Visit(), HeterotypicBoundaryLengthWriter< ELEMENT_DIM, SPACE_DIM >::Visit(), HeterotypicBoundaryLengthWriter< ELEMENT_DIM, SPACE_DIM >::Visit(), CellPopulationElementWriter< ELEMENT_DIM, SPACE_DIM >::Visit(), HeterotypicBoundaryLengthWriter< ELEMENT_DIM, SPACE_DIM >::Visit(), CellPopulationElementWriter< ELEMENT_DIM, SPACE_DIM >::Visit(), HeterotypicBoundaryLengthWriter< ELEMENT_DIM, SPACE_DIM >::Visit(), CellPopulationAdjacencyMatrixWriter< ELEMENT_DIM, SPACE_DIM >::VisitAnyPopulation(), CellAgesWriter< ELEMENT_DIM, SPACE_DIM >::VisitCell(), CellAppliedForceWriter< ELEMENT_DIM, SPACE_DIM >::VisitCell(), CellCycleModelProteinConcentrationsWriter< ELEMENT_DIM, SPACE_DIM >::VisitCell(), CellDataItemWriter< ELEMENT_DIM, SPACE_DIM >::VisitCell(), CellDeltaNotchWriter< ELEMENT_DIM, SPACE_DIM >::VisitCell(), CellIdWriter< ELEMENT_DIM, SPACE_DIM >::VisitCell(), CellLabelWriter< ELEMENT_DIM, SPACE_DIM >::VisitCell(), CellLocationIndexWriter< ELEMENT_DIM, SPACE_DIM >::VisitCell(), CellRadiusWriter< ELEMENT_DIM, SPACE_DIM >::VisitCell(), CellRosetteRankWriter< ELEMENT_DIM, SPACE_DIM >::VisitCell(), CellVolumesWriter< ELEMENT_DIM, SPACE_DIM >::VisitCell(), ImmersedBoundaryBoundaryCellWriter< ELEMENT_DIM, SPACE_DIM >::VisitCell(), ImmersedBoundaryNeighbourNumberWriter< ELEMENT_DIM, SPACE_DIM >::VisitCell(), and CellBetaCateninWriter< ELEMENT_DIM, SPACE_DIM >::VisitCell().
|
pure virtual |
Find where a given cell is in space.
As this method is pure virtual, it must be overridden in subclasses.
pCell | the cell |
Implemented in AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >, AbstractCentreBasedCellPopulation< DIM >, CaBasedCellPopulation< DIM >, ImmersedBoundaryCellPopulation< DIM >, PottsBasedCellPopulation< DIM >, and VertexBasedCellPopulation< DIM >.
Referenced by RadialSloughingCellKiller::CheckAndLabelCellsForApoptosisOrDeath(), AbstractBoxDomainPdeModifier< DIM >::InitialiseCellPdeElementMap(), AbstractBoxDomainPdeModifier< DIM >::UpdateCellData(), DivisionBiasTrackingModifier< DIM >::UpdateCellData(), AbstractBoxDomainPdeModifier< DIM >::UpdateCellPdeElementMap(), CryptProjectionForce::UpdateNode3dLocationMap(), RadialCellDataDistributionWriter< ELEMENT_DIM, SPACE_DIM >::VisitAnyPopulation(), CellAgesWriter< ELEMENT_DIM, SPACE_DIM >::VisitCell(), CellAppliedForceWriter< ELEMENT_DIM, SPACE_DIM >::VisitCell(), CellDataItemWriter< ELEMENT_DIM, SPACE_DIM >::VisitCell(), CellDeltaNotchWriter< ELEMENT_DIM, SPACE_DIM >::VisitCell(), CellIdWriter< ELEMENT_DIM, SPACE_DIM >::VisitCell(), CellLabelWriter< ELEMENT_DIM, SPACE_DIM >::VisitCell(), CellRadiusWriter< ELEMENT_DIM, SPACE_DIM >::VisitCell(), CellRosetteRankWriter< ELEMENT_DIM, SPACE_DIM >::VisitCell(), CellVolumesWriter< ELEMENT_DIM, SPACE_DIM >::VisitCell(), ImmersedBoundaryBoundaryCellWriter< ELEMENT_DIM, SPACE_DIM >::VisitCell(), ImmersedBoundaryNeighbourNumberWriter< ELEMENT_DIM, SPACE_DIM >::VisitCell(), and CellBetaCateninWriter< ELEMENT_DIM, SPACE_DIM >::VisitCell().
|
virtual |
Gets the local edge index of the neighbouring element
pCell | Cell pointer |
pEdgeIndex | Local edge index |
Reimplemented in VertexBasedCellPopulation< DIM >.
Definition at line 454 of file AbstractCellPopulation.cpp.
Referenced by DeltaNotchEdgeInteriorTrackingModifier< DIM >::UpdateCellData(), and DeltaNotchEdgeTrackingModifier< DIM >::UpdateCellData().
|
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.
pCell | a cell |
Implemented in AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >, AbstractCentreBasedCellPopulation< DIM >, CaBasedCellPopulation< DIM >, ImmersedBoundaryCellPopulation< DIM >, MeshBasedCellPopulationWithGhostNodes< DIM >, PottsBasedCellPopulation< DIM >, and VertexBasedCellPopulation< DIM >.
Referenced by ImmersedBoundaryNeighbourNumberWriter< ELEMENT_DIM, SPACE_DIM >::GetCellDataForVtkOutput(), DeltaNotchTrackingModifier< DIM >::UpdateCellData(), and CellPopulationAdjacencyMatrixWriter< ELEMENT_DIM, SPACE_DIM >::VisitAnyPopulation().
|
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.
index | the node index |
Implemented in AbstractOnLatticeCellPopulation< DIM >, ImmersedBoundaryCellPopulation< DIM >, MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >, MeshBasedCellPopulation< 1 >, MeshBasedCellPopulation< 2 >, MeshBasedCellPopulation< DIM >, NodeBasedCellPopulation< DIM >, and VertexBasedCellPopulation< DIM >.
|
pure virtual |
Get a pointer to the node with a given index.
As this method is pure virtual, it must be overridden in subclasses.
index | global index of the specified node |
Implemented in CaBasedCellPopulation< DIM >, ImmersedBoundaryCellPopulation< DIM >, MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >, MeshBasedCellPopulation< 1 >, MeshBasedCellPopulation< 2 >, MeshBasedCellPopulation< DIM >, NodeBasedCellPopulation< DIM >, PottsBasedCellPopulation< DIM >, and VertexBasedCellPopulation< DIM >.
Referenced by CryptProjectionForce::AddForceContribution(), BuskeCompressionForce< DIM >::AddForceContribution(), ChemotacticForce< DIM >::AddForceContribution(), PopulationTestingForce< ELEMENT_DIM, SPACE_DIM >::AddForceContribution(), CryptProjectionForce::CalculateForceBetweenNodes(), BuskeAdhesiveForce< DIM >::CalculateForceBetweenNodes(), BuskeElasticForce< DIM >::CalculateForceBetweenNodes(), GeneralisedLinearSpringForce< ELEMENT_DIM, SPACE_DIM >::CalculateForceBetweenNodes(), CellRadiusWriter< ELEMENT_DIM, SPACE_DIM >::GetCellDataForVtkOutput(), CellAppliedForceWriter< ELEMENT_DIM, SPACE_DIM >::GetVectorCellDataForVtkOutput(), ExtrinsicPullModifier< DIM >::UpdateAtEndOfTimeStep(), and CellRadiusWriter< ELEMENT_DIM, SPACE_DIM >::VisitCell().
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.
Definition at line 169 of file AbstractCellPopulation.cpp.
|
pure virtual |
As this method is pure virtual, it must be overridden in subclasses.
Implemented in CaBasedCellPopulation< DIM >, ImmersedBoundaryCellPopulation< DIM >, MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >, MeshBasedCellPopulation< 1 >, MeshBasedCellPopulation< 2 >, MeshBasedCellPopulation< DIM >, NodeBasedCellPopulation< DIM >, PottsBasedCellPopulation< DIM >, and VertexBasedCellPopulation< DIM >.
Referenced by PopulationTestingForce< ELEMENT_DIM, SPACE_DIM >::AddForceContribution(), ExtrinsicPullModifier< DIM >::UpdateAtEndOfTimeStep(), and AbstractGrowingDomainPdeModifier< DIM >::UpdateCellData().
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.
Definition at line 156 of file AbstractCellPopulation.cpp.
Referenced by CellPopulationAdjacencyMatrixWriter< ELEMENT_DIM, SPACE_DIM >::Visit(), and CellPopulationAdjacencyMatrixWriter< ELEMENT_DIM, SPACE_DIM >::VisitAnyPopulation().
bool AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetOutputResultsForChasteVisualizer | ( | ) |
Definition at line 814 of file AbstractCellPopulation.cpp.
std::vector< std::string > AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetRemovalsInformation | ( | ) |
Return details of all cell removals since the last sampling time step.
Definition at line 843 of file AbstractCellPopulation.cpp.
Referenced by CellRemovalLocationsWriter< ELEMENT_DIM, SPACE_DIM >::Visit(), and CellRemovalLocationsWriter< ELEMENT_DIM, SPACE_DIM >::VisitAnyPopulation().
c_vector< double, SPACE_DIM > AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetSizeOfCellPopulation | ( | ) |
Definition at line 906 of file AbstractCellPopulation.cpp.
Referenced by NodeBasedCellPopulation< DIM >::GetSizeOfCellPopulation().
|
pure virtual |
As this method is pure virtual, it must be overridden in subclasses.
Implemented in CaBasedCellPopulation< DIM >, ImmersedBoundaryCellPopulation< DIM >, MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >, MeshBasedCellPopulation< 1 >, MeshBasedCellPopulation< 2 >, MeshBasedCellPopulation< DIM >, MeshBasedCellPopulationWithGhostNodes< DIM >, NodeBasedCellPopulation< DIM >, PottsBasedCellPopulation< DIM >, and VertexBasedCellPopulation< DIM >.
Referenced by AbstractGrowingDomainPdeModifier< DIM >::GenerateFeMesh().
|
pure virtual |
As this method is pure virtual, it must be overridden in subclasses.
pCell | boost shared pointer to a cell |
Implemented in CaBasedCellPopulation< DIM >, ImmersedBoundaryCellPopulation< DIM >, MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >, MeshBasedCellPopulation< 1 >, MeshBasedCellPopulation< 2 >, MeshBasedCellPopulation< DIM >, NodeBasedCellPopulation< DIM >, PottsBasedCellPopulation< DIM >, and VertexBasedCellPopulation< DIM >.
Referenced by CellVolumesWriter< ELEMENT_DIM, SPACE_DIM >::GetCellDataForVtkOutput(), VolumeTrackingModifier< DIM >::UpdateCellData(), and CellVolumesWriter< ELEMENT_DIM, SPACE_DIM >::VisitCell().
|
pure virtual |
Calculate the 'width' of any dimension of the cell population.
As this method is pure virtual, it must be overridden in subclasses.
rDimension | a dimension (0,1 or 2) |
Implemented in CaBasedCellPopulation< DIM >, ImmersedBoundaryCellPopulation< DIM >, MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >, MeshBasedCellPopulation< 1 >, MeshBasedCellPopulation< 2 >, MeshBasedCellPopulation< DIM >, NodeBasedCellPopulation< DIM >, PottsBasedCellPopulation< DIM >, and VertexBasedCellPopulation< DIM >.
|
inline |
Get whether the population has a writer of the specified type.
Definition at line 895 of file AbstractCellPopulation.hpp.
References AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mCellPopulationCountWriters, AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mCellPopulationEventWriters, AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mCellPopulationWriters, and AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mCellWriters.
void AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::InitialiseCells | ( | ) |
Initialise each cell's cell-cycle model.
Definition at line 121 of file AbstractCellPopulation.cpp.
|
pure virtual |
Helper method for establishing if a cell is real.
As this method is pure virtual, it must be overridden in subclasses.
pCell | the cell |
Implemented in AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >, AbstractCentreBasedCellPopulation< DIM >, CaBasedCellPopulation< DIM >, ImmersedBoundaryCellPopulation< DIM >, PottsBasedCellPopulation< DIM >, and VertexBasedCellPopulation< DIM >.
|
virtual |
Returns whether or not a cell is associated with a location index
index | the location index |
Definition at line 352 of file AbstractCellPopulation.cpp.
Referenced by HeterotypicBoundaryLengthWriter< ELEMENT_DIM, SPACE_DIM >::Visit(), CellPopulationElementWriter< ELEMENT_DIM, SPACE_DIM >::Visit(), CellPopulationElementWriter< ELEMENT_DIM, SPACE_DIM >::Visit(), CellPopulationElementWriter< ELEMENT_DIM, SPACE_DIM >::Visit(), and CellPopulationElementWriter< ELEMENT_DIM, SPACE_DIM >::Visit().
|
virtual |
pdeNodeIndex | index of a node in a tetrahedral mesh for use with a PDE modifier |
As this method is pure virtual, it must be overridden in subclasses.
Reimplemented in CaBasedCellPopulation< DIM >, ImmersedBoundaryCellPopulation< DIM >, and VertexBasedCellPopulation< DIM >.
Definition at line 955 of file AbstractCellPopulation.cpp.
|
virtual |
pCell | pointer to a cell |
Reimplemented in CaBasedCellPopulation< DIM >.
Definition at line 900 of file AbstractCellPopulation.cpp.
void AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::KillCell | ( | CellPtr | pCell, |
std::string | killerInfo | ||
) |
Helper method to mark a cell as killed and store information about the removal.
pCell | the cell |
killerInfo | additional information the killer wants output i.e. the type of killer. |
Definition at line 880 of file AbstractCellPopulation.cpp.
Referenced by RadialSloughingCellKiller::CheckAndLabelCellsForApoptosisOrDeath().
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
pCell | the cell to move |
old_index | the old location index |
new_index | the new location index |
Definition at line 404 of file AbstractCellPopulation.cpp.
Referenced by CryptShovingCaBasedDivisionRule::CalculateDaughterNodeIndex(), and ShovingCaBasedDivisionRule< SPACE_DIM >::CalculateDaughterNodeIndex().
|
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.
rOutputFileHandler | handler for the directory in which to open this file. |
Definition at line 581 of file AbstractCellPopulation.cpp.
References AbstractCellBasedWriter< ELEMENT_DIM, SPACE_DIM >::OpenOutputFileForAppend().
|
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.
rOutputFileHandler | handler for the directory in which to open this file. |
Reimplemented in CaBasedCellPopulation< DIM >, ImmersedBoundaryCellPopulation< DIM >, MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >, MeshBasedCellPopulation< 1 >, MeshBasedCellPopulation< 2 >, MeshBasedCellPopulation< DIM >, MeshBasedCellPopulationWithGhostNodes< DIM >, PottsBasedCellPopulation< DIM >, and VertexBasedCellPopulation< DIM >.
Definition at line 519 of file AbstractCellPopulation.cpp.
Referenced by CaBasedCellPopulation< DIM >::OpenWritersFiles(), ImmersedBoundaryCellPopulation< DIM >::OpenWritersFiles(), PottsBasedCellPopulation< DIM >::OpenWritersFiles(), and VertexBasedCellPopulation< DIM >::OpenWritersFiles().
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.
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.
Loop over cells and generate a set of SRN model classes that are present in the population.
Definition at line 731 of file AbstractCellPopulation.cpp.
|
pure virtual |
Outputs CellPopulation parameters to file
As this method is pure virtual, it must be overridden in subclasses.
rParamsFile | the file stream to which the parameters are output |
Implemented in AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >, AbstractCentreBasedCellPopulation< DIM >, AbstractOffLatticeCellPopulation< ELEMENT_DIM, SPACE_DIM >, AbstractOffLatticeCellPopulation< DIM >, AbstractOffLatticeCellPopulation< ELEMENT_DIM, ELEMENT_DIM >, AbstractOnLatticeCellPopulation< DIM >, CaBasedCellPopulation< DIM >, ImmersedBoundaryCellPopulation< DIM >, MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >, MeshBasedCellPopulation< 1 >, MeshBasedCellPopulation< 2 >, MeshBasedCellPopulation< DIM >, MeshBasedCellPopulationWithGhostNodes< DIM >, NodeBasedCellPopulation< DIM >, NodeBasedCellPopulationWithBuskeUpdate< DIM >, NodeBasedCellPopulationWithParticles< DIM >, PottsBasedCellPopulation< DIM >, and VertexBasedCellPopulation< DIM >.
Definition at line 803 of file AbstractCellPopulation.cpp.
Referenced by AbstractOffLatticeCellPopulation< ELEMENT_DIM, SPACE_DIM >::OutputCellPopulationParameters(), and AbstractOnLatticeCellPopulation< DIM >::OutputCellPopulationParameters().
|
virtual |
Removes a cell from a given location index.
index | the location index |
pCell | the cell. |
Reimplemented in CaBasedCellPopulation< DIM >.
Definition at line 388 of file AbstractCellPopulation.cpp.
References EXCEPTION.
Referenced by CaBasedCellPopulation< DIM >::RemoveCellUsingLocationIndex().
|
pure virtual |
Remove all cells labelled as dead.
As this method is pure virtual, it must be overridden in subclasses.
Implemented in CaBasedCellPopulation< DIM >, ImmersedBoundaryCellPopulation< DIM >, MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >, MeshBasedCellPopulation< 1 >, MeshBasedCellPopulation< 2 >, MeshBasedCellPopulation< DIM >, NodeBasedCellPopulation< DIM >, PottsBasedCellPopulation< DIM >, and VertexBasedCellPopulation< DIM >.
std::list< CellPtr > & AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::rGetCells | ( | ) |
Definition at line 150 of file AbstractCellPopulation.cpp.
Referenced by AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::Iterator::Iterator(), and AbstractTargetAreaModifier< DIM >::UpdateTargetAreas().
AbstractMesh< ELEMENT_DIM, SPACE_DIM > & AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::rGetMesh | ( | ) |
Definition at line 144 of file AbstractCellPopulation.cpp.
Referenced by DiffusionForce< DIM >::AddForceContribution(), GeneralisedLinearSpringForce< ELEMENT_DIM, SPACE_DIM >::CalculateForceBetweenNodes(), ExtrinsicPullModifier< DIM >::UpdateAtEndOfTimeStep(), ImmersedBoundarySvgWriter< DIM >::UpdateAtEndOfTimeStep(), BoundaryNodeWriter< ELEMENT_DIM, SPACE_DIM >::VisitAnyPopulation(), and NodeLocationWriter< ELEMENT_DIM, SPACE_DIM >::VisitAnyPopulation().
|
inlineprivate |
Serialize the object and its member variables.
archive | the archive |
version | the current version of this class |
Definition at line 96 of file AbstractCellPopulation.hpp.
References AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mCellLocationMap, AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mCellPopulationCountWriters, AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mCellPopulationWriters, AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mCells, AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mCellWriters, AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mLocationCellMap, AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mOutputResultsForChasteVisualizer, and AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mpCellPropertyRegistry.
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 175 of file AbstractCellPopulation.cpp.
References MAKE_PTR_ARGS.
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.
index | the location index |
pCell | the cell. |
Definition at line 367 of file AbstractCellPopulation.cpp.
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
rDataName | is the name associated with the data |
dataValue | is the value of the data, initially the same for each cell |
Definition at line 133 of file AbstractCellPopulation.cpp.
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 429 of file AbstractCellPopulation.cpp.
Referenced by CellMutationStatesCountWriter< ELEMENT_DIM, SPACE_DIM >::WriteHeader().
|
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.
nodeIndex | the index of the node to be moved |
rNewLocation | the new target location of the node |
Implemented in MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >, MeshBasedCellPopulation< 1 >, MeshBasedCellPopulation< 2 >, MeshBasedCellPopulation< DIM >, AbstractOffLatticeCellPopulation< ELEMENT_DIM, SPACE_DIM >, AbstractOffLatticeCellPopulation< DIM >, and AbstractOffLatticeCellPopulation< ELEMENT_DIM, ELEMENT_DIM >.
void AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::SetOutputResultsForChasteVisualizer | ( | bool | outputResultsForChasteVisualizer | ) |
Set mOutputResultsForChasteVisualizer.
outputResultsForChasteVisualizer | the new value of mOutputResultsForChasteVisualizer |
Definition at line 820 of file AbstractCellPopulation.cpp.
|
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.
pSimulation | pointer to a cell-based simulation object |
Definition at line 809 of file AbstractCellPopulation.cpp.
void AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::StartApoptosisOnCell | ( | CellPtr | pCell, |
std::string | killerInfo | ||
) |
Helper method to mark a cell as starting apoptosis and store information about the removal.
pCell | the cell |
killerInfo | additional information the killer wants output i.e. the type of killer. |
Definition at line 890 of file AbstractCellPopulation.cpp.
|
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.
hasHadBirthsOrDeaths | - a bool saying whether cell population has had Births Or Deaths |
Implemented in CaBasedCellPopulation< DIM >, ImmersedBoundaryCellPopulation< DIM >, MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >, MeshBasedCellPopulation< 1 >, MeshBasedCellPopulation< 2 >, MeshBasedCellPopulation< DIM >, NodeBasedCellPopulation< DIM >, PottsBasedCellPopulation< DIM >, and VertexBasedCellPopulation< DIM >.
Referenced by DeltaNotchTrackingModifier< DIM >::UpdateCellData(), DivisionBiasTrackingModifier< DIM >::UpdateCellData(), VolumeTrackingModifier< DIM >::UpdateCellData(), and CellPopulationAdjacencyMatrixWriter< ELEMENT_DIM, SPACE_DIM >::VisitAnyPopulation().
|
virtual |
Update the ownership of cell in a parallel cell-based simulation.
Reimplemented in NodeBasedCellPopulation< DIM >.
Definition at line 476 of file AbstractCellPopulation.cpp.
|
protectedpure virtual |
Check consistency of our internal data structures.
As this method is pure virtual, it must be overridden in subclasses.
Implemented in CaBasedCellPopulation< DIM >, ImmersedBoundaryCellPopulation< DIM >, MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >, MeshBasedCellPopulation< 1 >, MeshBasedCellPopulation< 2 >, MeshBasedCellPopulation< DIM >, MeshBasedCellPopulationWithGhostNodes< DIM >, NodeBasedCellPopulation< DIM >, NodeBasedCellPopulationWithParticles< DIM >, PottsBasedCellPopulation< DIM >, and VertexBasedCellPopulation< DIM >.
|
virtual |
Write any data necessary to a visualization setup file. Used by AbstractCellBasedSimulation::WriteVisualizerSetupFile().
pVizSetupFile | a visualization setup file |
Reimplemented in MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >, MeshBasedCellPopulation< 1 >, MeshBasedCellPopulation< 2 >, MeshBasedCellPopulation< DIM >, and VertexBasedCellPopulation< DIM >.
Definition at line 362 of file AbstractCellPopulation.cpp.
|
virtual |
Write results from the current cell population state to output files.
rDirectory | pathname of the output directory, relative to where Chaste output is stored |
Reimplemented in MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >, MeshBasedCellPopulation< 1 >, MeshBasedCellPopulation< 2 >, MeshBasedCellPopulation< DIM >, and PottsBasedCellPopulation< DIM >.
Definition at line 596 of file AbstractCellPopulation.cpp.
References PetscTools::BeginRoundRobin().
Referenced by PottsBasedCellPopulation< DIM >::WriteResultsToFiles().
|
protectedpure virtual |
Write the current results to mpVtkMetaFile.
As this method is pure virtual, it must be overridden in subclasses.
rDirectory | pathname of the output directory, relative to where Chaste output is stored |
Implemented in CaBasedCellPopulation< DIM >, ImmersedBoundaryCellPopulation< DIM >, MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >, MeshBasedCellPopulation< 1 >, MeshBasedCellPopulation< 2 >, MeshBasedCellPopulation< DIM >, MeshBasedCellPopulationWithGhostNodes< DIM >, NodeBasedCellPopulation< DIM >, NodeBasedCellPopulationWithParticles< DIM >, PottsBasedCellPopulation< DIM >, VertexBasedCellPopulation< DIM >, AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >, and AbstractCentreBasedCellPopulation< DIM >.
Needed for serialization.
Definition at line 87 of file AbstractCellPopulation.hpp.
|
protected |
Map cells to location (node or VertexElement) indices.
Definition at line 133 of file AbstractCellPopulation.hpp.
Referenced by AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::AbstractCellPopulation(), and AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::serialize().
|
protected |
A list of cell population count writers.
Definition at line 160 of file AbstractCellPopulation.hpp.
Referenced by AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::AddCellPopulationCountWriter(), AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::AddCellPopulationCountWriter(), AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::HasWriter(), and AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::serialize().
|
protected |
A list of cell population event writers.
Definition at line 163 of file AbstractCellPopulation.hpp.
Referenced by AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::AddCellPopulationEventWriter(), AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::AddCellPopulationEventWriter(), and AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::HasWriter().
|
protected |
A list of cell population writers.
Definition at line 157 of file AbstractCellPopulation.hpp.
Referenced by AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::AddPopulationWriter(), AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::AddPopulationWriter(), AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::HasWriter(), and AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::serialize().
|
protected |
List of cells.
Definition at line 139 of file AbstractCellPopulation.hpp.
Referenced by AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::AbstractCellPopulation(), AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::AbstractCentreBasedCellPopulation(), ImmersedBoundaryCellPopulation< DIM >::ImmersedBoundaryCellPopulation(), MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::MeshBasedCellPopulation(), VertexBasedCellPopulation< DIM >::VertexBasedCellPopulation(), MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::CheckCellPointers(), and AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::serialize().
|
protected |
A list of cell writers.
Definition at line 154 of file AbstractCellPopulation.hpp.
Referenced by AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::AddCellWriter(), AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::AddCellWriter(), AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::HasWriter(), and AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::serialize().
|
protected |
Population centroid.
Definition at line 142 of file AbstractCellPopulation.hpp.
|
protected |
Details of cell divisions, to be used by CellDivisionLocationsWriter The locations are stored until they are cleared by ClearDivisionsInformation().
Definition at line 169 of file AbstractCellPopulation.hpp.
|
protected |
Map location (node or VertexElement) indices back to cells.
Definition at line 130 of file AbstractCellPopulation.hpp.
Referenced by AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::AbstractCellPopulation(), and AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::serialize().
|
protected |
Whether to write results to file for visualization using the Chaste java visualizer (defaults to true).
Definition at line 151 of file AbstractCellPopulation.hpp.
Referenced by AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::serialize().
|
protected |
Cell property registry.
Definition at line 148 of file AbstractCellPopulation.hpp.
Referenced by AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::AbstractCellPopulation(), and AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::serialize().
|
protected |
Meta results file for VTK.
Definition at line 145 of file AbstractCellPopulation.hpp.
|
protected |
Details of cell removals, to be used by CellRemovalLocationsWriter The locations are stored until they are cleared by ClearRemovalsInformation().
Definition at line 175 of file AbstractCellPopulation.hpp.
|
protected |
Reference to the mesh.
Definition at line 136 of file AbstractCellPopulation.hpp.
Referenced by ImmersedBoundaryCellPopulation< DIM >::ImmersedBoundaryCellPopulation(), ImmersedBoundaryCellPopulation< DIM >::ImmersedBoundaryCellPopulation(), MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::MeshBasedCellPopulation(), MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::MeshBasedCellPopulation(), NodeBasedCellPopulation< DIM >::NodeBasedCellPopulation(), NodeBasedCellPopulation< DIM >::NodeBasedCellPopulation(), VertexBasedCellPopulation< DIM >::VertexBasedCellPopulation(), VertexBasedCellPopulation< DIM >::VertexBasedCellPopulation(), MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetNeighbouringNodeIndices(), MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetWidth(), MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::SpringsBegin(), and MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::SpringsEnd().