Chaste Release::3.1
Kerchoffs2003ContractionModel Class Reference

#include <Kerchoffs2003ContractionModel.hpp>

Inheritance diagram for Kerchoffs2003ContractionModel:
Collaboration diagram for Kerchoffs2003ContractionModel:

List of all members.

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

Detailed Description

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.


Constructor & Destructor Documentation


Member Function Documentation

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

Parameters:
timetime
rY1D vector containing lc
rDY1D vector in which dlc/dt is set

Implements AbstractOdeSystem.

Definition at line 69 of file Kerchoffs2003ContractionModel.cpp.

References Ea, mSarcomereLength, and v0.

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

Parameters:
lengthOfContractileElementlength of contractile element (the state variable in this model).

Definition at line 105 of file Kerchoffs2003ContractionModel.cpp.

References a6, a7, b, Ea, ld, ls0, mActivationTime, mElectricallyUnactivated, mIsActivated, mSarcomereLength, AbstractOdeBasedContractionModel::mTime, T0, td, and tr.

double Kerchoffs2003ContractionModel::GetActiveTension ( ) [virtual]

Get the active tension (note: actually a stress), ie kPa

Implements AbstractContractionModel.

Definition at line 137 of file Kerchoffs2003ContractionModel.cpp.

References AbstractParameterisedSystem< std::vector< double > >::mStateVariables.

Referenced by GetNextActiveTension().

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 142 of file Kerchoffs2003ContractionModel.cpp.

References GetActiveTension(), and AbstractOdeBasedContractionModel::mTemporaryStateVariables.

bool Kerchoffs2003ContractionModel::IsStretchDependent ( ) [inline, virtual]

This model is stretch-dependent

Implements AbstractContractionModel.

Definition at line 124 of file Kerchoffs2003ContractionModel.hpp.

bool Kerchoffs2003ContractionModel::IsStretchRateDependent ( ) [inline, virtual]

This model is stretch-rate-independent

Implements AbstractContractionModel.

Definition at line 132 of file Kerchoffs2003ContractionModel.hpp.

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.

Parameters:
rInputParametersreference to the input parameters

Implements AbstractContractionModel.

Definition at line 78 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).

Parameters:
stretchstretch
stretchRatestretch rate

Implements AbstractContractionModel.

Definition at line 99 of file Kerchoffs2003ContractionModel.cpp.

References ls0, and mSarcomereLength.


Member Data Documentation

const double Kerchoffs2003ContractionModel::a6 = 2.0 [static, private]

See reference. 2.0 um^{-1}

Definition at line 53 of file Kerchoffs2003ContractionModel.hpp.

Referenced by GetActiveTension().

const double Kerchoffs2003ContractionModel::a7 = 1.5 [static, private]

See reference. 1.5 um

Definition at line 54 of file Kerchoffs2003ContractionModel.hpp.

Referenced by GetActiveTension().

const double Kerchoffs2003ContractionModel::b = 150 [static, private]

See reference. 150 ms/um

Definition at line 61 of file Kerchoffs2003ContractionModel.hpp.

Referenced by GetActiveTension().

const double Kerchoffs2003ContractionModel::Ea = 20 [static, private]

See reference. 20 um^{-1}

Definition at line 56 of file Kerchoffs2003ContractionModel.hpp.

Referenced by EvaluateYDerivatives(), GetActiveTension(), and Kerchoffs2003ContractionModel().

const double Kerchoffs2003ContractionModel::ld = -0.4 [static, private]

See reference. -0.4 um

Definition at line 62 of file Kerchoffs2003ContractionModel.hpp.

Referenced by GetActiveTension().

const double Kerchoffs2003ContractionModel::ls0 = 1.9 [static, private]

See reference. 1.9 um

Definition at line 58 of file Kerchoffs2003ContractionModel.hpp.

Referenced by GetActiveTension(), Kerchoffs2003ContractionModel(), and SetStretchAndStretchRate().

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().

Voltage threshold above which the cell is activated (mV) - note hysteresis

Definition at line 65 of file Kerchoffs2003ContractionModel.hpp.

Referenced by SetInputParameters().

Voltage threshold below which the cell is deactivated (mV)

Definition at line 67 of file Kerchoffs2003ContractionModel.hpp.

Referenced by SetInputParameters().

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().

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().

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().

const double Kerchoffs2003ContractionModel::T0 = 180 [static, private]

See reference. 180 kPa

Definition at line 55 of file Kerchoffs2003ContractionModel.hpp.

Referenced by GetActiveTension().

const double Kerchoffs2003ContractionModel::td = 75 [static, private]

See reference. 75 ms

Definition at line 60 of file Kerchoffs2003ContractionModel.hpp.

Referenced by GetActiveTension().

const double Kerchoffs2003ContractionModel::tr = 75 [static, private]

See reference. 75 ms

Definition at line 59 of file Kerchoffs2003ContractionModel.hpp.

Referenced by GetActiveTension().

const double Kerchoffs2003ContractionModel::v0 = 0.0075 [static, private]

See reference. 0.0075 um/ms

Definition at line 57 of file Kerchoffs2003ContractionModel.hpp.

Referenced by EvaluateYDerivatives().


The documentation for this class was generated from the following files: