![]() |
Chaste
Release::3.4
|
#include <Nash2004ContractionModel.hpp>
Inheritance diagram for Nash2004ContractionModel:
Collaboration diagram for Nash2004ContractionModel: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 () |
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 Attributes | |
| double | mScaledVoltage |
Static Private Attributes | |
| static const double | kTa = 47.9 |
| static const double | e0ByT0 = 1.0/100 |
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 |
Nash2004 contraction model - Nash & Panfilov "Electromechanical mode of excitable tissue to study reentrant cardiac arrthrymias", Progress in Biophysics and Molecular Biology, 2004.
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 60 of file Nash2004ContractionModel.hpp.
|
inline |
Constructor
Definition at line 73 of file Nash2004ContractionModel.hpp.
References OdeSystemInformation< ODE_SYSTEM >::Instance(), AbstractUntemplatedParameterisedSystem::mpSystemInfo, mScaledVoltage, and AbstractParameterisedSystem< std::vector< double > >::mStateVariables.
|
inlinevirtual |
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 87 of file Nash2004ContractionModel.hpp.
References e0ByT0, kTa, and mScaledVoltage.
|
inlinevirtual |
Implements AbstractContractionModel.
Definition at line 115 of file Nash2004ContractionModel.hpp.
References AbstractParameterisedSystem< std::vector< double > >::rGetStateVariables().
|
inlinevirtual |
Implements AbstractContractionModel.
Definition at line 124 of file Nash2004ContractionModel.hpp.
References AbstractOdeBasedContractionModel::mTemporaryStateVariables.
|
inlinevirtual |
Implements AbstractContractionModel.
Definition at line 133 of file Nash2004ContractionModel.hpp.
|
inlinevirtual |
Implements AbstractContractionModel.
Definition at line 141 of file Nash2004ContractionModel.hpp.
|
inlinevirtual |
Set the input parameters. Only the voltage is used
| rInputParameters | reference to the input parameters |
Implements AbstractContractionModel.
Definition at line 97 of file Nash2004ContractionModel.hpp.
References DOUBLE_UNSET, mScaledVoltage, and ContractionModelInputParameters_::voltage.
|
inlinevirtual |
Neither stretch nor stretch rate are used so this method does nothing
| stretch | stretch |
| stretchRate | stretch rate |
Implements AbstractContractionModel.
Definition at line 108 of file Nash2004ContractionModel.hpp.
|
staticprivate |
Other parameter. See above and reference.
Definition at line 66 of file Nash2004ContractionModel.hpp.
Referenced by EvaluateYDerivatives().
|
staticprivate |
Stiffness parameter. See reference. kPa
Definition at line 63 of file Nash2004ContractionModel.hpp.
Referenced by EvaluateYDerivatives().
|
private |
Non-dimensionalised voltage. See above.
Definition at line 69 of file Nash2004ContractionModel.hpp.
Referenced by EvaluateYDerivatives(), Nash2004ContractionModel(), and SetInputParameters().