Chaste
Release::3.4
|
#include <CryptSimulation2d.hpp>
Public Member Functions | |
CryptSimulation2d (AbstractCellPopulation< 2 > &rCellPopulation, bool deleteCellPopulationInDestructor=false, bool initialiseCells=true) | |
virtual | ~CryptSimulation2d () |
void | UseJiggledBottomCells () |
void | SetBottomCellAncestors () |
void | OutputSimulationParameters (out_stream &rParamsFile) |
Public Member Functions inherited from OffLatticeSimulation< 2 > | |
OffLatticeSimulation (AbstractCellPopulation< ELEMENT_DIM, ELEMENT_DIM > &rCellPopulation, bool deleteCellPopulationInDestructor=false, bool initialiseCells=true) | |
void | AddForce (boost::shared_ptr< AbstractForce< ELEMENT_DIM, ELEMENT_DIM > > pForce) |
void | RemoveAllForces () |
void | AddCellPopulationBoundaryCondition (boost::shared_ptr< AbstractCellPopulationBoundaryCondition< ELEMENT_DIM, ELEMENT_DIM > > pBoundaryCondition) |
void | RemoveAllCellPopulationBoundaryConditions () |
void | OutputAdditionalSimulationSetup (out_stream &rParamsFile) |
Public Member Functions inherited from AbstractCellBasedSimulation< ELEMENT_DIM, ELEMENT_DIM > | |
AbstractCellBasedSimulation (AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM > &rCellPopulation, bool deleteCellPopulationInDestructor=false, bool initialiseCells=true) | |
virtual | ~AbstractCellBasedSimulation () |
void | SetCellBasedPdeHandler (CellBasedPdeHandler< SPACE_DIM > *pCellBasedPdeHandler) |
CellBasedPdeHandler< SPACE_DIM > * | GetCellBasedPdeHandler () |
std::vector< double > | GetNodeLocation (const unsigned &rNodeIndex) |
double | GetDt () |
unsigned | GetNumBirths () |
unsigned | GetNumDeaths () |
std::string | GetOutputDirectory () |
void | SetDt (double dt) |
void | SetEndTime (double endTime) |
void | SetOutputDirectory (std::string outputDirectory) |
void | SetSamplingTimestepMultiple (unsigned samplingTimestepMultiple) |
void | SetNoBirth (bool noBirth) |
void | SetUpdateCellPopulationRule (bool updateCellPopulation) |
bool | GetUpdateCellPopulationRule () |
void | AddCellKiller (boost::shared_ptr< AbstractCellKiller< SPACE_DIM > > pCellKiller) |
void | RemoveAllCellKillers () |
void | AddSimulationModifier (boost::shared_ptr< AbstractCellBasedSimulationModifier< ELEMENT_DIM, SPACE_DIM > > pSimulationModifier) |
std::vector< boost::shared_ptr < AbstractCellBasedSimulationModifier < ELEMENT_DIM, SPACE_DIM > > > * | GetSimulationModifiers () |
void | Solve () |
AbstractCellPopulation < ELEMENT_DIM, SPACE_DIM > & | rGetCellPopulation () |
const AbstractCellPopulation < ELEMENT_DIM, SPACE_DIM > & | rGetCellPopulation () const |
bool | GetOutputDivisionLocations () |
void | SetOutputDivisionLocations (bool outputDivisionLocations) |
bool | GetOutputCellVelocities () |
void | SetOutputCellVelocities (bool outputCellVelocities) |
Public Member Functions inherited from Identifiable | |
virtual | ~Identifiable () |
std::string | GetIdentifier () const |
Protected Member Functions | |
template<class Archive > | |
void | serialize (Archive &archive, const unsigned int version) |
c_vector< double, 2 > | CalculateCellDivisionVector (CellPtr pParentCell) |
void | SetupSolve () |
Protected Member Functions inherited from OffLatticeSimulation< 2 > | |
virtual void | UpdateCellLocationsAndTopology () |
virtual void | UpdateNodePositions () |
virtual void | WriteVisualizerSetupFile () |
Protected Member Functions inherited from AbstractCellBasedSimulation< ELEMENT_DIM, ELEMENT_DIM > | |
virtual unsigned | DoCellBirth () |
unsigned | DoCellRemoval () |
virtual bool | StoppingEventHasOccurred () |
virtual void | UpdateCellPopulation () |
void | OutputSimulationSetup () |
Friends | |
class | TestCryptSimulation2dWithMeshBasedCellPopulation |
class | TestCryptSimulation2dWithVertexBasedCellPopulation |
class | boost::serialization::access |
A 2D crypt simulation object. For more details on the crypt geometry, see the papers by van Leeuwen et al (2009) [doi:10.1111/j.1365-2184.2009.00627.x] and Osborne et al (2010) [doi:10.1098/rsta.2010.0173].
Definition at line 52 of file CryptSimulation2d.hpp.
CryptSimulation2d::CryptSimulation2d | ( | AbstractCellPopulation< 2 > & | rCellPopulation, |
bool | deleteCellPopulationInDestructor = false , |
||
bool | initialiseCells = true |
||
) |
Constructor.
rCellPopulation | A cell population object |
deleteCellPopulationInDestructor | Whether to delete the cell population on destruction to free up memory (defaults to false) |
initialiseCells | whether to initialise cells (defaults to true, set to false when loading from an archive) |
Definition at line 44 of file CryptSimulation2d.cpp.
References OffLatticeSimulation< 2 >::AddCellPopulationBoundaryCondition(), EXCEPTION, MAKE_PTR_ARGS, AbstractCellBasedSimulation< ELEMENT_DIM, ELEMENT_DIM >::mDeleteCellPopulationInDestructor, AbstractCellBasedSimulation< ELEMENT_DIM, ELEMENT_DIM >::mrCellPopulation, and mUsingMeshBasedCellPopulation.
|
virtual |
Destructor.
This frees the CryptSimulationBoundaryCondition.
Definition at line 75 of file CryptSimulation2d.cpp.
|
protectedvirtual |
In the case of a MeshBasedCellPopulationWithGhostNodes, this method calculates the new locations of a dividing cell's cell centres. The node correspond to the dividing cell is moved a bit and the co-ordinates of the new node are returned. This is done by drawing a random direction (0->2PI) and placing the parent and daughter nodes in opposing directions along this axis.
In the case of a VertexBasedCellPopulation, by default this method calls the AbstractVertexBasedDivisionRule. If the parent cell is a stem cell, then this method returns the vector (0,1). This is then used by the VertexBasedCellPopulation method AddCell() as the axis along which the cell divides.
pParentCell | the parent cell |
Reimplemented from OffLatticeSimulation< 2 >.
Definition at line 79 of file CryptSimulation2d.cpp.
References WntConcentration< DIM >::Destroy(), WntConcentration< DIM >::Instance(), RandomNumberGenerator::Instance(), WntConcentration< DIM >::IsWntSetUp(), AbstractCellBasedSimulation< ELEMENT_DIM, ELEMENT_DIM >::mrCellPopulation, mUsingMeshBasedCellPopulation, and RandomNumberGenerator::ranf().
|
virtual |
Outputs simulation parameters to file
As this method is pure virtual, it must be overridden in subclasses.
rParamsFile | the file stream to which the parameters are output |
Reimplemented from OffLatticeSimulation< 2 >.
Definition at line 218 of file CryptSimulation2d.cpp.
References OffLatticeSimulation< 2 >::mBoundaryConditions, AbstractCellBasedSimulation< ELEMENT_DIM, ELEMENT_DIM >::mrCellPopulation, and OffLatticeSimulation< ELEMENT_DIM, SPACE_DIM >::OutputSimulationParameters().
|
inlineprotected |
Archive the simulation and member variable.
archive | the archive |
version | the current version of this class |
Definition at line 69 of file CryptSimulation2d.hpp.
References SerializableSingleton< SINGLETON_CLASS >::GetSerializationWrapper(), and WntConcentration< DIM >::Instance().
void CryptSimulation2d::SetBottomCellAncestors | ( | ) |
Sets the Ancestor index of all the cells at the bottom in order, can be used to trace clonal populations.
Definition at line 192 of file CryptSimulation2d.cpp.
References MAKE_PTR_ARGS, AbstractCellBasedSimulation< ELEMENT_DIM, ELEMENT_DIM >::mrCellPopulation, and mUsingMeshBasedCellPopulation.
|
protectedvirtual |
Overridden SetupSolve() method.
Write initial beta catenin results to file if required.
Reimplemented from OffLatticeSimulation< 2 >.
Definition at line 164 of file CryptSimulation2d.cpp.
References AbstractCellBasedSimulation< ELEMENT_DIM, ELEMENT_DIM >::mpVizSetupFile, AbstractCellBasedSimulation< ELEMENT_DIM, ELEMENT_DIM >::mrCellPopulation, and OffLatticeSimulation< ELEMENT_DIM, SPACE_DIM >::SetupSolve().
void CryptSimulation2d::UseJiggledBottomCells | ( | ) |
Set method for mUseJiggledBottomCells.
Definition at line 186 of file CryptSimulation2d.cpp.
References OffLatticeSimulation< 2 >::mBoundaryConditions.
|
friend |
Needed for serialization.
Definition at line 61 of file CryptSimulation2d.hpp.
|
protected |
Helper member that stores whether we are using a MeshBasedCellPopulationWithGhostNodes (if not, then we are assumed to be using a VertexBasedCellPopulation).
Definition at line 81 of file CryptSimulation2d.hpp.
Referenced by CalculateCellDivisionVector(), CryptSimulation2d(), and SetBottomCellAncestors().