#include <Nash2004ContractionModel.hpp>
Public Member Functions | |
Nash2004ContractionModel () | |
void | EvaluateYDerivatives (double time, const std::vector< double > &rY, std::vector< double > &rDY) |
void | SetInputParameters (ContractionModelInputParameters &rInputParameters) |
void | SetStretchAndStretchRate (double stretch, double stretchRate) |
double | GetActiveTension () |
double | GetNextActiveTension () |
bool | IsStretchDependent () |
bool | IsStretchRateDependent () |
Private Attributes | |
double | mScaledVoltage |
Static Private Attributes | |
static const double | kTa = 47.9 |
static const double | e0ByT0 = 1.0/100 |
A simple, stretch- and stretch-rate-independent contraction model, just dependent on the voltage. If v is the non-dimensionalised voltage, Ta is given by dTa/dt = eps(v) (kTa*v - Ta); where eps(v) = e0 if v < 0.05, = 10*e0 v >= 0.05.
We use the non-dimensionalisation: V in [-85,40] ---> v in [0,1], ie v=(V+85)/125
Not sure what the appropriate value of e0 is: as the paper uses non-dimensionalised time the e0 above corresponds to "eps0/t0", where eps0 is value used in the paper (1.0) and t0 is the characteristic time. The paper suggests using t0=25.9 (?), which gives Ta growing too quickly at the beginning (as rapidly as the voltage). t0 = 100 coded at the moment..
Definition at line 53 of file Nash2004ContractionModel.hpp.
Nash2004ContractionModel::Nash2004ContractionModel | ( | ) | [inline] |
Constructor
Definition at line 66 of file Nash2004ContractionModel.hpp.
References OdeSystemInformation< ODE_SYSTEM >::Instance(), AbstractParameterisedSystem< std::vector< double > >::mpSystemInfo, mScaledVoltage, and AbstractParameterisedSystem< std::vector< double > >::mStateVariables.
void Nash2004ContractionModel::EvaluateYDerivatives | ( | double | time, | |
const std::vector< double > & | rY, | |||
std::vector< double > & | rDY | |||
) | [inline, virtual] |
Calculate the derivative of the Ta (the state variable)
time | time | |
rY | 1D vector containing Ta | |
rDY | 1D vector in which dTa/dt is set |
Implements AbstractOdeSystem.
Definition at line 80 of file Nash2004ContractionModel.hpp.
References e0ByT0, kTa, and mScaledVoltage.
void Nash2004ContractionModel::SetInputParameters | ( | ContractionModelInputParameters & | rInputParameters | ) | [inline, virtual] |
Set the input parameters. Only the voltage is used
rInputParameters | reference to the input parameters |
Implements AbstractContractionModel.
Definition at line 90 of file Nash2004ContractionModel.hpp.
References DOUBLE_UNSET, mScaledVoltage, and ContractionModelInputParameters_::voltage.
void Nash2004ContractionModel::SetStretchAndStretchRate | ( | double | stretch, | |
double | stretchRate | |||
) | [inline, virtual] |
Neither stretch nor stretch rate are used so this method does nothing
stretch | stretch | |
stretchRate | stretch rate |
Implements AbstractContractionModel.
Definition at line 101 of file Nash2004ContractionModel.hpp.
double Nash2004ContractionModel::GetActiveTension | ( | ) | [inline, virtual] |
Get the current active tension
Implements AbstractContractionModel.
Definition at line 108 of file Nash2004ContractionModel.hpp.
References AbstractParameterisedSystem< std::vector< double > >::rGetStateVariables().
double Nash2004ContractionModel::GetNextActiveTension | ( | ) | [inline, virtual] |
Get the active tension corresponding to the temporary stored state variables produced by calling RunDoNotUpdate (and before calling UpdateStateVariables())
Implements AbstractContractionModel.
Definition at line 117 of file Nash2004ContractionModel.hpp.
References AbstractOdeBasedContractionModel::mTemporaryStateVariables.
bool Nash2004ContractionModel::IsStretchDependent | ( | ) | [inline, virtual] |
This model is stretch-independent
Implements AbstractContractionModel.
Definition at line 126 of file Nash2004ContractionModel.hpp.
bool Nash2004ContractionModel::IsStretchRateDependent | ( | ) | [inline, virtual] |
This model is stretch-rate-independent
Implements AbstractContractionModel.
Definition at line 134 of file Nash2004ContractionModel.hpp.
const double Nash2004ContractionModel::kTa = 47.9 [static, private] |
Stiffness parameter. See reference. kPa
Definition at line 56 of file Nash2004ContractionModel.hpp.
Referenced by EvaluateYDerivatives().
const double Nash2004ContractionModel::e0ByT0 = 1.0/100 [static, private] |
Other parameter. See above and reference.
Definition at line 59 of file Nash2004ContractionModel.hpp.
Referenced by EvaluateYDerivatives().
double Nash2004ContractionModel::mScaledVoltage [private] |
Non-dimensionalised voltage. See above.
Definition at line 62 of file Nash2004ContractionModel.hpp.
Referenced by EvaluateYDerivatives(), Nash2004ContractionModel(), and SetInputParameters().