Chaste  Release::2018.1
Nash2004ContractionModel Class Reference

#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< doubleGetStateVariables ()
 
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< doubleGetInitialConditions () 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< doubleComputeDerivedQuantities (double time, const std::vector< double > &rState)
 
std::vector< doubleComputeDerivedQuantitiesFromCurrentState (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< doublemTemporaryStateVariables
 
double mTime
 
- Protected Attributes inherited from AbstractOdeSystem
bool mUseAnalyticJacobian
 
- Protected Attributes inherited from AbstractParameterisedSystem< std::vector< double > >
std::vector< doublemStateVariables
 
std::vector< doublemParameters
 
- Protected Attributes inherited from AbstractUntemplatedParameterisedSystem
unsigned mNumberOfStateVariables
 
boost::shared_ptr
< AbstractOdeSystemInformation
mpSystemInfo
 

Detailed Description

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.

Constructor & Destructor Documentation

Member Function Documentation

void Nash2004ContractionModel::EvaluateYDerivatives ( double  time,
const std::vector< double > &  rY,
std::vector< double > &  rDY 
)
inlinevirtual

Calculate the derivative of the Ta (the state variable)

Parameters
timetime
rY1D vector containing Ta
rDY1D vector in which dTa/dt is set

Implements AbstractOdeSystem.

Definition at line 87 of file Nash2004ContractionModel.hpp.

References e0ByT0, kTa, and mScaledVoltage.

double Nash2004ContractionModel::GetActiveTension ( )
inlinevirtual
Returns
the current active tension

Implements AbstractContractionModel.

Definition at line 115 of file Nash2004ContractionModel.hpp.

References AbstractParameterisedSystem< std::vector< double > >::rGetStateVariables().

double Nash2004ContractionModel::GetNextActiveTension ( )
inlinevirtual
Returns
the active tension corresponding to the temporary stored state variables produced by calling RunDoNotUpdate (and before calling UpdateStateVariables())

Implements AbstractContractionModel.

Definition at line 124 of file Nash2004ContractionModel.hpp.

References AbstractOdeBasedContractionModel::mTemporaryStateVariables.

bool Nash2004ContractionModel::IsStretchDependent ( )
inlinevirtual
Returns
whether model is stretch-independent

Implements AbstractContractionModel.

Definition at line 133 of file Nash2004ContractionModel.hpp.

bool Nash2004ContractionModel::IsStretchRateDependent ( )
inlinevirtual
Returns
whether model is stretch-rate-independent

Implements AbstractContractionModel.

Definition at line 141 of file Nash2004ContractionModel.hpp.

void Nash2004ContractionModel::SetInputParameters ( ContractionModelInputParameters rInputParameters)
inlinevirtual

Set the input parameters. Only the voltage is used

Parameters
rInputParametersreference to the input parameters

Implements AbstractContractionModel.

Definition at line 97 of file Nash2004ContractionModel.hpp.

References DOUBLE_UNSET, mScaledVoltage, and ContractionModelInputParameters_::voltage.

void Nash2004ContractionModel::SetStretchAndStretchRate ( double  stretch,
double  stretchRate 
)
inlinevirtual

Neither stretch nor stretch rate are used so this method does nothing

Parameters
stretchstretch
stretchRatestretch rate

Implements AbstractContractionModel.

Definition at line 108 of file Nash2004ContractionModel.hpp.

Member Data Documentation

const double Nash2004ContractionModel::e0ByT0 = 1.0/100
staticprivate

Other parameter. See above and reference.

Definition at line 66 of file Nash2004ContractionModel.hpp.

Referenced by EvaluateYDerivatives().

const double Nash2004ContractionModel::kTa = 47.9
staticprivate

Stiffness parameter. See reference. kPa

Definition at line 63 of file Nash2004ContractionModel.hpp.

Referenced by EvaluateYDerivatives().

double Nash2004ContractionModel::mScaledVoltage
private

Non-dimensionalised voltage. See above.

Definition at line 69 of file Nash2004ContractionModel.hpp.

Referenced by EvaluateYDerivatives(), Nash2004ContractionModel(), and SetInputParameters().


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