![]() |
Chaste
Release::3.4
|
#include <CryptSimulation2d.hpp>
Inheritance diagram for CryptSimulation2d:
Collaboration diagram for CryptSimulation2d: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().