#include <BackwardEulerLuoRudyIModel1991.hpp>
Inherits AbstractBackwardEulerCardiacCell< 1 >.
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 |
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.
BackwardEulerLuoRudyIModel1991::BackwardEulerLuoRudyIModel1991 | ( | boost::shared_ptr< AbstractStimulusFunction > | pIntracellularStimulus | ) |
Constructor
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
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.
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.
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.
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.
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] |
Compute the ionic current at the current instant in time (i.e. using the current values of the state variables).
Implements AbstractCardiacCell.
Definition at line 343 of file BackwardEulerLuoRudyIModel1991.cpp.
References background_current_E_b, background_current_g_b, fast_sodium_current_E_Na, fast_sodium_current_g_Na, ionic_concentrations_Ki, ionic_concentrations_Ko, ionic_concentrations_Nai, ionic_concentrations_Nao, membrane_F, membrane_R, membrane_T, AbstractOdeSystem::mStateVariables, plateau_potassium_current_g_Kp, and time_dependent_potassium_current_PR_NaK.
double BackwardEulerLuoRudyIModel1991::GetIntracellularCalciumConcentration | ( | ) | [virtual] |
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().
void BackwardEulerLuoRudyIModel1991::serialize | ( | Archive & | archive, | |
const unsigned int | version | |||
) | [inline, private] |
Archive the member variables.
archive | ||
version |
Reimplemented from AbstractBackwardEulerCardiacCell< 1 >.
Definition at line 55 of file BackwardEulerLuoRudyIModel1991.hpp.
void BackwardEulerLuoRudyIModel1991::UpdateTransmembranePotential | ( | double | time | ) | [protected, virtual] |
Perform a forward Euler step to update the transmembrane potential.
time | start of the timestep |
Implements AbstractBackwardEulerCardiacCell< 1 >.
Definition at line 131 of file BackwardEulerLuoRudyIModel1991.cpp.
References background_current_E_b, background_current_g_b, fast_sodium_current_E_Na, fast_sodium_current_g_Na, AbstractCardiacCell::GetStimulus(), ionic_concentrations_Ki, ionic_concentrations_Ko, ionic_concentrations_Nai, ionic_concentrations_Nao, AbstractCardiacCell::mDt, membrane_C, membrane_F, membrane_R, membrane_T, plateau_potassium_current_g_Kp, AbstractOdeSystem::rGetStateVariables(), and time_dependent_potassium_current_PR_NaK.
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().
friend class boost::serialization::access [friend] |
Needed for serialization.
Reimplemented from AbstractBackwardEulerCardiacCell< 1 >.
Definition at line 47 of file BackwardEulerLuoRudyIModel1991.hpp.
const double BackwardEulerLuoRudyIModel1991::background_current_E_b = -59.87 [static, private] |
Reversal potential for background current, mV
Definition at line 67 of file BackwardEulerLuoRudyIModel1991.hpp.
Referenced by GetIIonic(), and UpdateTransmembranePotential().
const double BackwardEulerLuoRudyIModel1991::background_current_g_b = 0.03921 [static, private] |
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().
const double BackwardEulerLuoRudyIModel1991::fast_sodium_current_g_Na = 23.0 [static, private] |
Maximal conductance for sodium current, mS/cm^2
Definition at line 69 of file BackwardEulerLuoRudyIModel1991.hpp.
Referenced by GetIIonic(), and UpdateTransmembranePotential().
const double BackwardEulerLuoRudyIModel1991::ionic_concentrations_Ki = 145.0 [static, private] |
Intracellular potassium concentration, mM
Definition at line 70 of file BackwardEulerLuoRudyIModel1991.hpp.
Referenced by GetIIonic(), and UpdateTransmembranePotential().
const double BackwardEulerLuoRudyIModel1991::ionic_concentrations_Ko = 5.4 [static, private] |
Extracellular potassium concentration, mM
Definition at line 71 of file BackwardEulerLuoRudyIModel1991.hpp.
Referenced by GetIIonic(), and UpdateTransmembranePotential().
const double BackwardEulerLuoRudyIModel1991::ionic_concentrations_Nai = 18.0 [static, private] |
Intracellular sodium concentration, mM
Definition at line 72 of file BackwardEulerLuoRudyIModel1991.hpp.
Referenced by GetIIonic(), Init(), and UpdateTransmembranePotential().
const double BackwardEulerLuoRudyIModel1991::ionic_concentrations_Nao = 140.0 [static, private] |
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().
const double BackwardEulerLuoRudyIModel1991::plateau_potassium_current_g_Kp = 0.0183 [static, private] |
Maximal conductance for plateau potassium current, mS/cm^2
Definition at line 74 of file BackwardEulerLuoRudyIModel1991.hpp.
Referenced by GetIIonic(), and UpdateTransmembranePotential().
const double BackwardEulerLuoRudyIModel1991::time_dependent_potassium_current_PR_NaK = 0.01833 [static, private] |
Permeability ratio of sodium over potassium, dimensionless
Definition at line 75 of file BackwardEulerLuoRudyIModel1991.hpp.
Referenced by GetIIonic(), and UpdateTransmembranePotential().