Chaste
Release::2018.1
|
#include <AbstractUntemplatedParameterisedSystem.hpp>
Public Member Functions | |
AbstractUntemplatedParameterisedSystem (unsigned numberOfStateVariables) | |
virtual | ~AbstractUntemplatedParameterisedSystem () |
boost::shared_ptr< const AbstractOdeSystemInformation > | GetSystemInformation () const |
std::string | GetSystemName () const |
unsigned | GetNumberOfAttributes () const |
bool | HasAttribute (const std::string &rName) const |
double | GetAttribute (const std::string &rName) const |
unsigned | GetNumberOfStateVariables () const |
const std::vector< std::string > & | rGetStateVariableNames () const |
const std::vector< std::string > & | rGetStateVariableUnits () const |
unsigned | GetStateVariableIndex (const std::string &rName) const |
bool | HasStateVariable (const std::string &rName) const |
std::string | GetStateVariableUnits (unsigned index) const |
virtual void | ResetToInitialConditions ()=0 |
unsigned | GetNumberOfParameters () const |
const std::vector< std::string > & | rGetParameterNames () const |
const std::vector< std::string > & | rGetParameterUnits () const |
unsigned | GetParameterIndex (const std::string &rName) const |
bool | HasParameter (const std::string &rName) const |
std::string | GetParameterUnits (unsigned index) const |
unsigned | GetNumberOfDerivedQuantities () const |
const std::vector< std::string > & | rGetDerivedQuantityNames () const |
const std::vector< std::string > & | rGetDerivedQuantityUnits () const |
unsigned | GetDerivedQuantityIndex (const std::string &rName) const |
bool | HasDerivedQuantity (const std::string &rName) const |
std::string | GetDerivedQuantityUnits (unsigned index) const |
unsigned | GetAnyVariableIndex (const std::string &rName) const |
bool | HasAnyVariable (const std::string &rName) const |
std::string | GetAnyVariableUnits (unsigned index) const |
std::string | GetAnyVariableUnits (const std::string &rName) const |
Protected Attributes | |
unsigned | mNumberOfStateVariables |
boost::shared_ptr < AbstractOdeSystemInformation > | mpSystemInfo |
This class is an untemplated base class for AbstractParameterisedSystem, containing those methods which don't require knowledge of the vector type, in order to make it easier to move between templated and generic parts of the codebase. In particular it holds the AbstractOdeSystemInformation pointer, and methods to access this object to provide information about the ODE system, such as state variable/parameter names and units.
Definition at line 53 of file AbstractUntemplatedParameterisedSystem.hpp.
AbstractUntemplatedParameterisedSystem::AbstractUntemplatedParameterisedSystem | ( | unsigned | numberOfStateVariables | ) |
Constructor.
numberOfStateVariables | the number of state variables in the ODE system |
Definition at line 43 of file AbstractUntemplatedParameterisedSystem.cpp.
|
virtual |
Make this class polymorphic.
Definition at line 48 of file AbstractUntemplatedParameterisedSystem.cpp.
unsigned AbstractUntemplatedParameterisedSystem::GetAnyVariableIndex | ( | const std::string & | rName | ) | const |
rName | the name of a variable |
Definition at line 136 of file AbstractUntemplatedParameterisedSystem.cpp.
References GetSystemInformation().
Referenced by GetAnyVariableUnits().
std::string AbstractUntemplatedParameterisedSystem::GetAnyVariableUnits | ( | unsigned | index | ) | const |
index | an index from GetAnyVariableIndex. |
Definition at line 146 of file AbstractUntemplatedParameterisedSystem.cpp.
References GetSystemInformation().
Referenced by GetAnyVariableUnits().
std::string AbstractUntemplatedParameterisedSystem::GetAnyVariableUnits | ( | const std::string & | rName | ) | const |
rName | the name of any variable in the model. |
Definition at line 151 of file AbstractUntemplatedParameterisedSystem.cpp.
References GetAnyVariableIndex(), and GetAnyVariableUnits().
double AbstractUntemplatedParameterisedSystem::GetAttribute | ( | const std::string & | rName | ) | const |
rName | the attribute name. |
Definition at line 201 of file AbstractUntemplatedParameterisedSystem.cpp.
References GetSystemInformation().
unsigned AbstractUntemplatedParameterisedSystem::GetDerivedQuantityIndex | ( | const std::string & | rName | ) | const |
rName | the name of a derived quantity. |
Definition at line 175 of file AbstractUntemplatedParameterisedSystem.cpp.
References GetSystemInformation().
std::string AbstractUntemplatedParameterisedSystem::GetDerivedQuantityUnits | ( | unsigned | index | ) | const |
index | an index from GetDerivedQuantityIndex. |
Definition at line 185 of file AbstractUntemplatedParameterisedSystem.cpp.
References GetSystemInformation().
unsigned AbstractUntemplatedParameterisedSystem::GetNumberOfAttributes | ( | ) | const |
Definition at line 191 of file AbstractUntemplatedParameterisedSystem.cpp.
References GetSystemInformation().
unsigned AbstractUntemplatedParameterisedSystem::GetNumberOfDerivedQuantities | ( | ) | const |
Definition at line 160 of file AbstractUntemplatedParameterisedSystem.cpp.
References GetSystemInformation().
Referenced by OdeSolution::rGetDerivedQuantities().
unsigned AbstractUntemplatedParameterisedSystem::GetNumberOfParameters | ( | ) | const |
Definition at line 102 of file AbstractUntemplatedParameterisedSystem.cpp.
References GetSystemInformation().
Referenced by AbstractCvodeCell::GetNumberOfParameters(), AbstractCardiacCell::GetNumberOfParameters(), and OdeSolution::rGetParameters().
unsigned AbstractUntemplatedParameterisedSystem::GetNumberOfStateVariables | ( | ) | const |
Definition at line 68 of file AbstractUntemplatedParameterisedSystem.cpp.
References mNumberOfStateVariables.
Referenced by HeunIvpOdeSolver::CalculateNextYValue(), RungeKutta2IvpOdeSolver::CalculateNextYValue(), RungeKutta4IvpOdeSolver::CalculateNextYValue(), RKC21IvpOdeSolver::CalculateNextYValue(), EulerIvpOdeSolver::CalculateNextYValue(), GRL1IvpOdeSolver::CalculateNextYValue(), GRL2IvpOdeSolver::CalculateNextYValue(), RungeKuttaFehlbergIvpOdeSolver::CalculateNextYValue(), BackwardEulerIvpOdeSolver::CalculateNextYValue(), AbstractCvodeCell::GetNumberOfStateVariables(), AbstractCardiacCell::GetNumberOfStateVariables(), RungeKuttaFehlbergIvpOdeSolver::InternalSolve(), AbstractOdeBasedCellCycleModel::ReadyToDivide(), AbstractCvodeSystem::RecordStoppingPoint(), CvodeAdaptor::SetupCvode(), AbstractCvodeSystem::SetupCvode(), AbstractOneStepIvpOdeSolver::Solve(), RungeKuttaFehlbergIvpOdeSolver::Solve(), AbstractIvpOdeSolver::SolveAndUpdateStateVariable(), and AbstractOdeBasedPhaseBasedCellCycleModel::UpdateCellCyclePhase().
unsigned AbstractUntemplatedParameterisedSystem::GetParameterIndex | ( | const std::string & | rName | ) | const |
This method is used to establish a parameter's position within the vector of parameters of an ODE system. This number can then be used with the methods GetParameterUnits and GetParameter.
rName | the name of a parameter |
Definition at line 117 of file AbstractUntemplatedParameterisedSystem.cpp.
References GetSystemInformation().
std::string AbstractUntemplatedParameterisedSystem::GetParameterUnits | ( | unsigned | index | ) | const |
index | a state variable's position within the vector of state variables associated with the ODE system. |
Definition at line 127 of file AbstractUntemplatedParameterisedSystem.cpp.
References GetSystemInformation().
unsigned AbstractUntemplatedParameterisedSystem::GetStateVariableIndex | ( | const std::string & | rName | ) | const |
This method is used to establish a state variable's position within the vector of state variables of an ODE system. This number can then be used with the methods GetStateVariable and GetStateVariableUnits.
rName | the name of a state variable. |
Definition at line 83 of file AbstractUntemplatedParameterisedSystem.cpp.
References GetSystemInformation().
std::string AbstractUntemplatedParameterisedSystem::GetStateVariableUnits | ( | unsigned | index | ) | const |
index | a state variable's position within the vector of state variables associated with the ODE system. |
Definition at line 93 of file AbstractUntemplatedParameterisedSystem.cpp.
References GetSystemInformation().
boost::shared_ptr< const AbstractOdeSystemInformation > AbstractUntemplatedParameterisedSystem::GetSystemInformation | ( | ) | const |
Definition at line 52 of file AbstractUntemplatedParameterisedSystem.cpp.
References mpSystemInfo.
Referenced by OdeSolution::CalculateDerivedQuantitiesAndParameters(), GetAnyVariableIndex(), GetAnyVariableUnits(), GetAttribute(), GetDerivedQuantityIndex(), GetDerivedQuantityUnits(), GetNumberOfAttributes(), GetNumberOfDerivedQuantities(), GetNumberOfParameters(), GetParameterIndex(), GetParameterUnits(), GetStateVariableIndex(), GetStateVariableUnits(), GetSystemName(), HasAnyVariable(), HasAttribute(), HasDerivedQuantity(), HasParameter(), HasStateVariable(), rGetDerivedQuantityNames(), rGetDerivedQuantityUnits(), rGetParameterNames(), rGetParameterUnits(), rGetStateVariableNames(), rGetStateVariableUnits(), AbstractOneStepIvpOdeSolver::Solve(), and CvodeAdaptor::Solve().
std::string AbstractUntemplatedParameterisedSystem::GetSystemName | ( | ) | const |
Definition at line 59 of file AbstractUntemplatedParameterisedSystem.cpp.
References GetSystemInformation().
bool AbstractUntemplatedParameterisedSystem::HasAnyVariable | ( | const std::string & | rName | ) | const |
This method is used to establish whether a variable is in an ODE system's state vars, parameters or derived quantitites. You can then safely call GetAnyVariableIndex without a try...catch statement.
rName | the name of a variable |
Definition at line 141 of file AbstractUntemplatedParameterisedSystem.cpp.
References GetSystemInformation().
bool AbstractUntemplatedParameterisedSystem::HasAttribute | ( | const std::string & | rName | ) | const |
rName | the attribute name. |
Definition at line 196 of file AbstractUntemplatedParameterisedSystem.cpp.
References GetSystemInformation().
bool AbstractUntemplatedParameterisedSystem::HasDerivedQuantity | ( | const std::string & | rName | ) | const |
This method is used to establish whether a derived quantity is in an ODE system. You can then safely call GetDerivedQuantityIndex without a try...catch statement.
rName | the name of a derived quantity |
Definition at line 180 of file AbstractUntemplatedParameterisedSystem.cpp.
References GetSystemInformation().
bool AbstractUntemplatedParameterisedSystem::HasParameter | ( | const std::string & | rName | ) | const |
This method is used to establish whether a parameter is in an ODE system. You can then safely call GetParameterIndex without a try...catch statement.
rName | the name of a parameter |
Definition at line 122 of file AbstractUntemplatedParameterisedSystem.cpp.
References GetSystemInformation().
bool AbstractUntemplatedParameterisedSystem::HasStateVariable | ( | const std::string & | rName | ) | const |
This method is used to establish whether a state variable is in an ODE system. You can then safely call GetStateVariableIndex without a try...catch statement.
rName | the name of a state variable |
Definition at line 88 of file AbstractUntemplatedParameterisedSystem.cpp.
References GetSystemInformation().
|
pure virtual |
Reset the system's state variables to the default initial conditions.
Implemented in AbstractParameterisedSystem< VECTOR >, AbstractParameterisedSystem< N_Vector >, and AbstractParameterisedSystem< std::vector< double > >.
const std::vector< std::string > & AbstractUntemplatedParameterisedSystem::rGetDerivedQuantityNames | ( | ) | const |
Definition at line 165 of file AbstractUntemplatedParameterisedSystem.cpp.
References GetSystemInformation().
const std::vector< std::string > & AbstractUntemplatedParameterisedSystem::rGetDerivedQuantityUnits | ( | ) | const |
Definition at line 170 of file AbstractUntemplatedParameterisedSystem.cpp.
References GetSystemInformation().
const std::vector< std::string > & AbstractUntemplatedParameterisedSystem::rGetParameterNames | ( | ) | const |
Definition at line 107 of file AbstractUntemplatedParameterisedSystem.cpp.
References GetSystemInformation().
Referenced by AbstractCardiacCell::Init(), AbstractCvodeSystem::Init(), AbstractOdeSystem::save(), AbstractCvodeSystem::save(), and AbstractCardiacCell::serialize().
const std::vector< std::string > & AbstractUntemplatedParameterisedSystem::rGetParameterUnits | ( | ) | const |
Definition at line 112 of file AbstractUntemplatedParameterisedSystem.cpp.
References GetSystemInformation().
const std::vector< std::string > & AbstractUntemplatedParameterisedSystem::rGetStateVariableNames | ( | ) | const |
Definition at line 73 of file AbstractUntemplatedParameterisedSystem.cpp.
References GetSystemInformation().
Referenced by AbstractCvodeSystem::CvodeError(), AbstractCvodeCell::rGetStateVariableNames(), AbstractCardiacCell::rGetStateVariableNames(), and AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::SolveCellSystems().
const std::vector< std::string > & AbstractUntemplatedParameterisedSystem::rGetStateVariableUnits | ( | ) | const |
Definition at line 78 of file AbstractUntemplatedParameterisedSystem.cpp.
References GetSystemInformation().
|
protected |
The number of state variables in the system.
Definition at line 293 of file AbstractUntemplatedParameterisedSystem.hpp.
Referenced by AbstractCardiacCell::AbstractCardiacCell(), CombinedOdeSystem::CombinedOdeSystem(), AbstractRushLarsenCardiacCell::Compute(), AbstractRushLarsenCardiacCell::ComputeExceptVoltage(), GetNumberOfStateVariables(), AbstractOdeSystem::load(), AbstractCvodeSystem::load(), AbstractOdeSystem::save(), AbstractCvodeSystem::save(), FakeBathCell::serialize(), and AbstractRushLarsenCardiacCell::SolveAndUpdateState().
|
protected |
Information about the concrete ODE system class.
Subclasses need to set this in their constructor to point to an instance of a suitable class. See for example the OdeSystemInformation class.
Definition at line 301 of file AbstractUntemplatedParameterisedSystem.hpp.
Referenced by Alarcon2004OxygenBasedCellCycleOdeSystem::Alarcon2004OxygenBasedCellCycleOdeSystem(), CML_noble_varghese_kohl_noble_1998_basic_with_sac::CML_noble_varghese_kohl_noble_1998_basic_with_sac(), CombinedOdeSystem::CombinedOdeSystem(), AbstractGeneralizedRushLarsenCardiacCell::Compute(), AbstractRushLarsenCardiacCell::Compute(), AbstractBackwardEulerCardiacCell< 0u >::Compute(), CorriasBuistICCModified::CorriasBuistICCModified(), CorriasBuistSMCModified::CorriasBuistSMCModified(), DeltaNotchOdeSystem::DeltaNotchOdeSystem(), FakeBathCell::FakeBathCell(), FitzHughNagumo1961OdeSystem::FitzHughNagumo1961OdeSystem(), GetSystemInformation(), Goldbeter1991OdeSystem::Goldbeter1991OdeSystem(), Kerchoffs2003ContractionModel::Kerchoffs2003ContractionModel(), Mirams2010WntOdeSystem::Mirams2010WntOdeSystem(), Nash2004ContractionModel::Nash2004ContractionModel(), NhsContractionModel::NhsContractionModel(), OdeSystemForCoupledHeatEquation::OdeSystemForCoupledHeatEquation(), OdeSystemForCoupledHeatEquationWithSource::OdeSystemForCoupledHeatEquationWithSource(), AbstractCvodeSystem::Solve(), TysonNovak2001OdeSystem::TysonNovak2001OdeSystem(), VanLeeuwen2009WntSwatCellCycleOdeSystem::VanLeeuwen2009WntSwatCellCycleOdeSystem(), and WntCellCycleOdeSystem::WntCellCycleOdeSystem().