BackwardEulerLuoRudyIModel1991 Class Reference

#include <BackwardEulerLuoRudyIModel1991.hpp>

Inherits AbstractBackwardEulerCardiacCell< 1 >.

Collaboration diagram for BackwardEulerLuoRudyIModel1991:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 BackwardEulerLuoRudyIModel1991 (boost::shared_ptr< AbstractStimulusFunction > pIntracellularStimulus)
 BackwardEulerLuoRudyIModel1991 (boost::shared_ptr< AbstractIvpOdeSolver >, boost::shared_ptr< AbstractStimulusFunction > pIntracellularStimulus)
 ~BackwardEulerLuoRudyIModel1991 ()
void Init ()
void ComputeResidual (double var_environment__time, const double rCurrentGuess[1], double rResidual[1])
void ComputeJacobian (double var_environment__time, const double rCurrentGuess[1], double rJacobian[1][1])
double GetIIonic ()
void VerifyStateVariables ()
double GetIntracellularCalciumConcentration ()

Protected Member Functions

void ComputeOneStepExceptVoltage (double tStart)
void UpdateTransmembranePotential (double time)

Private Member Functions

template<class Archive >
void serialize (Archive &archive, const unsigned int version)

Private Attributes

double fast_sodium_current_E_Na

Static Private Attributes

static const double membrane_C = 1.0
static const double membrane_F = 96484.6
static const double membrane_R = 8314
static const double membrane_T = 310.0
static const double background_current_E_b = -59.87
static const double background_current_g_b = 0.03921
static const double fast_sodium_current_g_Na = 23.0
static const double ionic_concentrations_Ki = 145.0
static const double ionic_concentrations_Ko = 5.4
static const double ionic_concentrations_Nai = 18.0
static const double ionic_concentrations_Nao = 140.0
static const double plateau_potassium_current_g_Kp = 0.0183
static const double time_dependent_potassium_current_PR_NaK = 0.01833

Friends

class boost::serialization::access

Detailed Description

This class sets up the Luo-Rudy I 1991 system of equations, and solves them using a decoupled backward Euler approach.

Definition at line 43 of file BackwardEulerLuoRudyIModel1991.hpp.


Constructor & Destructor Documentation

BackwardEulerLuoRudyIModel1991::BackwardEulerLuoRudyIModel1991 ( boost::shared_ptr< AbstractStimulusFunction pIntracellularStimulus  ) 

Constructor

Parameters:
pIntracellularStimulus a pointer to the intracellular stimulus

Definition at line 56 of file BackwardEulerLuoRudyIModel1991.cpp.

References Init().

BackwardEulerLuoRudyIModel1991::BackwardEulerLuoRudyIModel1991 ( boost::shared_ptr< AbstractIvpOdeSolver ,
boost::shared_ptr< AbstractStimulusFunction pIntracellularStimulus 
)

Constructor with the same signature as the forward cell models

Parameters:
pIntracellularStimulus a pointer to the intracellular stimulus

Definition at line 63 of file BackwardEulerLuoRudyIModel1991.cpp.

References Init().

BackwardEulerLuoRudyIModel1991::~BackwardEulerLuoRudyIModel1991 ( void   ) 

Destructor

Definition at line 71 of file BackwardEulerLuoRudyIModel1991.cpp.


Member Function Documentation

void BackwardEulerLuoRudyIModel1991::ComputeJacobian ( double  var_environment__time,
const double  rCurrentGuess[1],
double  rJacobian[1][1] 
)

Compute the Jacobian for the Newton iteration for the non-linear system portion of the model.

Parameters:
var_environment__time the current time
rCurrentGuess current values of the non-linear system variables
rJacobian to be filled in with the jacobian matrix

Definition at line 333 of file BackwardEulerLuoRudyIModel1991.cpp.

References AbstractCardiacCell::mDt, and AbstractOdeSystem::rGetStateVariables().

void BackwardEulerLuoRudyIModel1991::ComputeOneStepExceptVoltage ( double  tStart  )  [protected, virtual]

Compute the values of all state variables except the voltage for one timestep.

Parameters:
tStart start of the timestep

Implements AbstractBackwardEulerCardiacCell< 1 >.

Definition at line 183 of file BackwardEulerLuoRudyIModel1991.cpp.

References AbstractCardiacCell::mDt, AbstractOdeSystem::rGetStateVariables(), and CardiacNewtonSolver< SIZE >::Solve().

void BackwardEulerLuoRudyIModel1991::ComputeResidual ( double  var_environment__time,
const double  rCurrentGuess[1],
double  rResidual[1] 
)

Compute the residual for the Newton iteration for the non-linear system portion of the model.

Parameters:
var_environment__time the current time
rCurrentGuess current values of the non-linear system variables
rResidual to be filled in with the residual vector

Definition at line 318 of file BackwardEulerLuoRudyIModel1991.cpp.

References AbstractCardiacCell::mDt, and AbstractOdeSystem::rGetStateVariables().

double BackwardEulerLuoRudyIModel1991::GetIIonic (  )  [virtual]
double BackwardEulerLuoRudyIModel1991::GetIntracellularCalciumConcentration (  )  [virtual]
Returns:
the intracellular calcium concentration

