Chaste
Release::2018.1
|
#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 () |
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().