#include <DiFrancescoNoble1985OdeSystem.hpp>
Public Member Functions | |
DiFrancescoNoble1985OdeSystem (boost::shared_ptr< AbstractIvpOdeSolver > pSolver, boost::shared_ptr< AbstractStimulusFunction > pIntracellularStimulus) | |
~DiFrancescoNoble1985OdeSystem () | |
void | EvaluateYDerivatives (double time, const std::vector< double > &rY, std::vector< double > &rDY) |
double | GetIIonic () |
Private Member Functions | |
void | VerifyStateVariables () |
Private Attributes | |
double | Vi |
double | Vup |
double | Vrel |
double | Ve |
double | Vcell |
double | RToNF |
Static Private Attributes | |
static const double | membrane_C = 75.0 |
static const double | radius = 0.05 |
static const double | length = 2 |
static const double | V_e_ratio = 0.1 |
static const double | R = 8314.472 |
static const double | T = 310 |
static const double | F = 96485.3415 |
static const double | g_fna = 3 |
static const double | g_fk = 3 |
static const double | g_na_b = 0.18 |
static const double | g_ca_b = 0.02 |
static const double | g_na = 750.0 |
static const double | g_k1 = 920 |
static const double | g_to = 0.28 |
static const double | I_P = 125 |
static const double | i_kmax = 180 |
static const double | k_naca = 0.02 |
static const double | P_si = 15.0 |
static const double | Nao = 140 |
static const double | Cao = 2 |
static const double | Kb = 4 |
static const double | Kmf = 45 |
static const double | Km1 = 210 |
static const double | Kmto = 10 |
static const double | KmK = 1 |
static const double | KmNa = 40 |
static const double | Kmf2 = 0.001 |
static const double | KmCa = 0.001 |
static const double | Km_Ca = 0.0005 |
static const double | n_naca = 3 |
static const double | gamma = 0.5 |
static const double | d_naca = 0.001 |
static const double | rCa = 2.0 |
static const double | tau_up = 0.025 |
static const double | tau_rep = 2 |
static const double | tau_rel = 0.05 |
static const double | Ca_up_max = 5 |
static const double | pf = 0.0007 |
static const double | Vecs = 0.05 |
Definition at line 39 of file DiFrancescoNoble1985OdeSystem.hpp.
DiFrancescoNoble1985OdeSystem::DiFrancescoNoble1985OdeSystem | ( | boost::shared_ptr< AbstractIvpOdeSolver > | pSolver, | |
boost::shared_ptr< AbstractStimulusFunction > | pIntracellularStimulus | |||
) |
Constructor
pSolver | is a pointer to the ODE solver | |
pIntracellularStimulus | is a pointer to the intracellular stimulus |
Definition at line 83 of file DiFrancescoNoble1985OdeSystem.cpp.
References F, AbstractCardiacCell::Init(), OdeSystemInformation< ODE_SYSTEM >::Instance(), length, AbstractOdeSystem::mpSystemInfo, R, radius, RToNF, T, V_e_ratio, Vcell, Ve, Vecs, Vi, Vrel, and Vup.
DiFrancescoNoble1985OdeSystem::~DiFrancescoNoble1985OdeSystem | ( | void | ) |
Destructor
Definition at line 105 of file DiFrancescoNoble1985OdeSystem.cpp.
void DiFrancescoNoble1985OdeSystem::VerifyStateVariables | ( | ) | [private, virtual] |
Range-checking on the current values of the state variables. Make sure all gating variables have are within zero and one, and all concentrations are positive
Reimplemented from AbstractCardiacCell.
Definition at line 412 of file DiFrancescoNoble1985OdeSystem.cpp.
References AbstractOdeSystem::DumpState(), and AbstractOdeSystem::rGetStateVariables().
Referenced by EvaluateYDerivatives().
void DiFrancescoNoble1985OdeSystem::EvaluateYDerivatives | ( | double | time, | |
const std::vector< double > & | rY, | |||
std::vector< double > & | rDY | |||
) | [virtual] |
Fill in a vector representing the RHS of the TenTusscher2006 system of Odes at each time step, y' = [y1' ... yn']. Some ODE solver will call this function repeatedly to solve for y = [y1 ... yn].
time | the current time, in milliseconds | |
rY | current values of the state variables | |
rDY | to be filled in with derivatives |
time | the current time, in milliseconds | |
rY | current values of the state variables | |
rDY | to be filled in with derivatives |
Implements AbstractOdeSystem.
Definition at line 118 of file DiFrancescoNoble1985OdeSystem.cpp.
References Ca_up_max, Cao, d_naca, F, g_ca_b, g_fk, g_fna, g_k1, g_na, g_na_b, g_to, gamma, AbstractCardiacCell::GetStimulus(), i_kmax, I_P, k_naca, Kb, Km1, Km_Ca, KmCa, Kmf, Kmf2, KmK, KmNa, Kmto, membrane_C, AbstractCardiacCell::mSetVoltageDerivativeToZero, n_naca, Nao, P_si, pf, rCa, RToNF, tau_rel, tau_rep, tau_up, Ve, VerifyStateVariables(), Vi, Vrel, and Vup.
double DiFrancescoNoble1985OdeSystem::GetIIonic | ( | ) | [virtual] |
Returns the ionic current
Implements AbstractCardiacCell.
Definition at line 333 of file DiFrancescoNoble1985OdeSystem.cpp.
References Cao, d_naca, g_ca_b, g_fk, g_fna, g_k1, g_na, g_na_b, g_to, gamma, i_kmax, I_P, k_naca, Km1, Km_Ca, Kmf, KmK, KmNa, Kmto, AbstractOdeSystem::mStateVariables, n_naca, Nao, P_si, and RToNF.
const double DiFrancescoNoble1985OdeSystem::membrane_C = 75.0 [static, private] |
nanoF. It must be so because dV/dt is in mV/ms and currents are in nA.
Definition at line 44 of file DiFrancescoNoble1985OdeSystem.hpp.
Referenced by EvaluateYDerivatives().
const double DiFrancescoNoble1985OdeSystem::radius = 0.05 [static, private] |
mm
Definition at line 45 of file DiFrancescoNoble1985OdeSystem.hpp.
Referenced by DiFrancescoNoble1985OdeSystem().
const double DiFrancescoNoble1985OdeSystem::length = 2 [static, private] |
mmm
Definition at line 46 of file DiFrancescoNoble1985OdeSystem.hpp.
Referenced by DiFrancescoNoble1985OdeSystem().
const double DiFrancescoNoble1985OdeSystem::V_e_ratio = 0.1 [static, private] |
dimensionless
Definition at line 47 of file DiFrancescoNoble1985OdeSystem.hpp.
Referenced by DiFrancescoNoble1985OdeSystem().
const double DiFrancescoNoble1985OdeSystem::R = 8314.472 [static, private] |
J/(kmol*Kelvin)
Definition at line 48 of file DiFrancescoNoble1985OdeSystem.hpp.
Referenced by DiFrancescoNoble1985OdeSystem().
const double DiFrancescoNoble1985OdeSystem::T = 310 [static, private] |
Kelvin
Definition at line 49 of file DiFrancescoNoble1985OdeSystem.hpp.
Referenced by DiFrancescoNoble1985OdeSystem().
const double DiFrancescoNoble1985OdeSystem::F = 96485.3415 [static, private] |
C/mol
Definition at line 50 of file DiFrancescoNoble1985OdeSystem.hpp.
Referenced by DiFrancescoNoble1985OdeSystem(), and EvaluateYDerivatives().
const double DiFrancescoNoble1985OdeSystem::g_fna = 3 [static, private] |
microS
Definition at line 53 of file DiFrancescoNoble1985OdeSystem.hpp.
Referenced by EvaluateYDerivatives(), and GetIIonic().
const double DiFrancescoNoble1985OdeSystem::g_fk = 3 [static, private] |
microS
Definition at line 54 of file DiFrancescoNoble1985OdeSystem.hpp.
Referenced by EvaluateYDerivatives(), and GetIIonic().
const double DiFrancescoNoble1985OdeSystem::g_na_b = 0.18 [static, private] |
microS
Definition at line 55 of file DiFrancescoNoble1985OdeSystem.hpp.
Referenced by EvaluateYDerivatives(), and GetIIonic().
const double DiFrancescoNoble1985OdeSystem::g_ca_b = 0.02 [static, private] |
microS
Definition at line 56 of file DiFrancescoNoble1985OdeSystem.hpp.
Referenced by EvaluateYDerivatives(), and GetIIonic().
const double DiFrancescoNoble1985OdeSystem::g_na = 750.0 [static, private] |
microS
Definition at line 57 of file DiFrancescoNoble1985OdeSystem.hpp.
Referenced by EvaluateYDerivatives(), and GetIIonic().
const double DiFrancescoNoble1985OdeSystem::g_k1 = 920 [static, private] |
microS
Definition at line 58 of file DiFrancescoNoble1985OdeSystem.hpp.
Referenced by EvaluateYDerivatives(), and GetIIonic().
const double DiFrancescoNoble1985OdeSystem::g_to = 0.28 [static, private] |
microS/mM
Definition at line 59 of file DiFrancescoNoble1985OdeSystem.hpp.
Referenced by EvaluateYDerivatives(), and GetIIonic().
const double DiFrancescoNoble1985OdeSystem::I_P = 125 [static, private] |
nA
Definition at line 60 of file DiFrancescoNoble1985OdeSystem.hpp.
Referenced by EvaluateYDerivatives(), and GetIIonic().
const double DiFrancescoNoble1985OdeSystem::i_kmax = 180 [static, private] |
nA
Definition at line 61 of file DiFrancescoNoble1985OdeSystem.hpp.
Referenced by EvaluateYDerivatives(), and GetIIonic().
const double DiFrancescoNoble1985OdeSystem::k_naca = 0.02 [static, private] |
nA
Definition at line 62 of file DiFrancescoNoble1985OdeSystem.hpp.
Referenced by EvaluateYDerivatives(), and GetIIonic().
const double DiFrancescoNoble1985OdeSystem::P_si = 15.0 [static, private] |
nA/mM
Definition at line 63 of file DiFrancescoNoble1985OdeSystem.hpp.
Referenced by EvaluateYDerivatives(), and GetIIonic().
const double DiFrancescoNoble1985OdeSystem::Nao = 140 [static, private] |
mM
Definition at line 65 of file DiFrancescoNoble1985OdeSystem.hpp.
Referenced by EvaluateYDerivatives(), and GetIIonic().
const double DiFrancescoNoble1985OdeSystem::Cao = 2 [static, private] |
mM
Definition at line 66 of file DiFrancescoNoble1985OdeSystem.hpp.
Referenced by EvaluateYDerivatives(), and GetIIonic().
const double DiFrancescoNoble1985OdeSystem::Kb = 4 [static, private] |
mM
Definition at line 67 of file DiFrancescoNoble1985OdeSystem.hpp.
Referenced by EvaluateYDerivatives().
const double DiFrancescoNoble1985OdeSystem::Kmf = 45 [static, private] |
mM
Definition at line 68 of file DiFrancescoNoble1985OdeSystem.hpp.
Referenced by EvaluateYDerivatives(), and GetIIonic().
const double DiFrancescoNoble1985OdeSystem::Km1 = 210 [static, private] |
mM
Definition at line 69 of file DiFrancescoNoble1985OdeSystem.hpp.
Referenced by EvaluateYDerivatives(), and GetIIonic().
const double DiFrancescoNoble1985OdeSystem::Kmto = 10 [static, private] |
mM
Definition at line 70 of file DiFrancescoNoble1985OdeSystem.hpp.
Referenced by EvaluateYDerivatives(), and GetIIonic().
const double DiFrancescoNoble1985OdeSystem::KmK = 1 [static, private] |
mM
Definition at line 71 of file DiFrancescoNoble1985OdeSystem.hpp.
Referenced by EvaluateYDerivatives(), and GetIIonic().
const double DiFrancescoNoble1985OdeSystem::KmNa = 40 [static, private] |
mM
Definition at line 72 of file DiFrancescoNoble1985OdeSystem.hpp.
Referenced by EvaluateYDerivatives(), and GetIIonic().
const double DiFrancescoNoble1985OdeSystem::Kmf2 = 0.001 [static, private] |
mM
Definition at line 73 of file DiFrancescoNoble1985OdeSystem.hpp.
Referenced by EvaluateYDerivatives().
const double DiFrancescoNoble1985OdeSystem::KmCa = 0.001 [static, private] |
mM
Definition at line 74 of file DiFrancescoNoble1985OdeSystem.hpp.
Referenced by EvaluateYDerivatives().
const double DiFrancescoNoble1985OdeSystem::Km_Ca = 0.0005 [static, private] |
mM
Definition at line 75 of file DiFrancescoNoble1985OdeSystem.hpp.
Referenced by EvaluateYDerivatives(), and GetIIonic().
const double DiFrancescoNoble1985OdeSystem::n_naca = 3 [static, private] |
dimensionless
Definition at line 77 of file DiFrancescoNoble1985OdeSystem.hpp.
Referenced by EvaluateYDerivatives(), and GetIIonic().
const double DiFrancescoNoble1985OdeSystem::gamma = 0.5 [static, private] |
dimensionless
Definition at line 78 of file DiFrancescoNoble1985OdeSystem.hpp.
Referenced by EvaluateYDerivatives(), and GetIIonic().
const double DiFrancescoNoble1985OdeSystem::d_naca = 0.001 [static, private] |
dimensionless
Definition at line 79 of file DiFrancescoNoble1985OdeSystem.hpp.
Referenced by EvaluateYDerivatives(), and GetIIonic().
const double DiFrancescoNoble1985OdeSystem::rCa = 2.0 [static, private] |
dimensionless
Definition at line 80 of file DiFrancescoNoble1985OdeSystem.hpp.
Referenced by EvaluateYDerivatives().
const double DiFrancescoNoble1985OdeSystem::tau_up = 0.025 [static, private] |
seconds. Must be seconds to cancel with numerator of F and give nA for i_up
Definition at line 81 of file DiFrancescoNoble1985OdeSystem.hpp.
Referenced by EvaluateYDerivatives().
const double DiFrancescoNoble1985OdeSystem::tau_rep = 2 [static, private] |
seconds. Must be seconds to cancel with numerator of F and give nA for i_rep
Definition at line 82 of file DiFrancescoNoble1985OdeSystem.hpp.
Referenced by EvaluateYDerivatives().
const double DiFrancescoNoble1985OdeSystem::tau_rel = 0.05 [static, private] |
seconds. Must be seconds to cancel with numerator of F and give nA for i_rel
Definition at line 83 of file DiFrancescoNoble1985OdeSystem.hpp.
Referenced by EvaluateYDerivatives().
const double DiFrancescoNoble1985OdeSystem::Ca_up_max = 5 [static, private] |
mM
Definition at line 84 of file DiFrancescoNoble1985OdeSystem.hpp.
Referenced by EvaluateYDerivatives().
const double DiFrancescoNoble1985OdeSystem::pf = 0.0007 [static, private] |
per millisecond
Definition at line 85 of file DiFrancescoNoble1985OdeSystem.hpp.
Referenced by EvaluateYDerivatives().
const double DiFrancescoNoble1985OdeSystem::Vecs = 0.05 [static, private] |
dimensionless
Definition at line 86 of file DiFrancescoNoble1985OdeSystem.hpp.
Referenced by DiFrancescoNoble1985OdeSystem().
double DiFrancescoNoble1985OdeSystem::Vi [private] |
total intracellular volume
Definition at line 89 of file DiFrancescoNoble1985OdeSystem.hpp.
Referenced by DiFrancescoNoble1985OdeSystem(), and EvaluateYDerivatives().
double DiFrancescoNoble1985OdeSystem::Vup [private] |
uptake volume (of the SR)
Definition at line 91 of file DiFrancescoNoble1985OdeSystem.hpp.
Referenced by DiFrancescoNoble1985OdeSystem(), and EvaluateYDerivatives().
double DiFrancescoNoble1985OdeSystem::Vrel [private] |
release volume (of the SR)
Definition at line 93 of file DiFrancescoNoble1985OdeSystem.hpp.
Referenced by DiFrancescoNoble1985OdeSystem(), and EvaluateYDerivatives().
double DiFrancescoNoble1985OdeSystem::Ve [private] |
extracellular volume
Definition at line 95 of file DiFrancescoNoble1985OdeSystem.hpp.
Referenced by DiFrancescoNoble1985OdeSystem(), and EvaluateYDerivatives().
double DiFrancescoNoble1985OdeSystem::Vcell [private] |
cell volume
Definition at line 97 of file DiFrancescoNoble1985OdeSystem.hpp.
Referenced by DiFrancescoNoble1985OdeSystem().
double DiFrancescoNoble1985OdeSystem::RToNF [private] |
R times T over F
Definition at line 99 of file DiFrancescoNoble1985OdeSystem.hpp.
Referenced by DiFrancescoNoble1985OdeSystem(), EvaluateYDerivatives(), and GetIIonic().