#include <CryptSimulation2d.hpp>
Inherits OffLatticeSimulation< 2 >.
Public Member Functions | |
CryptSimulation2d (AbstractCellPopulation< 2 > &rCellPopulation, bool deleteCellPopulationInDestructor=false, bool initialiseCells=true) | |
virtual | ~CryptSimulation2d () |
void | UseJiggledBottomCells () |
void | SetBottomCellAncestors () |
void | OutputSimulationParameters (out_stream &rParamsFile) |
Protected Member Functions | |
template<class Archive > | |
void | serialize (Archive &archive, const unsigned int version) |
c_vector< double, 2 > | CalculateCellDivisionVector (CellPtr pParentCell) |
void | SetupSolve () |
Protected Attributes | |
bool | mUsingMeshBasedCellPopulation |
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.
CryptSimulation2d::~CryptSimulation2d | ( | ) | [virtual] |
Destructor.
This frees the CryptSimulationBoundaryCondition.
Definition at line 75 of file CryptSimulation2d.cpp.
c_vector< double, 2 > CryptSimulation2d::CalculateCellDivisionVector | ( | CellPtr | pParentCell | ) | [protected, virtual] |
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 RandomNumberGenerator::Instance(), AbstractCellBasedSimulation< ELEMENT_DIM, ELEMENT_DIM >::mrCellPopulation, mUsingMeshBasedCellPopulation, and RandomNumberGenerator::ranf().
void CryptSimulation2d::OutputSimulationParameters | ( | out_stream & | rParamsFile | ) | [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, and AbstractCellBasedSimulation< ELEMENT_DIM, ELEMENT_DIM >::mrCellPopulation.
void CryptSimulation2d::serialize | ( | Archive & | archive, | |
const unsigned int | version | |||
) | [inline, protected] |
Archive the simulation and member variable.
archive | the archive | |
version | the current version of this class |
Reimplemented from OffLatticeSimulation< 2 >.
Definition at line 69 of file CryptSimulation2d.hpp.
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.
void CryptSimulation2d::SetupSolve | ( | ) | [protected, virtual] |
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, and AbstractCellBasedSimulation< ELEMENT_DIM, ELEMENT_DIM >::mrCellPopulation.
void CryptSimulation2d::UseJiggledBottomCells | ( | ) |
Set method for mUseJiggledBottomCells.
Definition at line 186 of file CryptSimulation2d.cpp.
References OffLatticeSimulation< 2 >::mBoundaryConditions.
friend class boost::serialization::access [friend] |
Needed for serialization.
Reimplemented from OffLatticeSimulation< 2 >.
Definition at line 61 of file CryptSimulation2d.hpp.
bool CryptSimulation2d::mUsingMeshBasedCellPopulation [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().