#include <TenTusscher2006OdeSystem.hpp>
Public Member Functions | |
TenTusscher2006OdeSystem (boost::shared_ptr< AbstractIvpOdeSolver > pSolver, boost::shared_ptr< AbstractStimulusFunction > pIntracellularStimulus) | |
~TenTusscher2006OdeSystem () | |
void | EvaluateYDerivatives (double time, const std::vector< double > &rY, std::vector< double > &rDY) |
void | SetScaleFactorGks (double sfgks) |
void | SetScaleFactorIto (double sfito) |
void | SetScaleFactorGkr (double sfgkr) |
double | GetIIonic () |
Private Member Functions | |
void | VerifyStateVariables () |
Private Attributes | |
double | mScaleFactorGks |
double | mScaleFactorIto |
double | mScaleFactorGkr |
Static Private Attributes | |
static const double | L_type_Ca_current_g_CaL = 0.0000398 |
static const double | calcium_background_current_g_bca = 0.000592 |
static const double | calcium_dynamics_Buf_c = 0.2 |
static const double | calcium_dynamics_Buf_sr = 10.0 |
static const double | calcium_dynamics_Buf_ss = 0.4 |
static const double | calcium_dynamics_Ca_o = 2.0 |
static const double | calcium_dynamics_EC = 1.5 |
static const double | calcium_dynamics_K_buf_c = 0.001 |
static const double | calcium_dynamics_K_buf_sr = 0.3 |
static const double | calcium_dynamics_K_buf_ss = 0.00025 |
static const double | calcium_dynamics_K_up = 0.00025 |
static const double | calcium_dynamics_V_leak = 0.00036 |
static const double | calcium_dynamics_V_rel = 0.102 |
static const double | calcium_dynamics_V_sr = 0.001094 |
static const double | calcium_dynamics_V_ss = 0.00005468 |
static const double | calcium_dynamics_V_xfer = 0.0038 |
static const double | calcium_dynamics_Vmax_up = 0.006375 |
static const double | calcium_dynamics_k1_prime = 0.15 |
static const double | calcium_dynamics_k2_prime = 0.045 |
static const double | calcium_dynamics_k3 = 0.06 |
static const double | calcium_dynamics_k4 = 0.005 |
static const double | calcium_dynamics_max_sr = 2.5 |
static const double | calcium_dynamics_min_sr = 1.0 |
static const double | calcium_pump_current_K_pCa = 0.0005 |
static const double | calcium_pump_current_g_pCa = 0.1238 |
static const double | fast_sodium_current_g_Na = 14.838 |
static const double | inward_rectifier_potassium_current_g_K1 = 5.405 |
static const double | membrane_Cm = 0.185 |
static const double | membrane_F = 96485.3415 |
static const double | membrane_R = 8314.472 |
static const double | membrane_T = 310.0 |
static const double | membrane_V_c = 0.016404 |
static const double | potassium_dynamics_K_o = 5.4 |
static const double | potassium_pump_current_g_pK = 0.0146 |
static const double | rapid_time_dependent_potassium_current_g_Kr = 0.153 |
static const double | reversal_potentials_P_kna = 0.03 |
static const double | slow_time_dependent_potassium_current_g_Ks = 0.392 |
static const double | sodium_background_current_g_bna = 0.00029 |
static const double | sodium_calcium_exchanger_current_K_NaCa = 1000.0 |
static const double | sodium_calcium_exchanger_current_K_sat = 0.1 |
static const double | sodium_calcium_exchanger_current_Km_Ca = 1.38 |
static const double | sodium_calcium_exchanger_current_Km_Nai = 87.5 |
static const double | sodium_calcium_exchanger_current_alpha = 2.5 |
static const double | sodium_calcium_exchanger_current_gamma = 0.35 |
static const double | sodium_dynamics_Na_o = 140.0 |
static const double | sodium_potassium_pump_current_K_mNa = 40.0 |
static const double | sodium_potassium_pump_current_K_mk = 1.0 |
static const double | sodium_potassium_pump_current_P_NaK = 2.724 |
static const double | transient_outward_current_g_to = 0.294 |
Definition at line 39 of file TenTusscher2006OdeSystem.hpp.
TenTusscher2006OdeSystem::TenTusscher2006OdeSystem | ( | 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 91 of file TenTusscher2006OdeSystem.cpp.
References AbstractCardiacCell::Init(), OdeSystemInformation< ODE_SYSTEM >::Instance(), AbstractOdeSystem::mpSystemInfo, mScaleFactorGkr, mScaleFactorGks, and mScaleFactorIto.
TenTusscher2006OdeSystem::~TenTusscher2006OdeSystem | ( | void | ) |
Destructor
Definition at line 107 of file TenTusscher2006OdeSystem.cpp.
void TenTusscher2006OdeSystem::VerifyStateVariables | ( | ) | [private, virtual] |
This private method will check that gates are within 0 and 1 and concentrations are positive
Reimplemented from AbstractCardiacCell.
Definition at line 371 of file TenTusscher2006OdeSystem.cpp.
References AbstractOdeSystem::DumpState(), and AbstractOdeSystem::rGetStateVariables().
Referenced by EvaluateYDerivatives().
void TenTusscher2006OdeSystem::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 |
Implements AbstractOdeSystem.
Definition at line 124 of file TenTusscher2006OdeSystem.cpp.
References calcium_background_current_g_bca, calcium_dynamics_Buf_c, calcium_dynamics_Buf_sr, calcium_dynamics_Buf_ss, calcium_dynamics_Ca_o, calcium_dynamics_EC, calcium_dynamics_k1_prime, calcium_dynamics_k2_prime, calcium_dynamics_k3, calcium_dynamics_k4, calcium_dynamics_K_buf_c, calcium_dynamics_K_buf_sr, calcium_dynamics_K_buf_ss, calcium_dynamics_K_up, calcium_dynamics_max_sr, calcium_dynamics_min_sr, calcium_dynamics_V_leak, calcium_dynamics_V_rel, calcium_dynamics_V_sr, calcium_dynamics_V_ss, calcium_dynamics_V_xfer, calcium_dynamics_Vmax_up, calcium_pump_current_g_pCa, calcium_pump_current_K_pCa, fast_sodium_current_g_Na, AbstractCardiacCell::GetStimulus(), inward_rectifier_potassium_current_g_K1, L_type_Ca_current_g_CaL, membrane_Cm, membrane_F, membrane_R, membrane_T, membrane_V_c, mScaleFactorGkr, mScaleFactorGks, mScaleFactorIto, AbstractCardiacCell::mSetVoltageDerivativeToZero, potassium_dynamics_K_o, potassium_pump_current_g_pK, rapid_time_dependent_potassium_current_g_Kr, reversal_potentials_P_kna, slow_time_dependent_potassium_current_g_Ks, sodium_background_current_g_bna, sodium_calcium_exchanger_current_alpha, sodium_calcium_exchanger_current_gamma, sodium_calcium_exchanger_current_K_NaCa, sodium_calcium_exchanger_current_K_sat, sodium_calcium_exchanger_current_Km_Ca, sodium_calcium_exchanger_current_Km_Nai, sodium_dynamics_Na_o, sodium_potassium_pump_current_K_mk, sodium_potassium_pump_current_K_mNa, sodium_potassium_pump_current_P_NaK, transient_outward_current_g_to, and VerifyStateVariables().
void TenTusscher2006OdeSystem::SetScaleFactorGks | ( | double | sfgks | ) |
Set the scale factor for Gks in order to differentiate epi M and endo cells
sfgks | is the scale factor for Gks conductance |
Definition at line 111 of file TenTusscher2006OdeSystem.cpp.
References mScaleFactorGks.
void TenTusscher2006OdeSystem::SetScaleFactorIto | ( | double | sfito | ) |
Set the scale factor for Gks in order to differentiate epi M and endo cells
sfito | is the scale factor for Ito current |
Definition at line 115 of file TenTusscher2006OdeSystem.cpp.
References mScaleFactorIto.
void TenTusscher2006OdeSystem::SetScaleFactorGkr | ( | double | sfgkr | ) |
Set the scale factor for Gks in order to differentiate epi M and endo cells
sfgkr | is the scale factor for Gkr conductance |
Definition at line 119 of file TenTusscher2006OdeSystem.cpp.
References mScaleFactorGkr.
double TenTusscher2006OdeSystem::GetIIonic | ( | ) | [virtual] |
Returns the ionic current
Implements AbstractCardiacCell.
Definition at line 301 of file TenTusscher2006OdeSystem.cpp.
References calcium_background_current_g_bca, calcium_dynamics_Ca_o, calcium_pump_current_g_pCa, calcium_pump_current_K_pCa, fast_sodium_current_g_Na, inward_rectifier_potassium_current_g_K1, L_type_Ca_current_g_CaL, membrane_F, membrane_R, membrane_T, mScaleFactorGkr, mScaleFactorGks, mScaleFactorIto, AbstractOdeSystem::mStateVariables, potassium_dynamics_K_o, potassium_pump_current_g_pK, rapid_time_dependent_potassium_current_g_Kr, reversal_potentials_P_kna, slow_time_dependent_potassium_current_g_Ks, sodium_background_current_g_bna, sodium_calcium_exchanger_current_alpha, sodium_calcium_exchanger_current_gamma, sodium_calcium_exchanger_current_K_NaCa, sodium_calcium_exchanger_current_K_sat, sodium_calcium_exchanger_current_Km_Ca, sodium_calcium_exchanger_current_Km_Nai, sodium_dynamics_Na_o, sodium_potassium_pump_current_K_mk, sodium_potassium_pump_current_K_mNa, sodium_potassium_pump_current_P_NaK, and transient_outward_current_g_to.
double TenTusscher2006OdeSystem::mScaleFactorGks [private] |
Scale factor for Gks
Definition at line 44 of file TenTusscher2006OdeSystem.hpp.
Referenced by EvaluateYDerivatives(), GetIIonic(), SetScaleFactorGks(), and TenTusscher2006OdeSystem().
double TenTusscher2006OdeSystem::mScaleFactorIto [private] |
Scale factor for Gto
Definition at line 45 of file TenTusscher2006OdeSystem.hpp.
Referenced by EvaluateYDerivatives(), GetIIonic(), SetScaleFactorIto(), and TenTusscher2006OdeSystem().
double TenTusscher2006OdeSystem::mScaleFactorGkr [private] |
Scale factor for Gkr
Definition at line 46 of file TenTusscher2006OdeSystem.hpp.
Referenced by EvaluateYDerivatives(), GetIIonic(), SetScaleFactorGkr(), and TenTusscher2006OdeSystem().
const double TenTusscher2006OdeSystem::L_type_Ca_current_g_CaL = 0.0000398 [static, private] |
nanoS_per_picoF
Definition at line 51 of file TenTusscher2006OdeSystem.hpp.
Referenced by EvaluateYDerivatives(), and GetIIonic().
const double TenTusscher2006OdeSystem::calcium_background_current_g_bca = 0.000592 [static, private] |
nanoS_per_picoF
Definition at line 52 of file TenTusscher2006OdeSystem.hpp.
Referenced by EvaluateYDerivatives(), and GetIIonic().
const double TenTusscher2006OdeSystem::calcium_dynamics_Buf_c = 0.2 [static, private] |
millimolar
Definition at line 53 of file TenTusscher2006OdeSystem.hpp.
Referenced by EvaluateYDerivatives().
const double TenTusscher2006OdeSystem::calcium_dynamics_Buf_sr = 10.0 [static, private] |
millimolar
Definition at line 54 of file TenTusscher2006OdeSystem.hpp.
Referenced by EvaluateYDerivatives().
const double TenTusscher2006OdeSystem::calcium_dynamics_Buf_ss = 0.4 [static, private] |
millimolar
Definition at line 55 of file TenTusscher2006OdeSystem.hpp.
Referenced by EvaluateYDerivatives().
const double TenTusscher2006OdeSystem::calcium_dynamics_Ca_o = 2.0 [static, private] |
millimolar
Definition at line 56 of file TenTusscher2006OdeSystem.hpp.
Referenced by EvaluateYDerivatives(), and GetIIonic().
const double TenTusscher2006OdeSystem::calcium_dynamics_EC = 1.5 [static, private] |
millimolar
Definition at line 57 of file TenTusscher2006OdeSystem.hpp.
Referenced by EvaluateYDerivatives().
const double TenTusscher2006OdeSystem::calcium_dynamics_K_buf_c = 0.001 [static, private] |
millimolar
Definition at line 58 of file TenTusscher2006OdeSystem.hpp.
Referenced by EvaluateYDerivatives().
const double TenTusscher2006OdeSystem::calcium_dynamics_K_buf_sr = 0.3 [static, private] |
millimolar
Definition at line 59 of file TenTusscher2006OdeSystem.hpp.
Referenced by EvaluateYDerivatives().
const double TenTusscher2006OdeSystem::calcium_dynamics_K_buf_ss = 0.00025 [static, private] |
millimolar
Definition at line 60 of file TenTusscher2006OdeSystem.hpp.
Referenced by EvaluateYDerivatives().
const double TenTusscher2006OdeSystem::calcium_dynamics_K_up = 0.00025 [static, private] |
millimolar
Definition at line 61 of file TenTusscher2006OdeSystem.hpp.
Referenced by EvaluateYDerivatives().
const double TenTusscher2006OdeSystem::calcium_dynamics_V_leak = 0.00036 [static, private] |
millimolar_per_millisecond
Definition at line 62 of file TenTusscher2006OdeSystem.hpp.
Referenced by EvaluateYDerivatives().
const double TenTusscher2006OdeSystem::calcium_dynamics_V_rel = 0.102 [static, private] |
millimolar_per_millisecond
Definition at line 63 of file TenTusscher2006OdeSystem.hpp.
Referenced by EvaluateYDerivatives().
const double TenTusscher2006OdeSystem::calcium_dynamics_V_sr = 0.001094 [static, private] |
micrometre3
Definition at line 64 of file TenTusscher2006OdeSystem.hpp.
Referenced by EvaluateYDerivatives().
const double TenTusscher2006OdeSystem::calcium_dynamics_V_ss = 0.00005468 [static, private] |
micrometre3
Definition at line 65 of file TenTusscher2006OdeSystem.hpp.
Referenced by EvaluateYDerivatives().
const double TenTusscher2006OdeSystem::calcium_dynamics_V_xfer = 0.0038 [static, private] |
millimolar_per_millisecond
Definition at line 66 of file TenTusscher2006OdeSystem.hpp.
Referenced by EvaluateYDerivatives().
const double TenTusscher2006OdeSystem::calcium_dynamics_Vmax_up = 0.006375 [static, private] |
millimolar_per_millisecond
Definition at line 67 of file TenTusscher2006OdeSystem.hpp.
Referenced by EvaluateYDerivatives().
const double TenTusscher2006OdeSystem::calcium_dynamics_k1_prime = 0.15 [static, private] |
per_millimolar2_per_millisecond
Definition at line 68 of file TenTusscher2006OdeSystem.hpp.
Referenced by EvaluateYDerivatives().
const double TenTusscher2006OdeSystem::calcium_dynamics_k2_prime = 0.045 [static, private] |
per_millimolar_per_millisecond
Definition at line 69 of file TenTusscher2006OdeSystem.hpp.
Referenced by EvaluateYDerivatives().
const double TenTusscher2006OdeSystem::calcium_dynamics_k3 = 0.06 [static, private] |
per_millisecond
Definition at line 70 of file TenTusscher2006OdeSystem.hpp.
Referenced by EvaluateYDerivatives().
const double TenTusscher2006OdeSystem::calcium_dynamics_k4 = 0.005 [static, private] |
per_millisecond
Definition at line 71 of file TenTusscher2006OdeSystem.hpp.
Referenced by EvaluateYDerivatives().
const double TenTusscher2006OdeSystem::calcium_dynamics_max_sr = 2.5 [static, private] |
dimensionless
Definition at line 72 of file TenTusscher2006OdeSystem.hpp.
Referenced by EvaluateYDerivatives().
const double TenTusscher2006OdeSystem::calcium_dynamics_min_sr = 1.0 [static, private] |
dimensionless
Definition at line 73 of file TenTusscher2006OdeSystem.hpp.
Referenced by EvaluateYDerivatives().
const double TenTusscher2006OdeSystem::calcium_pump_current_K_pCa = 0.0005 [static, private] |
millimolar
Definition at line 74 of file TenTusscher2006OdeSystem.hpp.
Referenced by EvaluateYDerivatives(), and GetIIonic().
const double TenTusscher2006OdeSystem::calcium_pump_current_g_pCa = 0.1238 [static, private] |
nanoS_per_picoF
Definition at line 75 of file TenTusscher2006OdeSystem.hpp.
Referenced by EvaluateYDerivatives(), and GetIIonic().
const double TenTusscher2006OdeSystem::fast_sodium_current_g_Na = 14.838 [static, private] |
nanoS_per_picoF
Definition at line 76 of file TenTusscher2006OdeSystem.hpp.
Referenced by EvaluateYDerivatives(), and GetIIonic().
const double TenTusscher2006OdeSystem::inward_rectifier_potassium_current_g_K1 = 5.405 [static, private] |
nanoS_per_picoF
Definition at line 77 of file TenTusscher2006OdeSystem.hpp.
Referenced by EvaluateYDerivatives(), and GetIIonic().
const double TenTusscher2006OdeSystem::membrane_Cm = 0.185 [static, private] |
microF_per_cm2
Definition at line 78 of file TenTusscher2006OdeSystem.hpp.
Referenced by EvaluateYDerivatives().
const double TenTusscher2006OdeSystem::membrane_F = 96485.3415 [static, private] |
coulomb_per_millimole
Definition at line 79 of file TenTusscher2006OdeSystem.hpp.
Referenced by EvaluateYDerivatives(), and GetIIonic().
const double TenTusscher2006OdeSystem::membrane_R = 8314.472 [static, private] |
joule_per_mole_kelvin
Definition at line 80 of file TenTusscher2006OdeSystem.hpp.
Referenced by EvaluateYDerivatives(), and GetIIonic().
const double TenTusscher2006OdeSystem::membrane_T = 310.0 [static, private] |
kelvin
Definition at line 81 of file TenTusscher2006OdeSystem.hpp.
Referenced by EvaluateYDerivatives(), and GetIIonic().
const double TenTusscher2006OdeSystem::membrane_V_c = 0.016404 [static, private] |
micrometre3
Definition at line 82 of file TenTusscher2006OdeSystem.hpp.
Referenced by EvaluateYDerivatives().
const double TenTusscher2006OdeSystem::potassium_dynamics_K_o = 5.4 [static, private] |
millimolar
Definition at line 83 of file TenTusscher2006OdeSystem.hpp.
Referenced by EvaluateYDerivatives(), and GetIIonic().
const double TenTusscher2006OdeSystem::potassium_pump_current_g_pK = 0.0146 [static, private] |
nanoS_per_picoF
Definition at line 84 of file TenTusscher2006OdeSystem.hpp.
Referenced by EvaluateYDerivatives(), and GetIIonic().
const double TenTusscher2006OdeSystem::rapid_time_dependent_potassium_current_g_Kr = 0.153 [static, private] |
nanoS_per_picoF
Definition at line 85 of file TenTusscher2006OdeSystem.hpp.
Referenced by EvaluateYDerivatives(), and GetIIonic().
const double TenTusscher2006OdeSystem::reversal_potentials_P_kna = 0.03 [static, private] |
nanoA_per_millimolar
Definition at line 86 of file TenTusscher2006OdeSystem.hpp.
Referenced by EvaluateYDerivatives(), and GetIIonic().
const double TenTusscher2006OdeSystem::slow_time_dependent_potassium_current_g_Ks = 0.392 [static, private] |
nanoS_per_picoF
Definition at line 87 of file TenTusscher2006OdeSystem.hpp.
Referenced by EvaluateYDerivatives(), and GetIIonic().
const double TenTusscher2006OdeSystem::sodium_background_current_g_bna = 0.00029 [static, private] |
nanoS_per_picoF
Definition at line 88 of file TenTusscher2006OdeSystem.hpp.
Referenced by EvaluateYDerivatives(), and GetIIonic().
const double TenTusscher2006OdeSystem::sodium_calcium_exchanger_current_K_NaCa = 1000.0 [static, private] |
picoA_per_picoF
Definition at line 89 of file TenTusscher2006OdeSystem.hpp.
Referenced by EvaluateYDerivatives(), and GetIIonic().
const double TenTusscher2006OdeSystem::sodium_calcium_exchanger_current_K_sat = 0.1 [static, private] |
dimensionless
Definition at line 90 of file TenTusscher2006OdeSystem.hpp.
Referenced by EvaluateYDerivatives(), and GetIIonic().
const double TenTusscher2006OdeSystem::sodium_calcium_exchanger_current_Km_Ca = 1.38 [static, private] |
millimolar
Definition at line 91 of file TenTusscher2006OdeSystem.hpp.
Referenced by EvaluateYDerivatives(), and GetIIonic().
const double TenTusscher2006OdeSystem::sodium_calcium_exchanger_current_Km_Nai = 87.5 [static, private] |
millimolar
Definition at line 92 of file TenTusscher2006OdeSystem.hpp.
Referenced by EvaluateYDerivatives(), and GetIIonic().
const double TenTusscher2006OdeSystem::sodium_calcium_exchanger_current_alpha = 2.5 [static, private] |
dimensionless
Definition at line 93 of file TenTusscher2006OdeSystem.hpp.
Referenced by EvaluateYDerivatives(), and GetIIonic().
const double TenTusscher2006OdeSystem::sodium_calcium_exchanger_current_gamma = 0.35 [static, private] |
dimensionless
Definition at line 94 of file TenTusscher2006OdeSystem.hpp.
Referenced by EvaluateYDerivatives(), and GetIIonic().
const double TenTusscher2006OdeSystem::sodium_dynamics_Na_o = 140.0 [static, private] |
millimolar
Definition at line 95 of file TenTusscher2006OdeSystem.hpp.
Referenced by EvaluateYDerivatives(), and GetIIonic().
const double TenTusscher2006OdeSystem::sodium_potassium_pump_current_K_mNa = 40.0 [static, private] |
millimolar
Definition at line 96 of file TenTusscher2006OdeSystem.hpp.
Referenced by EvaluateYDerivatives(), and GetIIonic().
const double TenTusscher2006OdeSystem::sodium_potassium_pump_current_K_mk = 1.0 [static, private] |
millimolar
Definition at line 97 of file TenTusscher2006OdeSystem.hpp.
Referenced by EvaluateYDerivatives(), and GetIIonic().
const double TenTusscher2006OdeSystem::sodium_potassium_pump_current_P_NaK = 2.724 [static, private] |
picoA_per_picoF
Definition at line 98 of file TenTusscher2006OdeSystem.hpp.
Referenced by EvaluateYDerivatives(), and GetIIonic().
const double TenTusscher2006OdeSystem::transient_outward_current_g_to = 0.294 [static, private] |
nanoS_per_picoF
Definition at line 99 of file TenTusscher2006OdeSystem.hpp.
Referenced by EvaluateYDerivatives(), and GetIIonic().