#include <Kerchoffs2003ContractionModel.hpp>
Public Member Functions | |
Kerchoffs2003ContractionModel () | |
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 () |
bool | IsStretchDependent () |
bool | IsStretchRateDependent () |
double | GetNextActiveTension () |
Private Member Functions | |
double | GetActiveTension (double lengthOfContractileElement) |
Private Attributes | |
double | mSarcomereLength |
double | mActivationTime |
bool | mIsActivated |
bool | mElectricallyUnactivated |
Static Private Attributes | |
static const double | a6 = 2.0 |
static const double | a7 = 1.5 |
static const double | T0 = 180 |
static const double | Ea = 20 |
static const double | v0 = 0.0075 |
static const double | ls0 = 1.9 |
static const double | tr = 75 |
static const double | td = 75 |
static const double | b = 150 |
static const double | ld = -0.4 |
static const double | mActivationVoltage = 0 |
static const double | mDeactivationVoltage = -70 |
Friends | |
class | TestContractionModels |
Definition at line 41 of file Kerchoffs2003ContractionModel.hpp.
Kerchoffs2003ContractionModel::Kerchoffs2003ContractionModel | ( | ) |
Constructor
Definition at line 46 of file Kerchoffs2003ContractionModel.cpp.
References Ea, OdeSystemInformation< ODE_SYSTEM >::Instance(), ls0, mActivationTime, mElectricallyUnactivated, mIsActivated, AbstractParameterisedSystem< std::vector< double > >::mpSystemInfo, mSarcomereLength, AbstractParameterisedSystem< std::vector< double > >::mStateVariables, and AbstractOdeBasedContractionModel::mTime.
double Kerchoffs2003ContractionModel::GetActiveTension | ( | double | lengthOfContractileElement | ) | [private] |
Get the active tension as a function of length of contractile element. This is private. The public GetActiveTension() calls this using the value of lc in the state variable
lengthOfContractileElement | length of contractile element (the state variable in this model). |
Definition at line 98 of file Kerchoffs2003ContractionModel.cpp.
References a6, a7, b, Ea, ld, ls0, mActivationTime, mElectricallyUnactivated, mIsActivated, mSarcomereLength, AbstractOdeBasedContractionModel::mTime, T0, td, and tr.
void Kerchoffs2003ContractionModel::EvaluateYDerivatives | ( | double | time, | |
const std::vector< double > & | rY, | |||
std::vector< double > & | rDY | |||
) | [virtual] |
The derivative function of the one state variable: "lc" in reference, the length of the contractile element
time | time | |
rY | 1D vector containing lc | |
rDY | 1D vector in which dlc/dt is set |
Implements AbstractOdeSystem.
Definition at line 62 of file Kerchoffs2003ContractionModel.cpp.
References Ea, mSarcomereLength, and v0.
void Kerchoffs2003ContractionModel::SetInputParameters | ( | ContractionModelInputParameters & | rInputParameters | ) | [virtual] |
Set the input parameters. The calcium concentration is not used. If the voltage is such that activation has occured (gone above mActivationVoltage), the state is set to active and the time saved as the activation time.
rInputParameters | reference to the input parameters |
Implements AbstractContractionModel.
Definition at line 71 of file Kerchoffs2003ContractionModel.cpp.
References DOUBLE_UNSET, mActivationTime, mActivationVoltage, mDeactivationVoltage, mElectricallyUnactivated, mIsActivated, AbstractOdeBasedContractionModel::mTime, and ContractionModelInputParameters_::voltage.
void Kerchoffs2003ContractionModel::SetStretchAndStretchRate | ( | double | stretch, | |
double | stretchRate | |||
) | [virtual] |
Take the stretch and compute the sarcomere length (stretch rate is not used).
stretch | stretch | |
stretchRate | stretch rate |
Implements AbstractContractionModel.
Definition at line 92 of file Kerchoffs2003ContractionModel.cpp.
References ls0, and mSarcomereLength.
double Kerchoffs2003ContractionModel::GetActiveTension | ( | ) | [virtual] |
Get the active tension (note: actually a stress), ie kPa
Implements AbstractContractionModel.
Definition at line 130 of file Kerchoffs2003ContractionModel.cpp.
References AbstractParameterisedSystem< std::vector< double > >::mStateVariables.
Referenced by GetNextActiveTension().
bool Kerchoffs2003ContractionModel::IsStretchDependent | ( | ) | [inline, virtual] |
This model is stretch-dependent
Implements AbstractContractionModel.
Definition at line 117 of file Kerchoffs2003ContractionModel.hpp.
bool Kerchoffs2003ContractionModel::IsStretchRateDependent | ( | ) | [inline, virtual] |
This model is stretch-rate-independent
Implements AbstractContractionModel.
Definition at line 125 of file Kerchoffs2003ContractionModel.hpp.
double Kerchoffs2003ContractionModel::GetNextActiveTension | ( | ) | [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 135 of file Kerchoffs2003ContractionModel.cpp.
References GetActiveTension(), and AbstractOdeBasedContractionModel::mTemporaryStateVariables.
const double Kerchoffs2003ContractionModel::a6 = 2.0 [static, private] |
See reference. 2.0 um^{-1}
Definition at line 46 of file Kerchoffs2003ContractionModel.hpp.
Referenced by GetActiveTension().
const double Kerchoffs2003ContractionModel::a7 = 1.5 [static, private] |
See reference. 1.5 um
Definition at line 47 of file Kerchoffs2003ContractionModel.hpp.
Referenced by GetActiveTension().
const double Kerchoffs2003ContractionModel::T0 = 180 [static, private] |
See reference. 180 kPa
Definition at line 48 of file Kerchoffs2003ContractionModel.hpp.
Referenced by GetActiveTension().
const double Kerchoffs2003ContractionModel::Ea = 20 [static, private] |
See reference. 20 um^{-1}
Definition at line 49 of file Kerchoffs2003ContractionModel.hpp.
Referenced by EvaluateYDerivatives(), GetActiveTension(), and Kerchoffs2003ContractionModel().
const double Kerchoffs2003ContractionModel::v0 = 0.0075 [static, private] |
See reference. 0.0075 um/ms
Definition at line 50 of file Kerchoffs2003ContractionModel.hpp.
Referenced by EvaluateYDerivatives().
const double Kerchoffs2003ContractionModel::ls0 = 1.9 [static, private] |
See reference. 1.9 um
Definition at line 51 of file Kerchoffs2003ContractionModel.hpp.
Referenced by GetActiveTension(), Kerchoffs2003ContractionModel(), and SetStretchAndStretchRate().
const double Kerchoffs2003ContractionModel::tr = 75 [static, private] |
See reference. 75 ms
Definition at line 52 of file Kerchoffs2003ContractionModel.hpp.
Referenced by GetActiveTension().
const double Kerchoffs2003ContractionModel::td = 75 [static, private] |
See reference. 75 ms
Definition at line 53 of file Kerchoffs2003ContractionModel.hpp.
Referenced by GetActiveTension().
const double Kerchoffs2003ContractionModel::b = 150 [static, private] |
See reference. 150 ms/um
Definition at line 54 of file Kerchoffs2003ContractionModel.hpp.
Referenced by GetActiveTension().
const double Kerchoffs2003ContractionModel::ld = -0.4 [static, private] |
See reference. -0.4 um
Definition at line 55 of file Kerchoffs2003ContractionModel.hpp.
Referenced by GetActiveTension().
const double Kerchoffs2003ContractionModel::mActivationVoltage = 0 [static, private] |
Voltage threshold above which the cell is activated (mV) - note hysteresis
Definition at line 58 of file Kerchoffs2003ContractionModel.hpp.
Referenced by SetInputParameters().
const double Kerchoffs2003ContractionModel::mDeactivationVoltage = -70 [static, private] |
Voltage threshold below which the cell is deactivated (mV)
Definition at line 60 of file Kerchoffs2003ContractionModel.hpp.
Referenced by SetInputParameters().
double Kerchoffs2003ContractionModel::mSarcomereLength [private] |
Length of the sarcomere in um. Variable "ls" in reference. Fibre-stretch is ls/ls0.
Definition at line 63 of file Kerchoffs2003ContractionModel.hpp.
Referenced by EvaluateYDerivatives(), GetActiveTension(), Kerchoffs2003ContractionModel(), and SetStretchAndStretchRate().
double Kerchoffs2003ContractionModel::mActivationTime [private] |
Time (ms) of electrical activation (= time the voltage at this cell reached mActivationVoltage)
Definition at line 65 of file Kerchoffs2003ContractionModel.hpp.
Referenced by GetActiveTension(), Kerchoffs2003ContractionModel(), and SetInputParameters().
bool Kerchoffs2003ContractionModel::mIsActivated [private] |
Whether the cell is activated - whether the voltage has gone above mActivationTime and not gone below without going below mDeactivationVoltage, and that the cell has stopped producing force.
Definition at line 69 of file Kerchoffs2003ContractionModel.hpp.
Referenced by GetActiveTension(), Kerchoffs2003ContractionModel(), and SetInputParameters().
bool Kerchoffs2003ContractionModel::mElectricallyUnactivated [private] |
Whether the cell is electrically unactivated yet (whether the voltage has gone below mDeactivationVoltage
Definition at line 72 of file Kerchoffs2003ContractionModel.hpp.
Referenced by GetActiveTension(), Kerchoffs2003ContractionModel(), and SetInputParameters().