NhsCellularMechanicsOdeSystem Class Reference

#include <NhsCellularMechanicsOdeSystem.hpp>

Inheritance diagram for NhsCellularMechanicsOdeSystem:

Inheritance graph
[legend]
Collaboration diagram for NhsCellularMechanicsOdeSystem:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 NhsCellularMechanicsOdeSystem ()
void SetLambdaAndDerivative (double lambda, double dlambdaDt)
void SetIntracellularCalciumConcentration (double calciumI)
double GetCalciumTroponinValue ()
void EvaluateYDerivatives (double time, const std::vector< double > &rY, std::vector< double > &rDY)
double GetActiveTension ()
double GetLambda ()

Protected Member Functions

void CalculateCalciumTrop50 ()
double CalculateT0 (double z)

Protected Attributes

double mLambda
double mDLambdaDt
double mCalciumI
double mCalciumTrop50
double mK1
double mK2

Static Protected Attributes

static const double mKon = 100
static const double mKrefoff = 0.2
static const double mGamma = 2
static const double mCalciumTroponinMax = 0.07
static const double mAlphaR1 = 0.002
static const double mAlphaR2 = 0.00175
static const double mKZ = 0.15
static const double mNr = 3
static const double mBeta1 = -4
static const double mAlpha0 = 0.008
static const double mN = 3
static const double mZp = 0.85
static const double mCalcium50ref = 0.00105
static const double mTref = 56.2
static const double mBeta0 = 4.9
static const double mA = 0.35
static const double mA1 = -29
static const double mA2 = 138
static const double mA3 = 129
static const double mAlpha1 = 0.03
static const double mAlpha2 = 0.130
static const double mAlpha3 = 0.625

Friends

class TestCellularMechanicsOdeSystems


Detailed Description

NHS (Niederer, Hunter, Smith) model of active tension in cardiac cells.

A system of ODEs which determines the active potential, given the intracellular calcium concentration, the stretch (lambda) of the cell, and the stretch rate (dlambda_dt) of the cell.

The state variables are, in order: Calcium_troponin, z, Q1, Q2, Q3

Reference: S.A. Niederer, N.P. Smith, P.J. Hunter, "New developments in a strongly coupled cardiac electro-mechanical model" Europace 7, S118-S127

THE ACTIVE TENSION IS RETURNED IN KILOPASCALS!!

Definition at line 48 of file NhsCellularMechanicsOdeSystem.hpp.


Constructor & Destructor Documentation

NhsCellularMechanicsOdeSystem::NhsCellularMechanicsOdeSystem (  ) 

Constructor. Initialises all state variables to zero, lambda to 1, dlambda_dt to 0 and intracellular calcium concentration to 0

Definition at line 60 of file NhsCellularMechanicsOdeSystem.cpp.

References CalculateCalciumTrop50(), OdeSystemInformation< ODE_SYSTEM >::Instance(), mAlphaR2, mCalciumI, mDLambdaDt, mK1, mK2, mKZ, mLambda, mNr, AbstractOdeSystem::mpSystemInfo, and mZp.


Member Function Documentation

void NhsCellularMechanicsOdeSystem::CalculateCalciumTrop50 (  )  [protected]

Compute the calcium_trop50 concentration. This is a function of constants and lambda, so only needs to be called in the constructor or when lambda is set

Definition at line 35 of file NhsCellularMechanicsOdeSystem.cpp.

References mBeta1, mCalcium50ref, mCalciumTrop50, mCalciumTroponinMax, mGamma, mKon, mKrefoff, and mLambda.

Referenced by NhsCellularMechanicsOdeSystem(), and SetLambdaAndDerivative().

double NhsCellularMechanicsOdeSystem::CalculateT0 ( double  z  )  [protected]

Calculate T0. This is a function of constants, lambda and z

Definition at line 44 of file NhsCellularMechanicsOdeSystem.cpp.

