Chaste
Release::3.4
|
#include <AbstractOdeSrnModel.hpp>
Public Member Functions | |
AbstractOdeSrnModel (unsigned stateSize, boost::shared_ptr< AbstractCellCycleModelOdeSolver > pOdeSolver=boost::shared_ptr< AbstractCellCycleModelOdeSolver >()) | |
virtual | ~AbstractOdeSrnModel () |
virtual void | SimulateToCurrentTime () |
virtual void | ResetForDivision () |
void | SetFinishedRunningOdes (bool finishedRunningOdes) |
void | SetInitialConditions (std::vector< double > initialConditions) |
const std::vector< double > & | GetStateVariables () |
virtual void | OutputSrnModelParameters (out_stream &rParamsFile) |
Public Member Functions inherited from AbstractSrnModel | |
AbstractSrnModel () | |
virtual | ~AbstractSrnModel () |
void | SetCell (CellPtr pCell) |
virtual void | Initialise () |
virtual void | InitialiseDaughterCell () |
CellPtr | GetCell () |
void | SetSimulatedToTime (double simulatedToTime) |
double | GetSimulatedToTime () |
virtual AbstractSrnModel * | CreateSrnModel ()=0 |
void | OutputSrnModelInfo (out_stream &rParamsFile) |
Public Member Functions inherited from Identifiable | |
virtual | ~Identifiable () |
std::string | GetIdentifier () const |
Public Member Functions inherited from CellCycleModelOdeHandler | |
CellCycleModelOdeHandler (double lastTime=SimulationTime::Instance() ->GetTime(), boost::shared_ptr< AbstractCellCycleModelOdeSolver > pOdeSolver=boost::shared_ptr< AbstractCellCycleModelOdeSolver >()) | |
virtual | ~CellCycleModelOdeHandler () |
AbstractOdeSystem * | GetOdeSystem () const |
void | SetOdeSystem (AbstractOdeSystem *pOdeSystem) |
const boost::shared_ptr < AbstractCellCycleModelOdeSolver > | GetOdeSolver () const |
void | SetLastTime (double lastTime) |
double | GetDt () |
void | SetDt (double timeStep) |
void | SetStateVariables (const std::vector< double > &rStateVariables) |
Protected Member Functions | |
void | Initialise (AbstractOdeSystem *pOdeSystem) |
AbstractSrnModel * | CreateSrnModel (AbstractOdeSrnModel *pModel) |
Protected Member Functions inherited from CellCycleModelOdeHandler | |
bool | SolveOdeToTime (double currentTime) |
virtual void | AdjustOdeParameters (double currentTime) |
Protected Attributes | |
bool | mFinishedRunningOdes |
std::vector< double > | mInitialConditions |
unsigned | mStateSize |
Protected Attributes inherited from AbstractSrnModel | |
CellPtr | mpCell |
double | mSimulatedToTime |
Protected Attributes inherited from CellCycleModelOdeHandler | |
double | mDt |
AbstractOdeSystem * | mpOdeSystem |
boost::shared_ptr < AbstractCellCycleModelOdeSolver > | mpOdeSolver |
double | mLastTime |
Private Member Functions | |
template<class Archive > | |
void | serialize (Archive &archive, const unsigned int version) |
Friends | |
class | boost::serialization::access |
This class contains the abstract code for an ODE sub-cellular reaction network (SRN) model
Definition at line 55 of file AbstractOdeSrnModel.hpp.
AbstractOdeSrnModel::AbstractOdeSrnModel | ( | unsigned | stateSize, |
boost::shared_ptr< AbstractCellCycleModelOdeSolver > | pOdeSolver = boost::shared_ptr<AbstractCellCycleModelOdeSolver>() |
||
) |
Create an AbstractOdeSrnModel.
stateSize | The number of state variables in the ODE system. |
pOdeSolver | An optional pointer to a cell-cycle model ODE solver object (allows the use of different ODE solvers). |
Definition at line 41 of file AbstractOdeSrnModel.cpp.
|
virtual |
Destructor.
Definition at line 49 of file AbstractOdeSrnModel.cpp.
|
protected |
Overridden CreateSrnModel() method.
Builder method to create new instances of the SRN model. Each concrete subclass must implement this method to create an instance of that subclass.
This method is called by Cell::Divide() to create a SRN model for the daughter cell. Note that the parent SRN model will have had ResetForDivision() called just before CreateSrnModel() is called, so performing an exact copy of the parent is suitable behaviour. Any daughter-cell-specific initialisation can be done in InitialiseDaughterCell().
Note bring virtual functions from AbstractSrnModel into derived namespace so overloading virtual works.
pModel | pointer to an ODE SRN model |
Definition at line 103 of file AbstractOdeSrnModel.cpp.
References mFinishedRunningOdes, mInitialConditions, CellCycleModelOdeHandler::mpOdeSystem, AbstractSrnModel::mSimulatedToTime, mStateSize, AbstractParameterisedSystem< VECTOR >::rGetStateVariables(), SetFinishedRunningOdes(), SetInitialConditions(), CellCycleModelOdeHandler::SetLastTime(), AbstractSrnModel::SetSimulatedToTime(), and CellCycleModelOdeHandler::SetStateVariables().
const std::vector< double > & AbstractOdeSrnModel::GetStateVariables | ( | ) |
Definition at line 150 of file AbstractOdeSrnModel.cpp.
References CellCycleModelOdeHandler::mpOdeSystem, mStateSize, and AbstractParameterisedSystem< VECTOR >::rGetStateVariables().
|
protected |
Overridden Initialise() method, which here sets up the ODE system.
Note we bring virtual functions from AbstractSrnModel into derived namespace so overloading virtual works.
pOdeSystem | pointer to an ODE system |
Definition at line 85 of file AbstractOdeSrnModel.cpp.
References AbstractParameterisedSystem< VECTOR >::GetInitialConditions(), mInitialConditions, AbstractSrnModel::mpCell, CellCycleModelOdeHandler::mpOdeSystem, AbstractSrnModel::mSimulatedToTime, CellCycleModelOdeHandler::SetLastTime(), and AbstractParameterisedSystem< VECTOR >::SetStateVariables().
|
virtual |
Outputs cell cycle model parameters to file.
rParamsFile | the file stream to which the parameters are output |
Reimplemented from AbstractSrnModel.
Reimplemented in DeltaNotchSrnModel, and Goldbeter1991SrnModel.
Definition at line 157 of file AbstractOdeSrnModel.cpp.
References AbstractSrnModel::OutputSrnModelParameters().
Referenced by Goldbeter1991SrnModel::OutputSrnModelParameters(), and DeltaNotchSrnModel::OutputSrnModelParameters().
|
virtual |
For a naturally cycling model this does not need to be overridden in the subclasses. But most models should override this function and then call AbstractOdeBasedCellCycleModel::ResetForDivision() from inside their version.
Reimplemented from AbstractSrnModel.
Definition at line 132 of file AbstractOdeSrnModel.cpp.
References mFinishedRunningOdes, CellCycleModelOdeHandler::mLastTime, AbstractSrnModel::mSimulatedToTime, and AbstractSrnModel::ResetForDivision().
|
inlineprivate |
Archive the srn model and member variables.
archive | the archive |
version | the current version of this class |
Definition at line 68 of file AbstractOdeSrnModel.hpp.
References mFinishedRunningOdes, mInitialConditions, and mStateSize.
void AbstractOdeSrnModel::SetFinishedRunningOdes | ( | bool | finishedRunningOdes | ) |
Set mFinishedRunningOdes. Used in CreateSrnModel().
finishedRunningOdes | the new value of mFinishedRunningOdes |
Definition at line 139 of file AbstractOdeSrnModel.cpp.
References mFinishedRunningOdes.
Referenced by CreateSrnModel().
void AbstractOdeSrnModel::SetInitialConditions | ( | std::vector< double > | initialConditions | ) |
Set mInitialConditions. Used in CreateSrnModel().
initialConditions | the new value of mInitialConditions |
Definition at line 144 of file AbstractOdeSrnModel.cpp.
References mInitialConditions, and mStateSize.
Referenced by CreateSrnModel().
|
virtual |
Here we solve the ODEs associated with the SRN.
Implements AbstractSrnModel.
Reimplemented in Goldbeter1991SrnModel, and DeltaNotchSrnModel.
Definition at line 54 of file AbstractOdeSrnModel.cpp.
References SimulationTime::GetTime(), SimulationTime::Instance(), mFinishedRunningOdes, CellCycleModelOdeHandler::mLastTime, CellCycleModelOdeHandler::mpOdeSystem, AbstractSrnModel::SetSimulatedToTime(), and CellCycleModelOdeHandler::SolveOdeToTime().
Referenced by DeltaNotchSrnModel::SimulateToCurrentTime(), and Goldbeter1991SrnModel::SimulateToCurrentTime().
|
friend |
Needed for serialization.
Definition at line 60 of file AbstractOdeSrnModel.hpp.
|
protected |
Whether the SRN model is currently in a delay (not solving ODEs).
Definition at line 82 of file AbstractOdeSrnModel.hpp.
Referenced by CreateSrnModel(), ResetForDivision(), serialize(), SetFinishedRunningOdes(), and SimulateToCurrentTime().
|
protected |
The initial condition for the ODE state variables.
Definition at line 87 of file AbstractOdeSrnModel.hpp.
Referenced by CreateSrnModel(), Initialise(), serialize(), and SetInitialConditions().
|
protected |
The number of state variables.
Definition at line 92 of file AbstractOdeSrnModel.hpp.
Referenced by CreateSrnModel(), GetStateVariables(), serialize(), and SetInitialConditions().