#include <VertexCryptSimulation2d.hpp>
Public Member Functions | |
VertexCryptSimulation2d (AbstractCellPopulation< 2 > &rCellPopulation, bool deleteCellPopulationAndForceCollection=false, bool initialiseCells=true) | |
void | UseJiggledBottomCells () |
void | ApplyCellPopulationBoundaryConditions (const std::vector< c_vector< double, 2 > > &rOldLocations) |
void | SetBottomCellAncestors () |
void | OutputSimulationParameters (out_stream &rParamsFile) |
Private Member Functions | |
template<class Archive> | |
void | serialize (Archive &archive, const unsigned int version) |
c_vector< double, 2 > | CalculateCellDivisionVector (CellPtr pParentCell) |
void | WriteVisualizerSetupFile () |
void | SetupWriteBetaCatenin () |
void | WriteBetaCatenin (double time) |
void | SetupSolve () |
void | PostSolve () |
void | AfterSolve () |
Private Attributes | |
bool | mUseJiggledBottomCells |
bool | mWriteBetaCatenin |
out_stream | mVizBetaCateninResultsFile |
Friends | |
class | TestVertexCryptSimulation2d |
class | boost::serialization::access |
Definition at line 41 of file VertexCryptSimulation2d.hpp.
VertexCryptSimulation2d::VertexCryptSimulation2d | ( | AbstractCellPopulation< 2 > & | rCellPopulation, | |
bool | deleteCellPopulationAndForceCollection = false , |
|||
bool | initialiseCells = true | |||
) |
Constructor.
rCellPopulation | A cell population object | |
deleteCellPopulationAndForceCollection | Whether to delete the cell population and force collection on destruction to free up memory | |
initialiseCells | whether to initialise cells (set to false when loading from an archive) |
Definition at line 34 of file VertexCryptSimulation2d.cpp.
References CellBasedSimulation< 2 >::mrCellPopulation, and mWriteBetaCatenin.
void VertexCryptSimulation2d::serialize | ( | Archive & | archive, | |
const unsigned int | version | |||
) | [inline, private] |
Archive the member variables.
Serialization of singleton objects must be done with care. Before the object is serialized via a pointer, it *MUST* be serialized directly, or an assertion will trip when a second instance of the class is created on de-serialization.
archive | the archive | |
version | the current version of this class |
Reimplemented from CellBasedSimulation< 2 >.
Definition at line 51 of file VertexCryptSimulation2d.hpp.
References mUseJiggledBottomCells, and mWriteBetaCatenin.
c_vector< double, 2 > VertexCryptSimulation2d::CalculateCellDivisionVector | ( | CellPtr | pParentCell | ) | [private, virtual] |
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.
pParentCell | the parent cell |
Reimplemented from CellBasedSimulation< 2 >.
Definition at line 55 of file VertexCryptSimulation2d.cpp.
References WntConcentration< DIM >::Destroy(), WntConcentration< DIM >::Instance(), and WntConcentration< DIM >::IsWntSetUp().
void VertexCryptSimulation2d::WriteVisualizerSetupFile | ( | ) | [private, virtual] |
Overridden WriteVisualizerSetupFile() method.
Writes out special information about the mesh to the visualizer.
Reimplemented from CellBasedSimulation< 2 >.
Definition at line 73 of file VertexCryptSimulation2d.cpp.
References CellBasedSimulation< 2 >::mpVizSetupFile, and CellBasedSimulation< 2 >::mrCellPopulation.
void VertexCryptSimulation2d::SetupWriteBetaCatenin | ( | ) | [private] |
Use an output file handler to reate a beta catenin results file.
Definition at line 78 of file VertexCryptSimulation2d.cpp.
References CellBasedSimulation< 2 >::mpVizSetupFile, CellBasedSimulation< 2 >::mSimulationOutputDirectory, mVizBetaCateninResultsFile, and OutputFileHandler::OpenOutputFile().
Referenced by SetupSolve().
void VertexCryptSimulation2d::WriteBetaCatenin | ( | double | time | ) | [private] |
Write beta catenin results to file.
time | the current time |
Definition at line 85 of file VertexCryptSimulation2d.cpp.
References AbstractVanLeeuwen2009WntSwatCellCycleModel::GetCytoplasmicBetaCateninLevel(), AbstractVanLeeuwen2009WntSwatCellCycleModel::GetMembraneBoundBetaCateninLevel(), AbstractVanLeeuwen2009WntSwatCellCycleModel::GetNuclearBetaCateninLevel(), CellBasedSimulation< 2 >::mrCellPopulation, mVizBetaCateninResultsFile, and mWriteBetaCatenin.
Referenced by PostSolve(), and SetupSolve().
void VertexCryptSimulation2d::SetupSolve | ( | ) | [private, virtual] |
Overridden SetupSolve() method.
Write initial beta catenin results to file if required.
Reimplemented from CellBasedSimulation< 2 >.
Definition at line 118 of file VertexCryptSimulation2d.cpp.
References SimulationTime::GetTime(), SimulationTime::Instance(), CellBasedSimulation< 2 >::mrCellPopulation, mWriteBetaCatenin, SetupWriteBetaCatenin(), and WriteBetaCatenin().
void VertexCryptSimulation2d::PostSolve | ( | ) | [private, virtual] |
Overridden PostSolve() method.
Write current beta catenin results to file if required.
Reimplemented from CellBasedSimulation< 2 >.
Definition at line 133 of file VertexCryptSimulation2d.cpp.
References SimulationTime::GetTime(), SimulationTime::GetTimeStep(), SimulationTime::GetTimeStepsElapsed(), SimulationTime::Instance(), CellBasedSimulation< 2 >::mrCellPopulation, CellBasedSimulation< 2 >::mSamplingTimestepMultiple, mWriteBetaCatenin, and WriteBetaCatenin().
void VertexCryptSimulation2d::AfterSolve | ( | ) | [private, virtual] |
Overridden AfterSolve() method.
Closes beta catenin results file if required, then calls the base class method.
Reimplemented from CellBasedSimulation< 2 >.
Definition at line 153 of file VertexCryptSimulation2d.cpp.
References CellBasedSimulation< 2 >::mrCellPopulation, mVizBetaCateninResultsFile, and mWriteBetaCatenin.
void VertexCryptSimulation2d::UseJiggledBottomCells | ( | ) |
Set method for mUseJiggledBottomCells.
Definition at line 166 of file VertexCryptSimulation2d.cpp.
References mUseJiggledBottomCells.
void VertexCryptSimulation2d::ApplyCellPopulationBoundaryConditions | ( | const std::vector< c_vector< double, 2 > > & | rOldLocations | ) |
Overridden ApplyCellPopulationBoundaryConditions() method.
If an instance of WntConcentration is not set up, then stem cells at the bottom of the crypt are pinned. Any cell that has moved below the bottom of the crypt is moved back up.
rOldLocations | the node locations at the previous time step |
If WntConcentration is not set up then the stem cells must be pinned to y=0, so any node whose old hieght was close to zero is moved back to zero.
Definition at line 171 of file VertexCryptSimulation2d.cpp.
References WntConcentration< DIM >::Destroy(), WntConcentration< DIM >::Instance(), WntConcentration< DIM >::IsWntSetUp(), CellBasedSimulation< 2 >::mpRandomGenerator, CellBasedSimulation< 2 >::mrCellPopulation, mUseJiggledBottomCells, RandomNumberGenerator::ranf(), Node< SPACE_DIM >::rGetLocation(), and Node< SPACE_DIM >::rGetModifiableLocation().
void VertexCryptSimulation2d::SetBottomCellAncestors | ( | ) |
Sets the Ancestor index of all the cells at the bottom in order, can be used to trace clonal populations.
Definition at line 214 of file VertexCryptSimulation2d.cpp.
References CellBasedSimulation< 2 >::mrCellPopulation.
void VertexCryptSimulation2d::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 CellBasedSimulation< 2 >.
Definition at line 228 of file VertexCryptSimulation2d.cpp.
References CellBasedSimulation< 2 >::mrCellPopulation, mUseJiggledBottomCells, and CellBasedSimulation< DIM >::OutputSimulationParameters().
friend class boost::serialization::access [friend] |
Needed for serialization.
Reimplemented from CellBasedSimulation< 2 >.
Definition at line 49 of file VertexCryptSimulation2d.hpp.
bool VertexCryptSimulation2d::mUseJiggledBottomCells [private] |
Whether to use a flat bottom surface or to jiggle the cells on the bottom surface
Definition at line 61 of file VertexCryptSimulation2d.hpp.
Referenced by ApplyCellPopulationBoundaryConditions(), OutputSimulationParameters(), serialize(), and UseJiggledBottomCells().
bool VertexCryptSimulation2d::mWriteBetaCatenin [private] |
Whether the simulation includes the cell cycle models VanLeeuwen2009WntSwatCellCycleModelHypothesisOne or VanLeeuwen2009WntSwatCellCycleModelHypothesisOne, and hence whether beta catenin results are written to file.
Definition at line 69 of file VertexCryptSimulation2d.hpp.
Referenced by AfterSolve(), PostSolve(), serialize(), SetupSolve(), VertexCryptSimulation2d(), and WriteBetaCatenin().
out_stream VertexCryptSimulation2d::mVizBetaCateninResultsFile [private] |
The file that the values of beta catenin is written out to.
Definition at line 72 of file VertexCryptSimulation2d.hpp.
Referenced by AfterSolve(), SetupWriteBetaCatenin(), and WriteBetaCatenin().