References mAlpha0, mAlphaR1, mBeta0, mCalciumTrop50, mCalciumTroponinMax, mK1, mK2, mLambda, mN, and mTref.

Referenced by NhsSystemWithImplicitSolver::CalcActiveTensionResidual(), EvaluateYDerivatives(), and GetActiveTension().

void NhsCellularMechanicsOdeSystem::SetLambdaAndDerivative ( double  lambda,
double  dlambdaDt 
)

Set the current stretch and the stretch rate of the cell/fibre

Definition at line 82 of file NhsCellularMechanicsOdeSystem.cpp.

References CalculateCalciumTrop50(), mDLambdaDt, and mLambda.

Referenced by ImplicitCardiacMechanicsAssembler< DIM >::AssembleOnElement().

void NhsCellularMechanicsOdeSystem::SetIntracellularCalciumConcentration ( double  calciumI  ) 

Set the current intracellular calcium concentration

Definition at line 91 of file NhsCellularMechanicsOdeSystem.cpp.

References mCalciumI.

double NhsCellularMechanicsOdeSystem::GetCalciumTroponinValue (  ) 

Get the current Calcium Troponin (one of the state variables) value. This may be needed if the cell model has Calcium troponin and might need overwriting

Definition at line 98 of file NhsCellularMechanicsOdeSystem.cpp.

void NhsCellularMechanicsOdeSystem::EvaluateYDerivatives ( double  time,
const std::vector< double > &  rY,
std::vector< double > &  rDY 
) [virtual]

Method to evaluate the derivatives of the system.

Parameters:
time the current time
rY the current values of the state variables
rDY storage for the derivatives of the system; will be filled in on return

Implements AbstractOdeSystem.

Definition at line 104 of file NhsCellularMechanicsOdeSystem.cpp.

References CalculateT0(), mA, mA1, mA2, mA3, mAlpha0, mAlpha1, mAlpha2, mAlpha3, mAlphaR1, mAlphaR2, mCalciumI, mCalciumTrop50, mCalciumTroponinMax, mDLambdaDt, mGamma, mKon, mKrefoff, mKZ, mN, mNr, and mTref.

double NhsCellularMechanicsOdeSystem::GetActiveTension (  ) 

Get the active tension, which is a function of the constants and current state variables

Definition at line 160 of file NhsCellularMechanicsOdeSystem.cpp.

References CalculateT0(), and mA.

Referenced by NhsSystemWithImplicitSolver::NhsSystemWithImplicitSolver().

double NhsCellularMechanicsOdeSystem::GetLambda (  ) 

Get the current stretch rate

Definition at line 175 of file NhsCellularMechanicsOdeSystem.cpp.

References mLambda.


Member Data Documentation

The stretch. To be specified by the caller

Definition at line 54 of file NhsCellularMechanicsOdeSystem.hpp.

Referenced by CalculateCalciumTrop50(), CalculateT0(), GetLambda(), NhsCellularMechanicsOdeSystem(), and SetLambdaAndDerivative().

The intracellular calcium concentration. To be specified by the caller

Definition at line 58 of file NhsCellularMechanicsOdeSystem.hpp.

Referenced by EvaluateYDerivatives(), NhsSystemWithImplicitSolver::ImplicitSolveForCaTrop(), NhsCellularMechanicsOdeSystem(), and SetIntracellularCalciumConcentration().

A parameter only dependent on constants and lambda, so updated whenever lambda is updated

Definition at line 62 of file NhsCellularMechanicsOdeSystem.hpp.

Referenced by CalculateCalciumTrop50(), CalculateT0(), NhsSystemWithImplicitSolver::CalcZResidual(), EvaluateYDerivatives(), and NhsSystemWithImplicitSolver::ImplicitExplicitSolveForZ().

A constant determined from the other constrants. Set up in the constructor

Definition at line 65 of file NhsCellularMechanicsOdeSystem.hpp.

