#include <OnLatticeSimulation.hpp>
Inherits AbstractCellBasedSimulation< DIM >.
Public Member Functions | |
OnLatticeSimulation (AbstractCellPopulation< DIM > &rCellPopulation, bool deleteCellPopulationInDestructor=false, bool initialiseCells=true) | |
void | AddCaUpdateRule (boost::shared_ptr< AbstractCaUpdateRule< DIM > > pUpdateRule) |
void | AddPottsUpdateRule (boost::shared_ptr< AbstractPottsUpdateRule< DIM > > pUpdateRule) |
bool | GetOutputCellVelocities () |
void | SetOutputCellVelocities (bool outputCellVelocities) |
virtual void | SetupSolve () |
virtual void | AfterSolve () |
void | OutputAdditionalSimulationSetup (out_stream &rParamsFile) |
void | OutputSimulationParameters (out_stream &rParamsFile) |
Protected Member Functions | |
void | UpdateCellPopulation () |
void | UpdateCellLocationsAndTopology () |
virtual c_vector< double, DIM > | CalculateCellDivisionVector (CellPtr pParentCell) |
virtual void | WriteVisualizerSetupFile () |
Protected Attributes | |
bool | mOutputCellVelocities |
out_stream | mpCellVelocitiesFile |
Private Member Functions | |
template<class Archive > | |
void | serialize (Archive &archive, const unsigned int version) |
Friends | |
class | boost::serialization::access |
Run an on-lattice 2D or 3D cell-based simulation.
The OnLatticeSimulation is constructed with a CellPopulation, which updates the correspondence between each Cell and its spatial representation and handles cell division (governed by the CellCycleModel associated with each cell). Once constructed, one or more Update rules may be passed to the OnLatticeSimulation object, to define the processes which update cells in the CellPopulation. Similarly, one or more CellKillers may be passed to the OnLatticeSimulation object to specify conditions in which Cells may die.
Definition at line 52 of file OnLatticeSimulation.hpp.
OnLatticeSimulation< DIM >::OnLatticeSimulation | ( | AbstractCellPopulation< DIM > & | rCellPopulation, | |
bool | deleteCellPopulationInDestructor = false , |
|||
bool | initialiseCells = true | |||
) | [inline] |
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 38 of file OnLatticeSimulation.cpp.
References EXCEPTION, and AbstractCellBasedSimulation< DIM >::mDt.
void OnLatticeSimulation< DIM >::AddCaUpdateRule | ( | boost::shared_ptr< AbstractCaUpdateRule< DIM > > | pUpdateRule | ) | [inline] |
Add an update rule to be used in this simulation.
pUpdateRule | shared pointer to a CA update rule law |
Definition at line 55 of file OnLatticeSimulation.cpp.
References AbstractCellBasedSimulation< DIM >::mrCellPopulation.
void OnLatticeSimulation< DIM >::AddPottsUpdateRule | ( | boost::shared_ptr< AbstractPottsUpdateRule< DIM > > | pUpdateRule | ) | [inline] |
Add an update rule to be used in this simulation (use this to set the Hamiltonian).
pUpdateRule | shared pointer to a Potts update rule law |
Definition at line 64 of file OnLatticeSimulation.cpp.
References AbstractCellBasedSimulation< DIM >::mrCellPopulation.
void OnLatticeSimulation< DIM >::AfterSolve | ( | ) | [inline, virtual] |
Overridden AfterSolve() method to close the cell velocities file.
Reimplemented from AbstractCellBasedSimulation< DIM >.
Definition at line 161 of file OnLatticeSimulation.cpp.
References OnLatticeSimulation< DIM >::mOutputCellVelocities, and OnLatticeSimulation< DIM >::mpCellVelocitiesFile.
c_vector< double, DIM > OnLatticeSimulation< DIM >::CalculateCellDivisionVector | ( | CellPtr | pParentCell | ) | [inline, protected, virtual] |
Overridden CalculateCellDivisionVector() method for determining how cell division occurs. This method returns a vector which is then passed into the CellPopulation method AddCell(). This method may be overridden by subclasses.
pParentCell | the parent cell |
Implements AbstractCellBasedSimulation< DIM >.
Definition at line 73 of file OnLatticeSimulation.cpp.
bool OnLatticeSimulation< DIM >::GetOutputCellVelocities | ( | ) | [inline] |
Overridden OutputAdditionalSimulationSetup() method. Outputs the update rule information.
Definition at line 173 of file OnLatticeSimulation.cpp.
References OnLatticeSimulation< DIM >::mOutputCellVelocities.
void OnLatticeSimulation< DIM >::OutputAdditionalSimulationSetup | ( | out_stream & | rParamsFile | ) | [inline, virtual] |
Overridden OutputAdditionalSimulationSetup() method to output the force and cell population boundary condition information.
rParamsFile | the file stream to which the parameters are output |
Reimplemented from AbstractCellBasedSimulation< DIM >.
Definition at line 213 of file OnLatticeSimulation.cpp.
References AbstractCellBasedSimulation< DIM >::mrCellPopulation.
void OnLatticeSimulation< DIM >::OutputSimulationParameters | ( | out_stream & | rParamsFile | ) | [inline, virtual] |
Overridden OutputSimulationParameters() method.
rParamsFile | the file stream to which the parameters are output |
Implements AbstractCellBasedSimulation< DIM >.
Definition at line 245 of file OnLatticeSimulation.cpp.
References OnLatticeSimulation< DIM >::mOutputCellVelocities.
void OnLatticeSimulation< DIM >::serialize | ( | Archive & | archive, | |
const unsigned int | version | |||
) | [inline, private] |
Serialize the object and any member variables.
archive | the archive | |
version | the current version of this class |
Reimplemented from AbstractCellBasedSimulation< DIM >.
Definition at line 65 of file OnLatticeSimulation.hpp.
References OnLatticeSimulation< DIM >::mOutputCellVelocities.
void OnLatticeSimulation< DIM >::SetOutputCellVelocities | ( | bool | outputCellVelocities | ) | [inline] |
Set mOutputCellVelocities.
outputCellVelocities | the new value of mOutputCellVelocities |
Definition at line 179 of file OnLatticeSimulation.cpp.
References OnLatticeSimulation< DIM >::mOutputCellVelocities.
void OnLatticeSimulation< DIM >::SetupSolve | ( | ) | [inline, virtual] |
Overridden SetupSolve() method to setup the cell velocities file.
Reimplemented from AbstractCellBasedSimulation< DIM >.
Definition at line 148 of file OnLatticeSimulation.cpp.
References OnLatticeSimulation< DIM >::mOutputCellVelocities, OnLatticeSimulation< DIM >::mpCellVelocitiesFile, AbstractCellBasedSimulation< DIM >::mSimulationOutputDirectory, and OutputFileHandler::OpenOutputFile().
void OnLatticeSimulation< DIM >::UpdateCellLocationsAndTopology | ( | ) | [inline, protected, virtual] |
Overridden UpdateCellLocationsAndTopology() method.
If using a PottsBasedCellPopulation, this method performs Monte Carlo sampling.
Implements AbstractCellBasedSimulation< DIM >.
Definition at line 89 of file OnLatticeSimulation.cpp.
References GenericEventHandler< 10, CellBasedEventHandler >::BeginEvent(), GenericEventHandler< 10, CellBasedEventHandler >::EndEvent(), SimulationTime::GetTime(), SimulationTime::GetTimeStepsElapsed(), SimulationTime::Instance(), AbstractCellBasedSimulation< DIM >::mDt, OnLatticeSimulation< DIM >::mOutputCellVelocities, OnLatticeSimulation< DIM >::mpCellVelocitiesFile, AbstractCellBasedSimulation< DIM >::mrCellPopulation, and AbstractCellBasedSimulation< DIM >::mSamplingTimestepMultiple.
void OnLatticeSimulation< DIM >::UpdateCellPopulation | ( | ) | [inline, protected, virtual] |
Overridden UpdateCellPopulation() method.
If using a CaBasedCellPopulation, this method does nothing if at the start of a simulation that has just been loaded, to ensure consistency in random number generation.
Reimplemented from AbstractCellBasedSimulation< DIM >.
Definition at line 186 of file OnLatticeSimulation.cpp.
References SimulationTime::Instance(), AbstractCellBasedSimulation< DIM >::mInitialiseCells, and AbstractCellBasedSimulation< DIM >::mrCellPopulation.
void OnLatticeSimulation< DIM >::WriteVisualizerSetupFile | ( | ) | [inline, protected, virtual] |
Overridden WriteVisualizerSetupFile() method.
Reimplemented from AbstractCellBasedSimulation< DIM >.
Definition at line 80 of file OnLatticeSimulation.cpp.
References AbstractCellBasedSimulation< DIM >::mpVizSetupFile, and AbstractCellBasedSimulation< DIM >::mrCellPopulation.
friend class boost::serialization::access [friend] |
Needed for serialization.
Reimplemented from AbstractCellBasedSimulation< DIM >.
Definition at line 57 of file OnLatticeSimulation.hpp.
bool OnLatticeSimulation< DIM >::mOutputCellVelocities [protected] |
Whether to write the cell velocities to a file. Initialised to false in constuctor.
Definition at line 77 of file OnLatticeSimulation.hpp.
Referenced by OnLatticeSimulation< DIM >::AfterSolve(), OnLatticeSimulation< DIM >::GetOutputCellVelocities(), OnLatticeSimulation< DIM >::OutputSimulationParameters(), OnLatticeSimulation< DIM >::serialize(), OnLatticeSimulation< DIM >::SetOutputCellVelocities(), OnLatticeSimulation< DIM >::SetupSolve(), and OnLatticeSimulation< DIM >::UpdateCellLocationsAndTopology().
out_stream OnLatticeSimulation< DIM >::mpCellVelocitiesFile [protected] |
Results file cell velocities.
Definition at line 80 of file OnLatticeSimulation.hpp.
Referenced by OnLatticeSimulation< DIM >::AfterSolve(), OnLatticeSimulation< DIM >::SetupSolve(), and OnLatticeSimulation< DIM >::UpdateCellLocationsAndTopology().