Chaste
Release::2017.1
|
#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 () |
Public Member Functions inherited from AbstractOdeBasedContractionModel | |
AbstractOdeBasedContractionModel (unsigned numStateVariables) | |
virtual void | RunDoNotUpdate (double startTime, double endTime, double timeStep) |
void | UpdateStateVariables () |
void | RunAndUpdate (double startTime, double endTime, double timeStep) |
Public Member Functions inherited from AbstractOdeSystem | |
AbstractOdeSystem (unsigned numberOfStateVariables) | |
virtual | ~AbstractOdeSystem () |
virtual bool | CalculateStoppingEvent (double time, const std::vector< double > &rY) |
virtual double | CalculateRootFunction (double time, const std::vector< double > &rY) |
bool | GetUseAnalyticJacobian () |
const std::vector< double > & | rGetConstStateVariables () const |
Public Member Functions inherited from AbstractParameterisedSystem< std::vector< double > > | |
AbstractParameterisedSystem (unsigned numberOfStateVariables) | |
std::vector< double > & | rGetStateVariables () |
std::vector< double > | GetStateVariables () |
void | SetStateVariables (const std::vector< double > &rStateVariables) |
double | GetStateVariable (unsigned index) const |
double | GetStateVariable (const std::string &rName) const |
void | SetStateVariable (unsigned index, double newValue) |
void | SetStateVariable (const std::string &rName, double newValue) |
virtual void | VerifyStateVariables () |
void | SetDefaultInitialConditions (const std::vector< double > &rInitialConditions) |
void | SetDefaultInitialCondition (unsigned index, double initialCondition) |
std::vector< double > | GetInitialConditions () const |
void | ResetToInitialConditions () |
double | GetParameter (unsigned index) const |
double | GetParameter (const std::string &rName) const |
void | SetParameter (const std::string &rName, double value) |
void | SetParameter (unsigned index, double value) |
double | GetAnyVariable (unsigned index, double time=0.0, std::vector< double > *pDerivedQuantities=NULL) |
double | GetAnyVariable (const std::string &rName, double time=0.0, std::vector< double > *pDerivedQuantities=NULL) |
void | SetAnyVariable (unsigned index, double value) |
void | SetAnyVariable (const std::string &rName, double value) |
virtual std::vector< double > | ComputeDerivedQuantities (double time, const std::vector< double > &rState) |
std::vector< double > | ComputeDerivedQuantitiesFromCurrentState (double time) |
Public Member Functions inherited from AbstractUntemplatedParameterisedSystem | |
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 |
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 |
Public Member Functions inherited from AbstractContractionModel | |
AbstractContractionModel () | |
virtual | ~AbstractContractionModel () |
void | SetStretch (double stretch) |
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 | ld = -0.4 |
static const double | mActivationVoltage = 0.0 |
static const double | mDeactivationVoltage = -70.0 |
Friends | |
class | TestContractionModels |
Additional Inherited Members | |
Protected Member Functions inherited from AbstractParameterisedSystem< std::vector< double > > | |
std::string | DumpState (const std::string &rMessage) |
std::string | DumpState (const std::string &rMessage, std::vector< double >Y) |
std::string | DumpState (const std::string &rMessage, std::vector< double >Y, double time) |
void | CheckParametersOnLoad (const std::vector< double > &rParameters, const std::vector< std::string > &rParameterNames) |
Protected Attributes inherited from AbstractOdeBasedContractionModel | |
std::vector< double > | mTemporaryStateVariables |
double | mTime |
Protected Attributes inherited from AbstractOdeSystem | |
bool | mUseAnalyticJacobian |
Protected Attributes inherited from AbstractParameterisedSystem< std::vector< double > > | |
std::vector< double > | mStateVariables |
std::vector< double > | mParameters |
Protected Attributes inherited from AbstractUntemplatedParameterisedSystem | |
unsigned | mNumberOfStateVariables |
boost::shared_ptr< AbstractOdeSystemInformation > | mpSystemInfo |
Implementation of the ODE-based, stretch-dependent, stretch-rate-INdependent, contraction model detailed in the appendix of Kerchoffs 2003 "Intra- and interventricular asynchrony of electromechanics in the ventricularly paced heart".
Definition at line 48 of file Kerchoffs2003ContractionModel.hpp.
Kerchoffs2003ContractionModel::Kerchoffs2003ContractionModel | ( | ) |
Constructor
Definition at line 52 of file Kerchoffs2003ContractionModel.cpp.
References Ea, OdeSystemInformation< ODE_SYSTEM >::Instance(), ls0, mActivationTime, mElectricallyUnactivated, mIsActivated, AbstractParameterisedSystem< std::vector< double > >::mParameters, AbstractUntemplatedParameterisedSystem::mpSystemInfo, mSarcomereLength, AbstractParameterisedSystem< std::vector< double > >::mStateVariables, AbstractOdeBasedContractionModel::mTime, and AbstractParameterisedSystem< std::vector< double > >::SetParameter().
|
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 73 of file Kerchoffs2003ContractionModel.cpp.
References Ea, mSarcomereLength, and v0.
lengthOfContractileElement | length of contractile element (the state variable in this model). |
Definition at line 109 of file Kerchoffs2003ContractionModel.cpp.
References a6, a7, Ea, AbstractParameterisedSystem< std::vector< double > >::GetParameter(), ld, ls0, mActivationTime, mElectricallyUnactivated, mIsActivated, mSarcomereLength, AbstractOdeBasedContractionModel::mTime, and T0.
|
virtual |
Implements AbstractContractionModel.
Definition at line 144 of file Kerchoffs2003ContractionModel.cpp.
References AbstractParameterisedSystem< std::vector< double > >::mStateVariables.
Referenced by GetNextActiveTension().
|
virtual |
Implements AbstractContractionModel.
Definition at line 149 of file Kerchoffs2003ContractionModel.cpp.
References GetActiveTension(), and AbstractOdeBasedContractionModel::mTemporaryStateVariables.
Referenced by IsStretchRateDependent().
|
inlinevirtual |
Implements AbstractContractionModel.
Definition at line 124 of file Kerchoffs2003ContractionModel.hpp.
|
inlinevirtual |
Implements AbstractContractionModel.
Definition at line 132 of file Kerchoffs2003ContractionModel.hpp.
References GetNextActiveTension().
|
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 82 of file Kerchoffs2003ContractionModel.cpp.
References DOUBLE_UNSET, mActivationTime, mActivationVoltage, mDeactivationVoltage, mElectricallyUnactivated, mIsActivated, AbstractOdeBasedContractionModel::mTime, and ContractionModelInputParameters_::voltage.
|
virtual |
Take the stretch and compute the sarcomere length (stretch rate is not used).
stretch | stretch |
stretchRate | stretch rate |
Implements AbstractContractionModel.
Definition at line 103 of file Kerchoffs2003ContractionModel.cpp.
References ls0, and mSarcomereLength.
|
staticprivate |
See reference. 2.0 um^{-1}
Definition at line 53 of file Kerchoffs2003ContractionModel.hpp.
Referenced by GetActiveTension().
|
staticprivate |
See reference. 1.5 um
Definition at line 54 of file Kerchoffs2003ContractionModel.hpp.
Referenced by GetActiveTension().
|
staticprivate |
See reference. 20 um^{-1}
Definition at line 56 of file Kerchoffs2003ContractionModel.hpp.
Referenced by EvaluateYDerivatives(), GetActiveTension(), and Kerchoffs2003ContractionModel().
|
staticprivate |
See reference. -0.4 um
Definition at line 62 of file Kerchoffs2003ContractionModel.hpp.
Referenced by GetActiveTension().
|
staticprivate |
See reference. 1.9 um
Definition at line 58 of file Kerchoffs2003ContractionModel.hpp.
Referenced by GetActiveTension(), Kerchoffs2003ContractionModel(), and SetStretchAndStretchRate().
|
private |
Time (ms) of electrical activation (= time the voltage at this cell reached mActivationVoltage)
Definition at line 72 of file Kerchoffs2003ContractionModel.hpp.
Referenced by GetActiveTension(), Kerchoffs2003ContractionModel(), and SetInputParameters().
|
staticprivate |
Voltage threshold above which the cell is activated (mV) - note hysteresis
Definition at line 65 of file Kerchoffs2003ContractionModel.hpp.
Referenced by SetInputParameters().
|
staticprivate |
Voltage threshold below which the cell is deactivated (mV)
Definition at line 67 of file Kerchoffs2003ContractionModel.hpp.
Referenced by SetInputParameters().
|
private |
Whether the cell is electrically unactivated yet (whether the voltage has gone below mDeactivationVoltage
Definition at line 79 of file Kerchoffs2003ContractionModel.hpp.
Referenced by GetActiveTension(), Kerchoffs2003ContractionModel(), and SetInputParameters().
|
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 76 of file Kerchoffs2003ContractionModel.hpp.
Referenced by GetActiveTension(), Kerchoffs2003ContractionModel(), and SetInputParameters().
|
private |
Length of the sarcomere in um. Variable "ls" in reference. Fibre-stretch is ls/ls0.
Definition at line 70 of file Kerchoffs2003ContractionModel.hpp.
Referenced by EvaluateYDerivatives(), GetActiveTension(), Kerchoffs2003ContractionModel(), and SetStretchAndStretchRate().
|
staticprivate |
See reference. 180 kPa
Definition at line 55 of file Kerchoffs2003ContractionModel.hpp.
Referenced by GetActiveTension().
|
staticprivate |
See reference. 0.0075 um/ms
Definition at line 57 of file Kerchoffs2003ContractionModel.hpp.
Referenced by EvaluateYDerivatives().