Reimplemented from AbstractCardiacCell.

Definition at line 125 of file BackwardEulerLuoRudyIModel1991.cpp.

References AbstractOdeSystem::mStateVariables.

void BackwardEulerLuoRudyIModel1991::Init (  ) 

Calculates the remaining parameters and calls the base class Init method.

Reimplemented from AbstractCardiacCell.

Definition at line 76 of file BackwardEulerLuoRudyIModel1991.cpp.

References fast_sodium_current_E_Na, ionic_concentrations_Nai, ionic_concentrations_Nao, membrane_F, membrane_R, membrane_T, and AbstractOdeSystem::mpSystemInfo.

Referenced by BackwardEulerLuoRudyIModel1991().

template<class Archive >
void BackwardEulerLuoRudyIModel1991::serialize ( Archive &  archive,
const unsigned int  version 
) [inline, private]

Archive the member variables.

Parameters:
archive 
version 

Reimplemented from AbstractBackwardEulerCardiacCell< 1 >.

Definition at line 55 of file BackwardEulerLuoRudyIModel1991.hpp.

void BackwardEulerLuoRudyIModel1991::UpdateTransmembranePotential ( double  time  )  [protected, virtual]
void BackwardEulerLuoRudyIModel1991::VerifyStateVariables (  )  [virtual]

Check that none of the gating variables have gone out of range. Throws an Exception if any have.

Reimplemented from AbstractCardiacCell.

Definition at line 401 of file BackwardEulerLuoRudyIModel1991.cpp.

References AbstractOdeSystem::rGetStateVariables().


Friends And Related Function Documentation

friend class boost::serialization::access [friend]

Needed for serialization.

Reimplemented from AbstractBackwardEulerCardiacCell< 1 >.

Definition at line 47 of file BackwardEulerLuoRudyIModel1991.hpp.


Member Data Documentation

Reversal potential for background current, mV

Definition at line 67 of file BackwardEulerLuoRudyIModel1991.hpp.

Referenced by GetIIonic(), and UpdateTransmembranePotential().

Maximal conductance for background current, mS/cm^2

Definition at line 68 of file BackwardEulerLuoRudyIModel1991.hpp.

Referenced by GetIIonic(), and UpdateTransmembranePotential().

another parameter, which is a function of the above

Definition at line 78 of file BackwardEulerLuoRudyIModel1991.hpp.

Referenced by GetIIonic(), Init(), and UpdateTransmembranePotential().

Maximal conductance for sodium current, mS/cm^2

Definition at line 69 of file BackwardEulerLuoRudyIModel1991.hpp.

Referenced by GetIIonic(), and UpdateTransmembranePotential().

Intracellular potassium concentration, mM

Definition at line 70 of file BackwardEulerLuoRudyIModel1991.hpp.

Referenced by GetIIonic(), and UpdateTransmembranePotential().

Extracellular potassium concentration, mM

Definition at line 71 of file BackwardEulerLuoRudyIModel1991.hpp.

Referenced by GetIIonic(), and UpdateTransmembranePotential().

Intracellular sodium concentration, mM

Definition at line 72 of file BackwardEulerLuoRudyIModel1991.hpp.

Referenced by GetIIonic(), Init(), and UpdateTransmembranePotential().

Extracellular sodium concentration, mM

Definition at line 73 of file BackwardEulerLuoRudyIModel1991.hpp.

Referenced by GetIIonic(), Init(), and UpdateTransmembranePotential().

const double BackwardEulerLuoRudyIModel1991::membrane_C = 1.0 [static, private]

Membrane capacitance, uF/cm^2

Definition at line 63 of file BackwardEulerLuoRudyIModel1991.hpp.

Referenced by UpdateTransmembranePotential().

const double BackwardEulerLuoRudyIModel1991::membrane_F = 96484.6 [static, private]

Faraday's constant, C/mol

Definition at line 64 of file BackwardEulerLuoRudyIModel1991.hpp.

Referenced by GetIIonic(), Init(), and UpdateTransmembranePotential().

const double BackwardEulerLuoRudyIModel1991::membrane_R = 8314 [static, private]

Universal gas constant, J/kmol K

Definition at line 65 of file BackwardEulerLuoRudyIModel1991.hpp.

Referenced by GetIIonic(), Init(), and UpdateTransmembranePotential().

const double BackwardEulerLuoRudyIModel1991::membrane_T = 310.0 [static, private]

Temperature, K

Definition at line 66 of file BackwardEulerLuoRudyIModel1991.hpp.

Referenced by GetIIonic(), Init(), and UpdateTransmembranePotential().

Maximal conductance for plateau potassium current, mS/cm^2

Definition at line 74 of file BackwardEulerLuoRudyIModel1991.hpp.

Referenced by GetIIonic(), and UpdateTransmembranePotential().

Permeability ratio of sodium over potassium, dimensionless

Definition at line 75 of file BackwardEulerLuoRudyIModel1991.hpp.

Referenced by GetIIonic(), and UpdateTransmembranePotential().


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

Generated by  doxygen 1.6.2