#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) |
Protected Member Functions | |
bool | SolveOdeToTime (double currentTime) |
virtual void | AdjustOdeParameters (double currentTime) |
Protected Attributes | |
AbstractOdeSystem * | mpOdeSystem |
boost::shared_ptr < AbstractCellCycleModelOdeSolver > | mpOdeSolver |
double | mLastTime |
Private Member Functions | |
template<class Archive> | |
void | serialize (Archive &archive, const unsigned int version) |
Private Attributes | |
double | mDt |
Friends | |
class | boost::serialization::access |
Definition at line 43 of file CellCycleModelOdeHandler.hpp.
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 31 of file CellCycleModelOdeHandler.cpp.
CellCycleModelOdeHandler::~CellCycleModelOdeHandler | ( | ) | [virtual] |
void CellCycleModelOdeHandler::serialize | ( | Archive & | archive, | |
const unsigned int | version | |||
) | [inline, private] |
Archive the object and its member variables.
archive | the archive | |
version | the current version of this class |
Reimplemented in AbstractOdeBasedCellCycleModel, Alarcon2004OxygenBasedCellCycleModel, TysonNovakCellCycleModel, AbstractVanLeeuwen2009WntSwatCellCycleModel, AbstractWntOdeBasedCellCycleModel, SingleOdeWntCellCycleModel, StochasticWntCellCycleModel, VanLeeuwen2009WntSwatCellCycleModelHypothesisOne, VanLeeuwen2009WntSwatCellCycleModelHypothesisTwo, and WntCellCycleModel.
Definition at line 62 of file CellCycleModelOdeHandler.hpp.
References mDt, mLastTime, mpOdeSolver, and mpOdeSystem.
bool CellCycleModelOdeHandler::SolveOdeToTime | ( | double | currentTime | ) | [protected] |
Solves the ODE system to a given time.
currentTime | the current time |
Definition at line 84 of file CellCycleModelOdeHandler.cpp.
References AdjustOdeParameters(), GetDt(), mLastTime, mpOdeSolver, and mpOdeSystem.
Referenced by SingleOdeWntCellCycleModel::UpdateCellCyclePhase(), and AbstractOdeBasedCellCycleModel::UpdateCellCyclePhase().
void CellCycleModelOdeHandler::AdjustOdeParameters | ( | double | currentTime | ) | [protected, virtual] |
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 106 of file CellCycleModelOdeHandler.cpp.
Referenced by SolveOdeToTime().
AbstractOdeSystem * CellCycleModelOdeHandler::GetOdeSystem | ( | ) | const |
Get mpOdeSystem.
Definition at line 53 of file CellCycleModelOdeHandler.cpp.
References mpOdeSystem.
void CellCycleModelOdeHandler::SetOdeSystem | ( | AbstractOdeSystem * | pOdeSystem | ) |
Set mpOdeSystem. Used in CreateCellCycleModel().
pOdeSystem | the ODE system |
Definition at line 48 of file CellCycleModelOdeHandler.cpp.
References mpOdeSystem.
Referenced by WntCellCycleModel::CreateCellCycleModel(), StochasticWntCellCycleModel::CreateCellCycleModel(), SingleOdeWntCellCycleModel::CreateCellCycleModel(), TysonNovakCellCycleModel::CreateCellCycleModel(), and Alarcon2004OxygenBasedCellCycleModel::CreateCellCycleModel().
const boost::shared_ptr< AbstractCellCycleModelOdeSolver > CellCycleModelOdeHandler::GetOdeSolver | ( | ) | const |
Definition at line 58 of file CellCycleModelOdeHandler.cpp.
References mpOdeSolver.
void CellCycleModelOdeHandler::SetLastTime | ( | double | lastTime | ) |
Set mLastTime.
lastTime | the new value of mLastTime |
Definition at line 110 of file CellCycleModelOdeHandler.cpp.
References mLastTime.
Referenced by WntCellCycleModel::CreateCellCycleModel(), VanLeeuwen2009WntSwatCellCycleModelHypothesisTwo::CreateCellCycleModel(), VanLeeuwen2009WntSwatCellCycleModelHypothesisOne::CreateCellCycleModel(), StochasticWntCellCycleModel::CreateCellCycleModel(), SingleOdeWntCellCycleModel::CreateCellCycleModel(), TysonNovakCellCycleModel::CreateCellCycleModel(), Alarcon2004OxygenBasedCellCycleModel::CreateCellCycleModel(), and SingleOdeWntCellCycleModel::Initialise().
double CellCycleModelOdeHandler::GetDt | ( | ) |
Get method for mDt, which sets it to a default value if it hasn't been set by calling SetDt.
Definition at line 68 of file CellCycleModelOdeHandler.cpp.
References DOUBLE_UNSET, SimulationTime::GetTimeStep(), SimulationTime::Instance(), mDt, and mpOdeSolver.
Referenced by SolveOdeToTime().
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 63 of file CellCycleModelOdeHandler.cpp.
References mDt.
Referenced by Alarcon2004OxygenBasedCellCycleModel::AdjustOdeParameters(), SingleOdeWntCellCycleModel::SingleOdeWntCellCycleModel(), TysonNovakCellCycleModel::TysonNovakCellCycleModel(), VanLeeuwen2009WntSwatCellCycleModelHypothesisOne::VanLeeuwen2009WntSwatCellCycleModelHypothesisOne(), and VanLeeuwen2009WntSwatCellCycleModelHypothesisTwo::VanLeeuwen2009WntSwatCellCycleModelHypothesisTwo().
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 115 of file CellCycleModelOdeHandler.cpp.
References mpOdeSystem, and AbstractOdeSystem::SetStateVariables().
Referenced by WntCellCycleModel::CreateCellCycleModel(), VanLeeuwen2009WntSwatCellCycleModelHypothesisTwo::CreateCellCycleModel(), VanLeeuwen2009WntSwatCellCycleModelHypothesisOne::CreateCellCycleModel(), StochasticWntCellCycleModel::CreateCellCycleModel(), SingleOdeWntCellCycleModel::CreateCellCycleModel(), TysonNovakCellCycleModel::CreateCellCycleModel(), and Alarcon2004OxygenBasedCellCycleModel::CreateCellCycleModel().
friend class boost::serialization::access [friend] |
Needed for serialization.
Reimplemented in AbstractOdeBasedCellCycleModel, Alarcon2004OxygenBasedCellCycleModel, TysonNovakCellCycleModel, AbstractVanLeeuwen2009WntSwatCellCycleModel, AbstractWntOdeBasedCellCycleModel, SingleOdeWntCellCycleModel, StochasticWntCellCycleModel, VanLeeuwen2009WntSwatCellCycleModelHypothesisOne, VanLeeuwen2009WntSwatCellCycleModelHypothesisTwo, and WntCellCycleModel.
Definition at line 54 of file CellCycleModelOdeHandler.hpp.
double CellCycleModelOdeHandler::mDt [private] |
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 51 of file CellCycleModelOdeHandler.hpp.
Referenced by GetDt(), serialize(), and SetDt().
AbstractOdeSystem* CellCycleModelOdeHandler::mpOdeSystem [protected] |
A system of ODEs.
Definition at line 73 of file CellCycleModelOdeHandler.hpp.
Referenced by WntCellCycleModel::AdjustOdeParameters(), SingleOdeWntCellCycleModel::AdjustOdeParameters(), AbstractVanLeeuwen2009WntSwatCellCycleModel::AdjustOdeParameters(), Alarcon2004OxygenBasedCellCycleModel::AdjustOdeParameters(), WntCellCycleModel::ChangeCellProliferativeTypeDueToCurrentBetaCateninLevel(), SingleOdeWntCellCycleModel::ChangeCellProliferativeTypeDueToCurrentBetaCateninLevel(), AbstractVanLeeuwen2009WntSwatCellCycleModel::ChangeCellProliferativeTypeDueToCurrentBetaCateninLevel(), WntCellCycleModel::CreateCellCycleModel(), VanLeeuwen2009WntSwatCellCycleModelHypothesisTwo::CreateCellCycleModel(), VanLeeuwen2009WntSwatCellCycleModelHypothesisOne::CreateCellCycleModel(), StochasticWntCellCycleModel::CreateCellCycleModel(), SingleOdeWntCellCycleModel::CreateCellCycleModel(), TysonNovakCellCycleModel::CreateCellCycleModel(), Alarcon2004OxygenBasedCellCycleModel::CreateCellCycleModel(), SingleOdeWntCellCycleModel::GetBetaCateninConcentration(), AbstractVanLeeuwen2009WntSwatCellCycleModel::GetCytoplasmicBetaCateninLevel(), AbstractVanLeeuwen2009WntSwatCellCycleModel::GetMembraneBoundBetaCateninLevel(), AbstractVanLeeuwen2009WntSwatCellCycleModel::GetNuclearBetaCateninLevel(), GetOdeSystem(), AbstractOdeBasedCellCycleModel::GetProteinConcentrations(), WntCellCycleModel::Initialise(), SingleOdeWntCellCycleModel::Initialise(), AbstractVanLeeuwen2009WntSwatCellCycleModel::Initialise(), TysonNovakCellCycleModel::Initialise(), Alarcon2004OxygenBasedCellCycleModel::Initialise(), VanLeeuwen2009WntSwatCellCycleModelHypothesisTwo::InitialiseOdeSystem(), VanLeeuwen2009WntSwatCellCycleModelHypothesisOne::InitialiseOdeSystem(), AbstractWntOdeBasedCellCycleModel::ResetForDivision(), TysonNovakCellCycleModel::ResetForDivision(), Alarcon2004OxygenBasedCellCycleModel::ResetForDivision(), serialize(), SetOdeSystem(), AbstractOdeBasedCellCycleModel::SetProteinConcentrationsForTestsOnly(), SetStateVariables(), SolveOdeToTime(), AbstractOdeBasedCellCycleModel::UpdateCellCyclePhase(), AbstractWntOdeBasedCellCycleModel::UpdateCellProliferativeType(), and ~CellCycleModelOdeHandler().
boost::shared_ptr<AbstractCellCycleModelOdeSolver> CellCycleModelOdeHandler::mpOdeSolver [protected] |
A shared pointer to an ODE solver object.
Definition at line 76 of file CellCycleModelOdeHandler.hpp.
Referenced by Alarcon2004OxygenBasedCellCycleModel::Alarcon2004OxygenBasedCellCycleModel(), WntCellCycleModel::CreateCellCycleModel(), VanLeeuwen2009WntSwatCellCycleModelHypothesisTwo::CreateCellCycleModel(), VanLeeuwen2009WntSwatCellCycleModelHypothesisOne::CreateCellCycleModel(), StochasticWntCellCycleModel::CreateCellCycleModel(), SingleOdeWntCellCycleModel::CreateCellCycleModel(), TysonNovakCellCycleModel::CreateCellCycleModel(), Alarcon2004OxygenBasedCellCycleModel::CreateCellCycleModel(), GetDt(), GetOdeSolver(), AbstractOdeBasedCellCycleModel::GetOdeStopTime(), serialize(), SingleOdeWntCellCycleModel::SingleOdeWntCellCycleModel(), SolveOdeToTime(), StochasticWntCellCycleModel::StochasticWntCellCycleModel(), TysonNovakCellCycleModel::TysonNovakCellCycleModel(), VanLeeuwen2009WntSwatCellCycleModelHypothesisOne::VanLeeuwen2009WntSwatCellCycleModelHypothesisOne(), VanLeeuwen2009WntSwatCellCycleModelHypothesisTwo::VanLeeuwen2009WntSwatCellCycleModelHypothesisTwo(), and WntCellCycleModel::WntCellCycleModel().
double CellCycleModelOdeHandler::mLastTime [protected] |
The last time the ODE system was evaluated.
Definition at line 79 of file CellCycleModelOdeHandler.hpp.
Referenced by WntCellCycleModel::CreateCellCycleModel(), VanLeeuwen2009WntSwatCellCycleModelHypothesisTwo::CreateCellCycleModel(), VanLeeuwen2009WntSwatCellCycleModelHypothesisOne::CreateCellCycleModel(), StochasticWntCellCycleModel::CreateCellCycleModel(), SingleOdeWntCellCycleModel::CreateCellCycleModel(), TysonNovakCellCycleModel::CreateCellCycleModel(), Alarcon2004OxygenBasedCellCycleModel::CreateCellCycleModel(), AbstractOdeBasedCellCycleModel::ResetForDivision(), serialize(), AbstractOdeBasedCellCycleModel::SetBirthTime(), SetLastTime(), AbstractOdeBasedCellCycleModel::SetProteinConcentrationsForTestsOnly(), SolveOdeToTime(), AbstractWntOdeBasedCellCycleModel::UpdateCellCyclePhase(), and AbstractOdeBasedCellCycleModel::UpdateCellCyclePhase().