CryptSimulation2d Class Reference

#include <CryptSimulation2d.hpp>

Inherits OffLatticeSimulation< 2 >.

Collaboration diagram for CryptSimulation2d:
Collaboration graph
[legend]

List of all members.

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 SetupWriteBetaCatenin ()
virtual void WriteBetaCatenin (double time)
void SetupSolve ()
void PostSolve ()
void AfterSolve ()

Protected Attributes

bool mWriteBetaCatenin
out_stream mVizBetaCateninResultsFile
bool mUsingMeshBasedCellPopulation

Friends

class TestCryptSimulation2dWithMeshBasedCellPopulation
class TestCryptSimulation2dWithVertexBasedCellPopulation
class boost::serialization::access

Detailed Description

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 46 of file CryptSimulation2d.hpp.


Constructor & Destructor Documentation

CryptSimulation2d::CryptSimulation2d ( AbstractCellPopulation< 2 > &  rCellPopulation,
bool  deleteCellPopulationInDestructor = false,
bool  initialiseCells = true 
)

Constructor.

Parameters:
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 35 of file CryptSimulation2d.cpp.

References OffLatticeSimulation< 2 >::AddCellPopulationBoundaryCondition(), EXCEPTION, MAKE_PTR_ARGS, AbstractCellBasedSimulation< DIM >::mDeleteCellPopulationInDestructor, AbstractCellBasedSimulation< DIM >::mrCellPopulation, mUsingMeshBasedCellPopulation, and mWriteBetaCatenin.

CryptSimulation2d::~CryptSimulation2d (  )  [virtual]

Destructor.

This frees the CryptSimulationBoundaryCondition.

Definition at line 78 of file CryptSimulation2d.cpp.


Member Function Documentation

void CryptSimulation2d::AfterSolve (  )  [protected, virtual]

Overridden AfterSolve() method.

Closes beta catenin results file if required, then calls the base class method.

Reimplemented from OffLatticeSimulation< 2 >.

Definition at line 237 of file CryptSimulation2d.cpp.

References AbstractCellBasedSimulation< DIM >::mrCellPopulation, mVizBetaCateninResultsFile, and mWriteBetaCatenin.

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 returns the zero vector. 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.

Parameters:
pParentCell the parent cell
Returns:
daughter_coords the coordinates for the daughter cell.

Reimplemented from OffLatticeSimulation< 2 >.

Definition at line 82 of file CryptSimulation2d.cpp.

References RandomNumberGenerator::Instance(), AbstractCellBasedSimulation< 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.

Parameters:
rParamsFile the file stream to which the parameters are output

Reimplemented from OffLatticeSimulation< 2 >.

Definition at line 284 of file CryptSimulation2d.cpp.

References OffLatticeSimulation< 2 >::mBoundaryConditions, and AbstractCellBasedSimulation< DIM >::mrCellPopulation.

void CryptSimulation2d::PostSolve (  )  [protected, virtual]
template<class Archive >
void CryptSimulation2d::serialize ( Archive &  archive,
const unsigned int  version 
) [inline, protected]

Archive the simulation and member variable.

Parameters:
archive the archive
version the current version of this class

Reimplemented from OffLatticeSimulation< 2 >.

Definition at line 63 of file CryptSimulation2d.hpp.

References mWriteBetaCatenin.

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 259 of file CryptSimulation2d.cpp.

References AbstractCellBasedSimulation< 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 195 of file CryptSimulation2d.cpp.

References SimulationTime::GetTime(), SimulationTime::Instance(), AbstractCellBasedSimulation< DIM >::mrCellPopulation, mWriteBetaCatenin, SetupWriteBetaCatenin(), and WriteBetaCatenin().

void CryptSimulation2d::SetupWriteBetaCatenin (  )  [protected]
void CryptSimulation2d::UseJiggledBottomCells (  ) 

Set method for mUseJiggledBottomCells.

Definition at line 253 of file CryptSimulation2d.cpp.

References OffLatticeSimulation< 2 >::mBoundaryConditions.

void CryptSimulation2d::WriteBetaCatenin ( double  time  )  [protected, virtual]

Friends And Related Function Documentation

friend class boost::serialization::access [friend]

Needed for serialization.

Reimplemented from OffLatticeSimulation< 2 >.

Definition at line 55 of file CryptSimulation2d.hpp.


Member Data Documentation

Helper member that stores whether we are using a MeshBasedCellPopulationWithGhostNodes (if not, then we are assumed to be using a VertexBasedCellPopulation).

Definition at line 88 of file CryptSimulation2d.hpp.

Referenced by CalculateCellDivisionVector(), CryptSimulation2d(), and SetBottomCellAncestors().

The file that the values of beta catenin is written out to.

Definition at line 82 of file CryptSimulation2d.hpp.

Referenced by AfterSolve(), SetupWriteBetaCatenin(), and WriteBetaCatenin().

Whether the simulation includes the cell-cycle models VanLeeuwen2009WntSwatCellCycleModelHypothesisOne or VanLeeuwen2009WntSwatCellCycleModelHypothesisOne, and hence whether beta catenin results are written to file.

Definition at line 79 of file CryptSimulation2d.hpp.

Referenced by AfterSolve(), CryptSimulation2d(), PostSolve(), serialize(), SetupSolve(), and WriteBetaCatenin().


The documentation for this class was generated from the following files:
Generated on Thu Dec 22 13:03:56 2011 for Chaste by  doxygen 1.6.3