Chaste Commit::baa90ac2819b962188b7562f2326be23c47859a7
|
#include <CellCycleModelOdeHandler.hpp>
Public Member Functions | |
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) |
std::vector< double > | GetProteinConcentrations () const |
void | SetProteinConcentrationsForTestsOnly (double lastTime, std::vector< double > proteinConcentrations) |
Protected Member Functions | |
CellCycleModelOdeHandler (const CellCycleModelOdeHandler &rHandler) | |
bool | SolveOdeToTime (double currentTime) |
virtual void | AdjustOdeParameters (double currentTime) |
Protected Attributes | |
double | mDt |
AbstractOdeSystem * | mpOdeSystem |
boost::shared_ptr< AbstractCellCycleModelOdeSolver > | mpOdeSolver |
double | mLastTime |
bool | mFinishedRunningOdes |
Private Member Functions | |
template<class Archive > | |
void | serialize (Archive &archive, const unsigned int version) |
CellCycleModelOdeHandler & | operator= (const AbstractCellCycleModelOdeSolver &) |
Friends | |
class | boost::serialization::access |
This class contains the functionality for running ODEs as part of a cell cycle or SRN model. It is designed to be used as an additional base class for models which require this functionality.
Definition at line 52 of file CellCycleModelOdeHandler.hpp.
|
protected |
Protected copy-constructor for use by CreateCellCycleModel and CreateSrnModel.
rHandler | ODE handler to copy. |
Definition at line 56 of file CellCycleModelOdeHandler.cpp.
CellCycleModelOdeHandler::CellCycleModelOdeHandler | ( | double | lastTime = SimulationTime::Instance()->GetTime() , |
boost::shared_ptr< AbstractCellCycleModelOdeSolver > | pOdeSolver = boost::shared_ptr<AbstractCellCycleModelOdeSolver>() |
||
) |
Constructor.
lastTime | The birth time of the cell / last time model was evaluated (defaults to the current SimulationTime) |
pOdeSolver | An optional pointer to a cell-cycle model ODE solver object (allows the use of different ODE solvers) |
Definition at line 38 of file CellCycleModelOdeHandler.cpp.
|
virtual |
|
protectedvirtual |
Adjust any ODE parameters needed before solving until currentTime. Defaults to do nothing.
currentTime | the time up to which the system will be solved. |
Reimplemented in Alarcon2004OxygenBasedCellCycleModel, AbstractVanLeeuwen2009WntSwatCellCycleModel, SingleOdeWntCellCycleModel, and WntCellCycleModel.
Definition at line 123 of file CellCycleModelOdeHandler.cpp.
Referenced by SolveOdeToTime().
double CellCycleModelOdeHandler::GetDt | ( | ) |
Definition at line 85 of file CellCycleModelOdeHandler.cpp.
References DOUBLE_UNSET, SimulationTime::GetTimeStep(), SimulationTime::Instance(), mDt, and mpOdeSolver.
Referenced by SolveOdeToTime().
const boost::shared_ptr< AbstractCellCycleModelOdeSolver > CellCycleModelOdeHandler::GetOdeSolver | ( | ) | const |
Definition at line 75 of file CellCycleModelOdeHandler.cpp.
References mpOdeSolver.
AbstractOdeSystem * CellCycleModelOdeHandler::GetOdeSystem | ( | ) | const |
Definition at line 70 of file CellCycleModelOdeHandler.cpp.
References mpOdeSystem.
Referenced by Alarcon2004OxygenBasedCellCycleModel::Alarcon2004OxygenBasedCellCycleModel(), DeltaNotchEdgeSrnModel::DeltaNotchEdgeSrnModel(), DeltaNotchInteriorSrnModel::DeltaNotchInteriorSrnModel(), DeltaNotchSrnModel::DeltaNotchSrnModel(), Goldbeter1991SrnModel::Goldbeter1991SrnModel(), SingleOdeWntCellCycleModel::SingleOdeWntCellCycleModel(), TysonNovakCellCycleModel::TysonNovakCellCycleModel(), VanLeeuwen2009WntSwatCellCycleModelHypothesisOne::VanLeeuwen2009WntSwatCellCycleModelHypothesisOne(), VanLeeuwen2009WntSwatCellCycleModelHypothesisTwo::VanLeeuwen2009WntSwatCellCycleModelHypothesisTwo(), and WntCellCycleModel::WntCellCycleModel().
std::vector< double > CellCycleModelOdeHandler::GetProteinConcentrations | ( | ) | const |
NB: Will copy the vector - you can't use this to modify the concentrations.
Definition at line 138 of file CellCycleModelOdeHandler.cpp.
References mpOdeSystem, and AbstractParameterisedSystem< VECTOR >::rGetStateVariables().
Referenced by CellCycleModelProteinConcentrationsWriter< ELEMENT_DIM, SPACE_DIM >::VisitCell().
|
private |
Prevent copy-assignment of this class, or its subclasses. Note that we do not define this method, therefore statements like "CellCycleModelOdeHandler new = old;" will not compile. We do not inherit from boost::noncopyable because we *do* define a protected copy-constructor, for use by CreateCellCycleModel and CreateSrnModel.
|
inlineprivate |
Archive the object and its member variables.
archive | the archive |
version | the current version of this class |
Definition at line 65 of file CellCycleModelOdeHandler.hpp.
References mDt, mFinishedRunningOdes, mLastTime, mpOdeSolver, and mpOdeSystem.
void CellCycleModelOdeHandler::SetDt | ( | double | timeStep | ) |
Set the time step to use to solve the ODE system. For some adaptive solvers (e.g. CVODE) this is the maximum step to use.
timeStep | time step to use |
Definition at line 80 of file CellCycleModelOdeHandler.cpp.
References mDt.
Referenced by Alarcon2004OxygenBasedCellCycleModel::Alarcon2004OxygenBasedCellCycleModel(), DeltaNotchEdgeSrnModel::DeltaNotchEdgeSrnModel(), DeltaNotchInteriorSrnModel::DeltaNotchInteriorSrnModel(), DeltaNotchSrnModel::DeltaNotchSrnModel(), Goldbeter1991SrnModel::Goldbeter1991SrnModel(), SingleOdeWntCellCycleModel::SingleOdeWntCellCycleModel(), TysonNovakCellCycleModel::TysonNovakCellCycleModel(), VanLeeuwen2009WntSwatCellCycleModelHypothesisOne::VanLeeuwen2009WntSwatCellCycleModelHypothesisOne(), and VanLeeuwen2009WntSwatCellCycleModelHypothesisTwo::VanLeeuwen2009WntSwatCellCycleModelHypothesisTwo().
void CellCycleModelOdeHandler::SetLastTime | ( | double | lastTime | ) |
Set mLastTime.
lastTime | the new value of mLastTime |
Definition at line 127 of file CellCycleModelOdeHandler.cpp.
References mLastTime.
Referenced by SingleOdeWntCellCycleModel::Initialise(), and AbstractOdeSrnModel::Initialise().
void CellCycleModelOdeHandler::SetOdeSystem | ( | AbstractOdeSystem * | pOdeSystem | ) |
Set mpOdeSystem. Used in CreateCellCycleModel().
pOdeSystem | the ODE system |
Definition at line 65 of file CellCycleModelOdeHandler.cpp.
References mpOdeSystem.
Referenced by Alarcon2004OxygenBasedCellCycleModel::Alarcon2004OxygenBasedCellCycleModel(), DeltaNotchEdgeSrnModel::DeltaNotchEdgeSrnModel(), DeltaNotchInteriorSrnModel::DeltaNotchInteriorSrnModel(), DeltaNotchSrnModel::DeltaNotchSrnModel(), Goldbeter1991SrnModel::Goldbeter1991SrnModel(), SingleOdeWntCellCycleModel::SingleOdeWntCellCycleModel(), TysonNovakCellCycleModel::TysonNovakCellCycleModel(), and WntCellCycleModel::WntCellCycleModel().
void CellCycleModelOdeHandler::SetProteinConcentrationsForTestsOnly | ( | double | lastTime, |
std::vector< double > | proteinConcentrations | ||
) |
Sets the protein concentrations and time when the model was last evaluated - should only be called by tests
lastTime | the SimulationTime at which the protein concentrations apply |
proteinConcentrations | a standard vector of doubles of protein concentrations |
Definition at line 144 of file CellCycleModelOdeHandler.cpp.
References mLastTime, mpOdeSystem, AbstractParameterisedSystem< VECTOR >::rGetStateVariables(), and AbstractParameterisedSystem< VECTOR >::SetStateVariables().
void CellCycleModelOdeHandler::SetStateVariables | ( | const std::vector< double > & | rStateVariables | ) |
Set the values of the state variables in the cell-cycle model's ODE system.
rStateVariables | vector containing values for the state variables |
Definition at line 132 of file CellCycleModelOdeHandler.cpp.
References mpOdeSystem, and AbstractParameterisedSystem< VECTOR >::SetStateVariables().
Referenced by Alarcon2004OxygenBasedCellCycleModel::Alarcon2004OxygenBasedCellCycleModel(), SingleOdeWntCellCycleModel::SingleOdeWntCellCycleModel(), TysonNovakCellCycleModel::TysonNovakCellCycleModel(), VanLeeuwen2009WntSwatCellCycleModelHypothesisOne::VanLeeuwen2009WntSwatCellCycleModelHypothesisOne(), VanLeeuwen2009WntSwatCellCycleModelHypothesisTwo::VanLeeuwen2009WntSwatCellCycleModelHypothesisTwo(), and WntCellCycleModel::WntCellCycleModel().
Solves the ODE system to a given time.
currentTime | the current time |
Definition at line 101 of file CellCycleModelOdeHandler.cpp.
References AdjustOdeParameters(), GetDt(), mLastTime, mpOdeSolver, and mpOdeSystem.
Referenced by AbstractOdeBasedCellCycleModel::ReadyToDivide(), AbstractOdeSrnModel::SimulateToCurrentTime(), AbstractOdeBasedPhaseBasedCellCycleModel::UpdateCellCyclePhase(), and SingleOdeWntCellCycleModel::UpdateCellCyclePhase().
|
friend |
Needed for serialization.
Definition at line 57 of file CellCycleModelOdeHandler.hpp.
|
protected |
Timestep to use when solving the ODE system. For some adaptive solvers (e.g. CVODE) this is the maximum step to use.
Definition at line 97 of file CellCycleModelOdeHandler.hpp.
Referenced by GetDt(), serialize(), and SetDt().
|
protected |
Whether the model is currently in a delay (not solving ODEs).
Definition at line 111 of file CellCycleModelOdeHandler.hpp.
Referenced by AbstractOdeBasedPhaseBasedCellCycleModel::ResetForDivision(), AbstractOdeSrnModel::ResetForDivision(), serialize(), AbstractOdeSrnModel::SimulateToCurrentTime(), and AbstractOdeBasedPhaseBasedCellCycleModel::UpdateCellCyclePhase().
|
protected |
The last time the ODE system was evaluated.
Definition at line 106 of file CellCycleModelOdeHandler.hpp.
Referenced by AbstractOdeBasedCellCycleModel::ReadyToDivide(), AbstractOdeBasedCellCycleModel::ResetForDivision(), AbstractOdeBasedPhaseBasedCellCycleModel::ResetForDivision(), AbstractOdeSrnModel::ResetForDivision(), serialize(), AbstractOdeBasedCellCycleModel::SetBirthTime(), AbstractOdeBasedPhaseBasedCellCycleModel::SetBirthTime(), SetLastTime(), SetProteinConcentrationsForTestsOnly(), AbstractOdeSrnModel::SimulateToCurrentTime(), SolveOdeToTime(), AbstractOdeBasedPhaseBasedCellCycleModel::UpdateCellCyclePhase(), and AbstractWntOdeBasedCellCycleModel::UpdateCellCyclePhase().
|
protected |
A shared pointer to an ODE solver object.
Definition at line 103 of file CellCycleModelOdeHandler.hpp.
Referenced by Alarcon2004OxygenBasedCellCycleModel::Alarcon2004OxygenBasedCellCycleModel(), DeltaNotchEdgeSrnModel::DeltaNotchEdgeSrnModel(), DeltaNotchInteriorSrnModel::DeltaNotchInteriorSrnModel(), DeltaNotchSrnModel::DeltaNotchSrnModel(), Goldbeter1991SrnModel::Goldbeter1991SrnModel(), SingleOdeWntCellCycleModel::SingleOdeWntCellCycleModel(), StochasticWntCellCycleModel::StochasticWntCellCycleModel(), TysonNovakCellCycleModel::TysonNovakCellCycleModel(), VanLeeuwen2009WntSwatCellCycleModelHypothesisOne::VanLeeuwen2009WntSwatCellCycleModelHypothesisOne(), VanLeeuwen2009WntSwatCellCycleModelHypothesisTwo::VanLeeuwen2009WntSwatCellCycleModelHypothesisTwo(), WntCellCycleModel::WntCellCycleModel(), GetDt(), GetOdeSolver(), AbstractOdeBasedCellCycleModel::GetOdeStopTime(), AbstractOdeBasedPhaseBasedCellCycleModel::GetOdeStopTime(), serialize(), and SolveOdeToTime().
|
protected |
A system of ODEs.
Definition at line 100 of file CellCycleModelOdeHandler.hpp.
Referenced by DeltaNotchEdgeSrnModel::DeltaNotchEdgeSrnModel(), DeltaNotchInteriorSrnModel::DeltaNotchInteriorSrnModel(), ~CellCycleModelOdeHandler(), Alarcon2004OxygenBasedCellCycleModel::AdjustOdeParameters(), AbstractVanLeeuwen2009WntSwatCellCycleModel::AdjustOdeParameters(), SingleOdeWntCellCycleModel::AdjustOdeParameters(), WntCellCycleModel::AdjustOdeParameters(), AbstractVanLeeuwen2009WntSwatCellCycleModel::ChangeCellProliferativeTypeDueToCurrentBetaCateninLevel(), SingleOdeWntCellCycleModel::ChangeCellProliferativeTypeDueToCurrentBetaCateninLevel(), WntCellCycleModel::ChangeCellProliferativeTypeDueToCurrentBetaCateninLevel(), SingleOdeWntCellCycleModel::GetBetaCateninConcentration(), Goldbeter1991SrnModel::GetC(), AbstractVanLeeuwen2009WntSwatCellCycleModel::GetCytoplasmicBetaCateninLevel(), DeltaNotchEdgeSrnModel::GetDelta(), DeltaNotchInteriorSrnModel::GetDelta(), DeltaNotchSrnModel::GetDelta(), DeltaNotchEdgeSrnModel::GetInteriorDelta(), DeltaNotchEdgeSrnModel::GetInteriorNotch(), Goldbeter1991SrnModel::GetM(), DeltaNotchSrnModel::GetMeanNeighbouringDelta(), AbstractVanLeeuwen2009WntSwatCellCycleModel::GetMembraneBoundBetaCateninLevel(), DeltaNotchEdgeSrnModel::GetNeighbouringDelta(), DeltaNotchEdgeSrnModel::GetNotch(), DeltaNotchInteriorSrnModel::GetNotch(), DeltaNotchSrnModel::GetNotch(), AbstractVanLeeuwen2009WntSwatCellCycleModel::GetNuclearBetaCateninLevel(), GetOdeSystem(), GetProteinConcentrations(), DeltaNotchInteriorSrnModel::GetTotalEdgeDelta(), DeltaNotchInteriorSrnModel::GetTotalEdgeNotch(), Goldbeter1991SrnModel::GetX(), Alarcon2004OxygenBasedCellCycleModel::Initialise(), TysonNovakCellCycleModel::Initialise(), AbstractVanLeeuwen2009WntSwatCellCycleModel::Initialise(), SingleOdeWntCellCycleModel::Initialise(), WntCellCycleModel::Initialise(), AbstractOdeSrnModel::Initialise(), DeltaNotchEdgeSrnModel::InitialiseDaughterCell(), VanLeeuwen2009WntSwatCellCycleModelHypothesisOne::InitialiseOdeSystem(), VanLeeuwen2009WntSwatCellCycleModelHypothesisTwo::InitialiseOdeSystem(), AbstractOdeBasedCellCycleModel::ReadyToDivide(), Alarcon2004OxygenBasedCellCycleModel::ResetForDivision(), TysonNovakCellCycleModel::ResetForDivision(), DeltaNotchInteriorSrnModel::ResetForDivision(), AbstractWntOdeBasedCellCycleModel::ResetForDivision(), AbstractOdeSrnModel::ScaleSrnVariables(), serialize(), DeltaNotchEdgeSrnModel::SetDelta(), DeltaNotchInteriorSrnModel::SetDelta(), DeltaNotchEdgeSrnModel::SetNotch(), DeltaNotchInteriorSrnModel::SetNotch(), SetOdeSystem(), SetProteinConcentrationsForTestsOnly(), SetStateVariables(), AbstractOdeSrnModel::SimulateToCurrentTime(), SolveOdeToTime(), AbstractOdeBasedPhaseBasedCellCycleModel::UpdateCellCyclePhase(), AbstractWntOdeBasedCellCycleModel::UpdateCellProliferativeType(), DeltaNotchEdgeSrnModel::UpdateDeltaNotch(), DeltaNotchInteriorSrnModel::UpdateDeltaNotch(), and DeltaNotchSrnModel::UpdateDeltaNotch().