Referenced by CalculateT0(), and NhsCellularMechanicsOdeSystem().

A constant determined from the other constrants. Set up in the constructor

Definition at line 67 of file NhsCellularMechanicsOdeSystem.hpp.

Referenced by CalculateT0(), and NhsCellularMechanicsOdeSystem().

const double NhsCellularMechanicsOdeSystem::mKon = 100 [static, protected]

const double NhsCellularMechanicsOdeSystem::mKrefoff = 0.2 [static, protected]

const double NhsCellularMechanicsOdeSystem::mGamma = 2 [static, protected]

const double NhsCellularMechanicsOdeSystem::mCalciumTroponinMax = 0.07 [static, protected]

const double NhsCellularMechanicsOdeSystem::mAlphaR1 = 0.002 [static, protected]

const double NhsCellularMechanicsOdeSystem::mAlphaR2 = 0.00175 [static, protected]

const double NhsCellularMechanicsOdeSystem::mKZ = 0.15 [static, protected]

const double NhsCellularMechanicsOdeSystem::mNr = 3 [static, protected]

const double NhsCellularMechanicsOdeSystem::mBeta1 = -4 [static, protected]

FILL IN. Dimensionless

Definition at line 96 of file NhsCellularMechanicsOdeSystem.hpp.

Referenced by CalculateCalciumTrop50().

const double NhsCellularMechanicsOdeSystem::mAlpha0 = 0.008 [static, protected]

const double NhsCellularMechanicsOdeSystem::mN = 3 [static, protected]

const double NhsCellularMechanicsOdeSystem::mZp = 0.85 [static, protected]

FILL IN. Dimensionless

Definition at line 105 of file NhsCellularMechanicsOdeSystem.hpp.

Referenced by NhsCellularMechanicsOdeSystem().

const double NhsCellularMechanicsOdeSystem::mCalcium50ref = 0.00105 [static, protected]

FILL IN. mMols

Definition at line 108 of file NhsCellularMechanicsOdeSystem.hpp.

Referenced by CalculateCalciumTrop50().

const double NhsCellularMechanicsOdeSystem::mTref = 56.2 [static, protected]

const double NhsCellularMechanicsOdeSystem::mBeta0 = 4.9 [static, protected]

FILL IN. Dimensionless

Definition at line 114 of file NhsCellularMechanicsOdeSystem.hpp.

Referenced by CalculateT0().

const double NhsCellularMechanicsOdeSystem::mA = 0.35 [static, protected]

const double NhsCellularMechanicsOdeSystem::mA1 = -29 [static, protected]

FILL IN. Dimensionless

Definition at line 120 of file NhsCellularMechanicsOdeSystem.hpp.

Referenced by EvaluateYDerivatives(), and NhsSystemWithImplicitSolver::ImplicitSolveForQ().

const double NhsCellularMechanicsOdeSystem::mA2 = 138 [static, protected]

FILL IN. Dimensionless

Definition at line 123 of file NhsCellularMechanicsOdeSystem.hpp.

Referenced by EvaluateYDerivatives(), and NhsSystemWithImplicitSolver::ImplicitSolveForQ().

const double NhsCellularMechanicsOdeSystem::mA3 = 129 [static, protected]

FILL IN. Dimensionless

Definition at line 126 of file NhsCellularMechanicsOdeSystem.hpp.

Referenced by EvaluateYDerivatives(), and NhsSystemWithImplicitSolver::ImplicitSolveForQ().

const double NhsCellularMechanicsOdeSystem::mAlpha1 = 0.03 [static, protected]

const double NhsCellularMechanicsOdeSystem::mAlpha2 = 0.130 [static, protected]

const double NhsCellularMechanicsOdeSystem::mAlpha3 = 0.625 [static, protected]


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

Generated on Wed Mar 18 12:52:45 2009 for Chaste by  doxygen 1.5.5