#include <AbstractOdeSystemInformation.hpp>
Public Member Functions | |
AbstractOdeSystemInformation () | |
virtual | ~AbstractOdeSystemInformation () |
std::string | GetSystemName () const |
void | SetDefaultInitialConditions (const std::vector< double > &rInitialConditions) |
void | SetDefaultInitialCondition (unsigned index, double initialCondition) |
std::vector< double > | GetInitialConditions () const |
const std::vector< std::string > & | rGetStateVariableNames () const |
const std::vector< std::string > & | rGetStateVariableUnits () const |
unsigned | GetStateVariableIndex (const std::string &rName) const |
std::string | GetStateVariableUnits (unsigned index) const |
const std::vector< std::string > & | rGetParameterNames () const |
const std::vector< std::string > & | rGetParameterUnits () const |
unsigned | GetParameterIndex (const std::string &rName) const |
std::string | GetParameterUnits (unsigned index) const |
unsigned | GetAnyVariableIndex (const std::string &rName) const |
std::string | GetAnyVariableUnits (unsigned index) const |
const std::vector< std::string > & | rGetDerivedQuantityNames () const |
const std::vector< std::string > & | rGetDerivedQuantityUnits () const |
unsigned | GetDerivedQuantityIndex (const std::string &rName) const |
std::string | GetDerivedQuantityUnits (unsigned index) const |
Protected Member Functions | |
virtual void | Initialise ()=0 |
Protected Attributes | |
std::string | mSystemName |
std::vector< std::string > | mVariableNames |
std::vector< std::string > | mVariableUnits |
std::vector< std::string > | mParameterNames |
std::vector< std::string > | mParameterUnits |
std::vector< std::string > | mDerivedQuantityNames |
std::vector< std::string > | mDerivedQuantityUnits |
std::vector< double > | mInitialConditions |
bool | mInitialised |
Friends | |
class | TestAbstractOdeSystem |
The information available includes:
This class requires a subclass defining the Initialise method in order to set up the information. Developers may do this by defining their own subclass, but the most convenient method is likely to be to use the OdeSystemInformation class, which is a templated singleton subclass of this AbstractOdeSystemInformation class. See its documentation for details of how to use it.
Definition at line 55 of file AbstractOdeSystemInformation.hpp.
AbstractOdeSystemInformation::AbstractOdeSystemInformation | ( | ) |
Constructor.
Definition at line 35 of file AbstractOdeSystemInformation.cpp.
AbstractOdeSystemInformation::~AbstractOdeSystemInformation | ( | ) | [virtual] |
Virtual destructor since we have virtual methods.
Definition at line 40 of file AbstractOdeSystemInformation.cpp.
virtual void AbstractOdeSystemInformation::Initialise | ( | ) | [protected, pure virtual] |
Initialise the ODE system information.
This must be provided by subclasses.
Implemented in CombinedOdeSystemInformation, OdeSystemInformation< ODE_SYSTEM >, CellwiseOdeSystemInformation< ODE_SYSTEM >, OdeSystemInformation< ODE_SYSTEM >, OdeSystemInformation< ODE_SYSTEM >, OdeSystemInformation< ODE_SYSTEM >, OdeSystemInformation< ODE_SYSTEM >, OdeSystemInformation< ODE_SYSTEM >, OdeSystemInformation< ODE_SYSTEM >, CellwiseOdeSystemInformation< ODE_SYSTEM >, OdeSystemInformation< ODE_SYSTEM >, CellwiseOdeSystemInformation< ODE_SYSTEM >, CellwiseOdeSystemInformation< ODE_SYSTEM >, and CellwiseOdeSystemInformation< ODE_SYSTEM >.
std::string AbstractOdeSystemInformation::GetSystemName | ( | ) | const |
Get the name of this system of ODEs.
Definition at line 44 of file AbstractOdeSystemInformation.cpp.
References mSystemName.
void AbstractOdeSystemInformation::SetDefaultInitialConditions | ( | const std::vector< double > & | rInitialConditions | ) |
Set the default initial conditions for the ODE system. This method DOES NOT change the state variables of the ODE object on which it is called.
rInitialConditions | vector containing initial values for the state variables |
Definition at line 49 of file AbstractOdeSystemInformation.cpp.
References mInitialConditions, and mInitialised.
void AbstractOdeSystemInformation::SetDefaultInitialCondition | ( | unsigned | index, | |
double | initialCondition | |||
) |
Set a single component of the default initial conditions for the ODE system. This method DOES NOT change the state variables of the ODE object on which it is called.
index | the index of the state variable in the system | |
initialCondition | the initial value for the state variable |
Definition at line 55 of file AbstractOdeSystemInformation.cpp.
References mInitialConditions, and mInitialised.
std::vector< double > AbstractOdeSystemInformation::GetInitialConditions | ( | ) | const |
Get a copy of the suggested initial conditions.
Definition at line 61 of file AbstractOdeSystemInformation.cpp.
References mInitialConditions, and mInitialised.
const std::vector< std::string > & AbstractOdeSystemInformation::rGetStateVariableNames | ( | ) | const |
Get the state variable names vector.
Definition at line 67 of file AbstractOdeSystemInformation.cpp.
References mInitialised, and mVariableNames.
const std::vector< std::string > & AbstractOdeSystemInformation::rGetStateVariableUnits | ( | ) | const |
Get the state variable units vector.
Definition at line 73 of file AbstractOdeSystemInformation.cpp.
References mInitialised, and mVariableUnits.
unsigned AbstractOdeSystemInformation::GetStateVariableIndex | ( | const std::string & | rName | ) | const |
This method is used to establish a state varible's position within the vector of state variables of an ODE system. This number can then be used with the method GetStateVariableUnits.
rName | the name of a state variable |
Definition at line 79 of file AbstractOdeSystemInformation.cpp.
References EXCEPTION, mInitialised, and mVariableNames.
Referenced by GetAnyVariableIndex().
std::string AbstractOdeSystemInformation::GetStateVariableUnits | ( | unsigned | index | ) | const |
Get the units of a state variable given its index in the ODE system.
index | a state variable's position within the vector of state variables associated with the ODE system. |
Definition at line 92 of file AbstractOdeSystemInformation.cpp.
References EXCEPTION, mInitialised, and mVariableUnits.
const std::vector< std::string > & AbstractOdeSystemInformation::rGetParameterNames | ( | ) | const |
Get the vector of parameter names.
Definition at line 103 of file AbstractOdeSystemInformation.cpp.
References mInitialised, and mParameterNames.
const std::vector< std::string > & AbstractOdeSystemInformation::rGetParameterUnits | ( | ) | const |
Get the vector of parameter units.
Definition at line 109 of file AbstractOdeSystemInformation.cpp.
References mInitialised, and mParameterUnits.
unsigned AbstractOdeSystemInformation::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 method GetParameterUnits.
rName | the name of a parameter |
Definition at line 115 of file AbstractOdeSystemInformation.cpp.
References EXCEPTION, mInitialised, and mParameterNames.
Referenced by GetAnyVariableIndex().
std::string AbstractOdeSystemInformation::GetParameterUnits | ( | unsigned | index | ) | const |
Get the units of a parameter given its index in the ODE system.
index | a state variable's position within the vector of state variables associated with the ODE system. |
Definition at line 128 of file AbstractOdeSystemInformation.cpp.
References EXCEPTION, mInitialised, and mParameterUnits.
unsigned AbstractOdeSystemInformation::GetAnyVariableIndex | ( | const std::string & | rName | ) | const |
Get the index of a variable, whether a state variable, parameter, or derived quantity, with the given name. The returned index is suitable for use with GetAnyVariableUnits.
rName | the name of a variable |
Definition at line 138 of file AbstractOdeSystemInformation.cpp.
References EXCEPTION, GetDerivedQuantityIndex(), GetParameterIndex(), GetStateVariableIndex(), mInitialised, mParameterNames, and mVariableNames.
std::string AbstractOdeSystemInformation::GetAnyVariableUnits | ( | unsigned | index | ) | const |
Get the units of a variable, whether a state variable, parameter, or derived quantity, given its index as returned by GetAnyVariableIndex.
index | an index from GetAnyVariableIndex. |
Definition at line 165 of file AbstractOdeSystemInformation.cpp.
References EXCEPTION, mDerivedQuantityUnits, mInitialised, mParameterUnits, and mVariableUnits.
const std::vector< std::string > & AbstractOdeSystemInformation::rGetDerivedQuantityNames | ( | ) | const |
Get the vector of derived quantity names.
Definition at line 195 of file AbstractOdeSystemInformation.cpp.
References mDerivedQuantityNames, and mInitialised.
const std::vector< std::string > & AbstractOdeSystemInformation::rGetDerivedQuantityUnits | ( | ) | const |
Get the vector of derived quantity units.
Definition at line 201 of file AbstractOdeSystemInformation.cpp.
References mDerivedQuantityUnits, and mInitialised.
unsigned AbstractOdeSystemInformation::GetDerivedQuantityIndex | ( | const std::string & | rName | ) | const |
Get the index of a derived quantity, given its name.
rName | the name of a derived quantity. |
Definition at line 207 of file AbstractOdeSystemInformation.cpp.
References EXCEPTION, mDerivedQuantityNames, and mInitialised.
Referenced by GetAnyVariableIndex().
std::string AbstractOdeSystemInformation::GetDerivedQuantityUnits | ( | unsigned | index | ) | const |
Get the units of a derived quantity.
index | an index from GetDerivedQuantityIndex. |
Definition at line 220 of file AbstractOdeSystemInformation.cpp.
References EXCEPTION, mDerivedQuantityUnits, and mInitialised.
std::string AbstractOdeSystemInformation::mSystemName [protected] |
Human-friendly name for the ODE system
Definition at line 61 of file AbstractOdeSystemInformation.hpp.
Referenced by GetSystemName().
std::vector<std::string> AbstractOdeSystemInformation::mVariableNames [protected] |
State variable names
Definition at line 64 of file AbstractOdeSystemInformation.hpp.
Referenced by CombinedOdeSystemInformation::CombinedOdeSystemInformation(), GetAnyVariableIndex(), GetStateVariableIndex(), OdeSystemInformation< ODE_SYSTEM >::Initialise(), CellwiseOdeSystemInformation< ODE_SYSTEM >::Initialise(), and rGetStateVariableNames().
std::vector<std::string> AbstractOdeSystemInformation::mVariableUnits [protected] |
State variable units
Definition at line 67 of file AbstractOdeSystemInformation.hpp.
Referenced by CombinedOdeSystemInformation::CombinedOdeSystemInformation(), GetAnyVariableUnits(), GetStateVariableUnits(), OdeSystemInformation< ODE_SYSTEM >::Initialise(), CellwiseOdeSystemInformation< ODE_SYSTEM >::Initialise(), and rGetStateVariableUnits().
std::vector<std::string> AbstractOdeSystemInformation::mParameterNames [protected] |
Parameter names
Definition at line 70 of file AbstractOdeSystemInformation.hpp.
Referenced by GetAnyVariableIndex(), GetParameterIndex(), and rGetParameterNames().
std::vector<std::string> AbstractOdeSystemInformation::mParameterUnits [protected] |
Parameter units
Definition at line 73 of file AbstractOdeSystemInformation.hpp.
Referenced by GetAnyVariableUnits(), GetParameterUnits(), and rGetParameterUnits().
std::vector<std::string> AbstractOdeSystemInformation::mDerivedQuantityNames [protected] |
Derived quantity names
Definition at line 76 of file AbstractOdeSystemInformation.hpp.
Referenced by GetDerivedQuantityIndex(), and rGetDerivedQuantityNames().
std::vector<std::string> AbstractOdeSystemInformation::mDerivedQuantityUnits [protected] |
Derived quantity units
Definition at line 79 of file AbstractOdeSystemInformation.hpp.
Referenced by GetAnyVariableUnits(), GetDerivedQuantityUnits(), and rGetDerivedQuantityUnits().
std::vector<double> AbstractOdeSystemInformation::mInitialConditions [protected] |
Suggested initial conditions
Definition at line 82 of file AbstractOdeSystemInformation.hpp.
Referenced by CombinedOdeSystemInformation::CombinedOdeSystemInformation(), GetInitialConditions(), OdeSystemInformation< ODE_SYSTEM >::Initialise(), CellwiseOdeSystemInformation< ODE_SYSTEM >::Initialise(), SetDefaultInitialCondition(), and SetDefaultInitialConditions().
bool AbstractOdeSystemInformation::mInitialised [protected] |
Whether a 'real' Initialise method has been called
Definition at line 85 of file AbstractOdeSystemInformation.hpp.
Referenced by CombinedOdeSystemInformation::CombinedOdeSystemInformation(), GetAnyVariableIndex(), GetAnyVariableUnits(), GetDerivedQuantityIndex(), GetDerivedQuantityUnits(), GetInitialConditions(), GetParameterIndex(), GetParameterUnits(), GetStateVariableIndex(), GetStateVariableUnits(), OdeSystemInformation< ODE_SYSTEM >::Initialise(), CellwiseOdeSystemInformation< ODE_SYSTEM >::Initialise(), rGetDerivedQuantityNames(), rGetDerivedQuantityUnits(), rGetParameterNames(), rGetParameterUnits(), rGetStateVariableNames(), rGetStateVariableUnits(), SetDefaultInitialCondition(), and SetDefaultInitialConditions().