NobleVargheseKohlNoble1998WithSac.cpp
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029 #include "NobleVargheseKohlNoble1998WithSac.hpp"
00030 #include "HeartConfig.hpp"
00031
00032 CML_noble_varghese_kohl_noble_1998_basic_with_sac::CML_noble_varghese_kohl_noble_1998_basic_with_sac(
00033 boost::shared_ptr<AbstractIvpOdeSolver> pSolver,
00034 boost::shared_ptr<AbstractStimulusFunction> pIntracellularStimulus)
00035 : AbstractCardiacCell(pSolver, 22, 0, pIntracellularStimulus)
00036 {
00037 mStretch = 1.0;
00038
00039 mpSystemInfo = OdeSystemInformation<CML_noble_varghese_kohl_noble_1998_basic_with_sac>::Instance();
00040
00041 Init();
00042
00043 }
00044
00045 CML_noble_varghese_kohl_noble_1998_basic_with_sac::~CML_noble_varghese_kohl_noble_1998_basic_with_sac(void)
00046 {
00047 }
00048
00049 double CML_noble_varghese_kohl_noble_1998_basic_with_sac::GetIIonic(const std::vector<double>* pStateVariables)
00050 {
00051 if (!pStateVariables) pStateVariables = &rGetStateVariables();
00052 const std::vector<double>& rY = *pStateVariables;
00053 double var_membrane__V = rY[0];
00054
00055 double var_rapid_delayed_rectifier_potassium_current_xr1_gate__xr1 = rY[1];
00056
00057 double var_rapid_delayed_rectifier_potassium_current_xr2_gate__xr2 = rY[2];
00058
00059 double var_slow_delayed_rectifier_potassium_current_xs_gate__xs = rY[3];
00060
00061 double var_fast_sodium_current_m_gate__m = rY[4];
00062
00063 double var_fast_sodium_current_h_gate__h = rY[5];
00064
00065 double var_L_type_Ca_channel_d_gate__d = rY[6];
00066
00067 double var_L_type_Ca_channel_f_gate__f = rY[7];
00068
00069 double var_L_type_Ca_channel_f2_gate__f2 = rY[8];
00070
00071 double var_L_type_Ca_channel_f2ds_gate__f2ds = rY[9];
00072
00073 double var_transient_outward_current_s_gate__s = rY[10];
00074
00075 double var_transient_outward_current_r_gate__r = rY[11];
00076
00077 double var_intracellular_sodium_concentration__Na_i = rY[14];
00078
00079 double var_intracellular_potassium_concentration__K_i = rY[15];
00080
00081 double var_intracellular_calcium_concentration__Ca_i = rY[16];
00082
00083 double var_intracellular_calcium_concentration__Ca_ds = rY[17];
00084
00085
00086 const double var_membrane__R = 8314.472;
00087 const double var_membrane__T = 310.0;
00088 const double var_membrane__F = 96485.3415;
00089 double var_reversal_potentials__K_i = var_intracellular_potassium_concentration__K_i;
00090 double var_reversal_potentials__R = var_membrane__R;
00091 double var_reversal_potentials__T = var_membrane__T;
00092 double var_reversal_potentials__F = var_membrane__F;
00093 const double var_extracellular_potassium_concentration__K_o = 4.0;
00094 double var_reversal_potentials__K_o = var_extracellular_potassium_concentration__K_o;
00095 double var_reversal_potentials__E_K = ((var_reversal_potentials__R * var_reversal_potentials__T) / var_reversal_potentials__F) * log(var_reversal_potentials__K_o / var_reversal_potentials__K_i);
00096 double var_time_independent_potassium_current__E_K = var_reversal_potentials__E_K;
00097 double var_time_independent_potassium_current__K_o = var_extracellular_potassium_concentration__K_o;
00098 double var_time_independent_potassium_current__R = var_membrane__R;
00099 double var_time_independent_potassium_current__V = var_membrane__V;
00100 double var_time_independent_potassium_current__T = var_membrane__T;
00101 const double var_time_independent_potassium_current__K_mk1 = 10.0;
00102 const double var_time_independent_potassium_current__g_K1 = 0.5;
00103 double var_time_independent_potassium_current__F = var_membrane__F;
00104 double var_time_independent_potassium_current__i_K1 = (((var_time_independent_potassium_current__g_K1 * var_time_independent_potassium_current__K_o) / (var_time_independent_potassium_current__K_o + var_time_independent_potassium_current__K_mk1)) * (var_time_independent_potassium_current__V - var_time_independent_potassium_current__E_K)) / (1.0 + exp((((var_time_independent_potassium_current__V - var_time_independent_potassium_current__E_K) - 10.0) * var_time_independent_potassium_current__F * 1.25) / (var_time_independent_potassium_current__R * var_time_independent_potassium_current__T)));
00105 double var_membrane__i_K1 = var_time_independent_potassium_current__i_K1;
00106 double var_transient_outward_current__s = var_transient_outward_current_s_gate__s;
00107 double var_transient_outward_current__r = var_transient_outward_current_r_gate__r;
00108 const double var_transient_outward_current__g_to = 0.005;
00109 double var_transient_outward_current__V = var_membrane__V;
00110 double var_transient_outward_current__E_K = var_reversal_potentials__E_K;
00111 const double var_transient_outward_current__g_tos = 0.0;
00112 double var_transient_outward_current__i_to = var_transient_outward_current__g_to * (var_transient_outward_current__g_tos + (var_transient_outward_current__s * (1.0 - var_transient_outward_current__g_tos))) * var_transient_outward_current__r * (var_transient_outward_current__V - var_transient_outward_current__E_K);
00113 double var_membrane__i_to = var_transient_outward_current__i_to;
00114 const double var_rapid_delayed_rectifier_potassium_current__g_Kr2 = 0.0013;
00115 const double var_rapid_delayed_rectifier_potassium_current__g_Kr1 = 0.0021;
00116 double var_rapid_delayed_rectifier_potassium_current__xr1 = var_rapid_delayed_rectifier_potassium_current_xr1_gate__xr1;
00117 double var_rapid_delayed_rectifier_potassium_current__xr2 = var_rapid_delayed_rectifier_potassium_current_xr2_gate__xr2;
00118 double var_rapid_delayed_rectifier_potassium_current__V = var_membrane__V;
00119 double var_rapid_delayed_rectifier_potassium_current__E_K = var_reversal_potentials__E_K;
00120 double var_rapid_delayed_rectifier_potassium_current__i_Kr = ((((var_rapid_delayed_rectifier_potassium_current__g_Kr1 * var_rapid_delayed_rectifier_potassium_current__xr1) + (var_rapid_delayed_rectifier_potassium_current__g_Kr2 * var_rapid_delayed_rectifier_potassium_current__xr2)) * 1.0) / (1.0 + exp((var_rapid_delayed_rectifier_potassium_current__V + 9.0) / 22.4))) * (var_rapid_delayed_rectifier_potassium_current__V - var_rapid_delayed_rectifier_potassium_current__E_K);
00121 double var_membrane__i_Kr = var_rapid_delayed_rectifier_potassium_current__i_Kr;
00122 double var_slow_delayed_rectifier_potassium_current__xs = var_slow_delayed_rectifier_potassium_current_xs_gate__xs;
00123 const double var_extracellular_sodium_concentration__Na_o = 140.0;
00124 double var_reversal_potentials__Na_o = var_extracellular_sodium_concentration__Na_o;
00125 double var_reversal_potentials__Na_i = var_intracellular_sodium_concentration__Na_i;
00126 const double var_reversal_potentials__P_kna = 0.03;
00127 double var_reversal_potentials__E_Ks = ((var_reversal_potentials__R * var_reversal_potentials__T) / var_reversal_potentials__F) * log((var_reversal_potentials__K_o + (var_reversal_potentials__P_kna * var_reversal_potentials__Na_o)) / (var_reversal_potentials__K_i + (var_reversal_potentials__P_kna * var_reversal_potentials__Na_i)));
00128 double var_slow_delayed_rectifier_potassium_current__E_Ks = var_reversal_potentials__E_Ks;
00129 const double var_slow_delayed_rectifier_potassium_current__g_Ks = 0.0026;
00130 double var_slow_delayed_rectifier_potassium_current__V = var_membrane__V;
00131 double var_slow_delayed_rectifier_potassium_current__i_Ks = var_slow_delayed_rectifier_potassium_current__g_Ks * pow(var_slow_delayed_rectifier_potassium_current__xs, 2.0) * (var_slow_delayed_rectifier_potassium_current__V - var_slow_delayed_rectifier_potassium_current__E_Ks);
00132 double var_membrane__i_Ks = var_slow_delayed_rectifier_potassium_current__i_Ks;
00133 double var_L_type_Ca_channel__d = var_L_type_Ca_channel_d_gate__d;
00134 const double var_L_type_Ca_channel__FrICa = 1.0;
00135 double var_L_type_Ca_channel__f = var_L_type_Ca_channel_f_gate__f;
00136 double var_L_type_Ca_channel__K_o = var_extracellular_potassium_concentration__K_o;
00137 double var_L_type_Ca_channel__K_i = var_intracellular_potassium_concentration__K_i;
00138 double var_L_type_Ca_channel__F = var_membrane__F;
00139 const double var_L_type_Ca_channel__P_Ca_L = 0.1;
00140 double var_L_type_Ca_channel__T = var_membrane__T;
00141 const double var_L_type_Ca_channel__P_CaK = 0.002;
00142 double var_L_type_Ca_channel__V = var_membrane__V;
00143 double var_L_type_Ca_channel__f2 = var_L_type_Ca_channel_f2_gate__f2;
00144 double var_L_type_Ca_channel__R = var_membrane__R;
00145 double var_L_type_Ca_channel__i_Ca_L_K_cyt = ((((1.0 - var_L_type_Ca_channel__FrICa) * var_L_type_Ca_channel__P_CaK * var_L_type_Ca_channel__P_Ca_L * var_L_type_Ca_channel__d * var_L_type_Ca_channel__f * var_L_type_Ca_channel__f2 * (var_L_type_Ca_channel__V - 50.0) * var_L_type_Ca_channel__F) / (var_L_type_Ca_channel__R * var_L_type_Ca_channel__T)) / (1.0 - exp(((-(var_L_type_Ca_channel__V - 50.0)) * var_L_type_Ca_channel__F) / (var_L_type_Ca_channel__R * var_L_type_Ca_channel__T)))) * ((var_L_type_Ca_channel__K_i * exp((50.0 * var_L_type_Ca_channel__F) / (var_L_type_Ca_channel__R * var_L_type_Ca_channel__T))) - (var_L_type_Ca_channel__K_o * exp(((-(var_L_type_Ca_channel__V - 50.0)) * var_L_type_Ca_channel__F) / (var_L_type_Ca_channel__R * var_L_type_Ca_channel__T))));
00146 double var_membrane__i_Ca_L_K_cyt = var_L_type_Ca_channel__i_Ca_L_K_cyt;
00147 double var_L_type_Ca_channel__f2ds = var_L_type_Ca_channel_f2ds_gate__f2ds;
00148 double var_L_type_Ca_channel__i_Ca_L_K_ds = (((var_L_type_Ca_channel__FrICa * var_L_type_Ca_channel__P_CaK * var_L_type_Ca_channel__P_Ca_L * var_L_type_Ca_channel__d * var_L_type_Ca_channel__f * var_L_type_Ca_channel__f2ds * (var_L_type_Ca_channel__V - 50.0) * var_L_type_Ca_channel__F) / (var_L_type_Ca_channel__R * var_L_type_Ca_channel__T)) / (1.0 - exp(((-(var_L_type_Ca_channel__V - 50.0)) * var_L_type_Ca_channel__F) / (var_L_type_Ca_channel__R * var_L_type_Ca_channel__T)))) * ((var_L_type_Ca_channel__K_i * exp((50.0 * var_L_type_Ca_channel__F) / (var_L_type_Ca_channel__R * var_L_type_Ca_channel__T))) - (var_L_type_Ca_channel__K_o * exp(((-(var_L_type_Ca_channel__V - 50.0)) * var_L_type_Ca_channel__F) / (var_L_type_Ca_channel__R * var_L_type_Ca_channel__T))));
00149 double var_membrane__i_Ca_L_K_ds = var_L_type_Ca_channel__i_Ca_L_K_ds;
00150 const double var_sodium_potassium_pump__i_NaK_max = 0.7;
00151 double var_sodium_potassium_pump__Na_i = var_intracellular_sodium_concentration__Na_i;
00152 double var_sodium_potassium_pump__K_o = var_extracellular_potassium_concentration__K_o;
00153 const double var_sodium_potassium_pump__K_mNa = 40.0;
00154 const double var_sodium_potassium_pump__K_mK = 1.0;
00155 double var_sodium_potassium_pump__i_NaK = (((var_sodium_potassium_pump__i_NaK_max * var_sodium_potassium_pump__K_o) / (var_sodium_potassium_pump__K_mK + var_sodium_potassium_pump__K_o)) * var_sodium_potassium_pump__Na_i) / (var_sodium_potassium_pump__K_mNa + var_sodium_potassium_pump__Na_i);
00156 double var_membrane__i_NaK = var_sodium_potassium_pump__i_NaK;
00157 const double var_fast_sodium_current__g_Na = 2.5;
00158 double var_fast_sodium_current__h = var_fast_sodium_current_h_gate__h;
00159 double var_fast_sodium_current__V = var_membrane__V;
00160 double var_reversal_potentials__E_mh = ((var_reversal_potentials__R * var_reversal_potentials__T) / var_reversal_potentials__F) * log((var_reversal_potentials__Na_o + (0.12 * var_reversal_potentials__K_o)) / (var_reversal_potentials__Na_i + (0.12 * var_reversal_potentials__K_i)));
00161 double var_fast_sodium_current__E_mh = var_reversal_potentials__E_mh;
00162 double var_fast_sodium_current__m = var_fast_sodium_current_m_gate__m;
00163 double var_fast_sodium_current__i_Na = var_fast_sodium_current__g_Na * pow(var_fast_sodium_current__m, 3.0) * var_fast_sodium_current__h * (var_fast_sodium_current__V - var_fast_sodium_current__E_mh);
00164 double var_membrane__i_Na = var_fast_sodium_current__i_Na;
00165 double var_sodium_background_current__V = var_membrane__V;
00166 double var_reversal_potentials__E_Na = ((var_reversal_potentials__R * var_reversal_potentials__T) / var_reversal_potentials__F) * log(var_reversal_potentials__Na_o / var_reversal_potentials__Na_i);
00167 double var_sodium_background_current__E_Na = var_reversal_potentials__E_Na;
00168 const double var_sodium_background_current__g_bna = 0.0006;
00169 double var_sodium_background_current__i_b_Na = var_sodium_background_current__g_bna * (var_sodium_background_current__V - var_sodium_background_current__E_Na);
00170 double var_membrane__i_b_Na = var_sodium_background_current__i_b_Na;
00171 const double var_persistent_sodium_current__g_pna = 0.004;
00172 double var_persistent_sodium_current__V = var_membrane__V;
00173 double var_persistent_sodium_current__E_Na = var_reversal_potentials__E_Na;
00174 double var_persistent_sodium_current__i_p_Na = ((var_persistent_sodium_current__g_pna * 1.0) / (1.0 + exp((-(var_persistent_sodium_current__V + 52.0)) / 8.0))) * (var_persistent_sodium_current__V - var_persistent_sodium_current__E_Na);
00175 double var_membrane__i_p_Na = var_persistent_sodium_current__i_p_Na;
00176 const double var_L_type_Ca_channel__P_CaNa = 0.01;
00177 double var_L_type_Ca_channel__Na_o = var_extracellular_sodium_concentration__Na_o;
00178 double var_L_type_Ca_channel__Na_i = var_intracellular_sodium_concentration__Na_i;
00179 double var_L_type_Ca_channel__i_Ca_L_Na_cyt = ((((1.0 - var_L_type_Ca_channel__FrICa) * var_L_type_Ca_channel__P_CaNa * var_L_type_Ca_channel__P_Ca_L * var_L_type_Ca_channel__d * var_L_type_Ca_channel__f * var_L_type_Ca_channel__f2 * (var_L_type_Ca_channel__V - 50.0) * var_L_type_Ca_channel__F) / (var_L_type_Ca_channel__R * var_L_type_Ca_channel__T)) / (1.0 - exp(((-(var_L_type_Ca_channel__V - 50.0)) * var_L_type_Ca_channel__F) / (var_L_type_Ca_channel__R * var_L_type_Ca_channel__T)))) * ((var_L_type_Ca_channel__Na_i * exp((50.0 * var_L_type_Ca_channel__F) / (var_L_type_Ca_channel__R * var_L_type_Ca_channel__T))) - (var_L_type_Ca_channel__Na_o * exp(((-(var_L_type_Ca_channel__V - 50.0)) * var_L_type_Ca_channel__F) / (var_L_type_Ca_channel__R * var_L_type_Ca_channel__T))));
00180 double var_membrane__i_Ca_L_Na_cyt = var_L_type_Ca_channel__i_Ca_L_Na_cyt;
00181 double var_L_type_Ca_channel__i_Ca_L_Na_ds = (((var_L_type_Ca_channel__FrICa * var_L_type_Ca_channel__P_CaNa * var_L_type_Ca_channel__P_Ca_L * var_L_type_Ca_channel__d * var_L_type_Ca_channel__f * var_L_type_Ca_channel__f2ds * (var_L_type_Ca_channel__V - 50.0) * var_L_type_Ca_channel__F) / (var_L_type_Ca_channel__R * var_L_type_Ca_channel__T)) / (1.0 - exp(((-(var_L_type_Ca_channel__V - 50.0)) * var_L_type_Ca_channel__F) / (var_L_type_Ca_channel__R * var_L_type_Ca_channel__T)))) * ((var_L_type_Ca_channel__Na_i * exp((50.0 * var_L_type_Ca_channel__F) / (var_L_type_Ca_channel__R * var_L_type_Ca_channel__T))) - (var_L_type_Ca_channel__Na_o * exp(((-(var_L_type_Ca_channel__V - 50.0)) * var_L_type_Ca_channel__F) / (var_L_type_Ca_channel__R * var_L_type_Ca_channel__T))));
00182 double var_membrane__i_Ca_L_Na_ds = var_L_type_Ca_channel__i_Ca_L_Na_ds;
00183 double var_sodium_calcium_exchanger__Na_i = var_intracellular_sodium_concentration__Na_i;
00184 const double var_sodium_calcium_exchanger__n_NaCa = 3.0;
00185 const double var_sodium_calcium_exchanger__gamma = 0.5;
00186 double var_sodium_calcium_exchanger__F = var_membrane__F;
00187 double var_sodium_calcium_exchanger__Na_o = var_extracellular_sodium_concentration__Na_o;
00188 const double var_sodium_calcium_exchanger__FRiNaCa = 0.001;
00189 double var_sodium_calcium_exchanger__R = var_membrane__R;
00190 double var_sodium_calcium_exchanger__Ca_i = var_intracellular_calcium_concentration__Ca_i;
00191 double var_sodium_calcium_exchanger__T = var_membrane__T;
00192 double var_sodium_calcium_exchanger__V = var_membrane__V;
00193 const double var_sodium_calcium_exchanger__d_NaCa = 0.0;
00194 const double var_extracellular_calcium_concentration__Ca_o = 2.0;
00195 double var_sodium_calcium_exchanger__Ca_o = var_extracellular_calcium_concentration__Ca_o;
00196 const double var_sodium_calcium_exchanger__k_NaCa = 0.0005;
00197 double var_sodium_calcium_exchanger__i_NaCa_cyt = ((1.0 - var_sodium_calcium_exchanger__FRiNaCa) * var_sodium_calcium_exchanger__k_NaCa * ((exp((var_sodium_calcium_exchanger__gamma * (var_sodium_calcium_exchanger__n_NaCa - 2.0) * var_sodium_calcium_exchanger__V * var_sodium_calcium_exchanger__F) / (var_sodium_calcium_exchanger__R * var_sodium_calcium_exchanger__T)) * pow(var_sodium_calcium_exchanger__Na_i, var_sodium_calcium_exchanger__n_NaCa) * var_sodium_calcium_exchanger__Ca_o) - (exp(((var_sodium_calcium_exchanger__gamma - 1.0) * (var_sodium_calcium_exchanger__n_NaCa - 2.0) * var_sodium_calcium_exchanger__V * var_sodium_calcium_exchanger__F) / (var_sodium_calcium_exchanger__R * var_sodium_calcium_exchanger__T)) * pow(var_sodium_calcium_exchanger__Na_o, var_sodium_calcium_exchanger__n_NaCa) * var_sodium_calcium_exchanger__Ca_i))) / ((1.0 + (var_sodium_calcium_exchanger__d_NaCa * ((var_sodium_calcium_exchanger__Ca_i * pow(var_sodium_calcium_exchanger__Na_o, var_sodium_calcium_exchanger__n_NaCa)) + (var_sodium_calcium_exchanger__Ca_o * pow(var_sodium_calcium_exchanger__Na_i, var_sodium_calcium_exchanger__n_NaCa))))) * (1.0 + (var_sodium_calcium_exchanger__Ca_i / 0.0069)));
00198 double var_membrane__i_NaCa_cyt = var_sodium_calcium_exchanger__i_NaCa_cyt;
00199 double var_sodium_calcium_exchanger__Ca_ds = var_intracellular_calcium_concentration__Ca_ds;
00200 double var_sodium_calcium_exchanger__i_NaCa_ds = (var_sodium_calcium_exchanger__FRiNaCa * var_sodium_calcium_exchanger__k_NaCa * ((exp((var_sodium_calcium_exchanger__gamma * (var_sodium_calcium_exchanger__n_NaCa - 2.0) * var_sodium_calcium_exchanger__V * var_sodium_calcium_exchanger__F) / (var_sodium_calcium_exchanger__R * var_sodium_calcium_exchanger__T)) * pow(var_sodium_calcium_exchanger__Na_i, var_sodium_calcium_exchanger__n_NaCa) * var_sodium_calcium_exchanger__Ca_o) - (exp(((var_sodium_calcium_exchanger__gamma - 1.0) * (var_sodium_calcium_exchanger__n_NaCa - 2.0) * var_sodium_calcium_exchanger__V * var_sodium_calcium_exchanger__F) / (var_sodium_calcium_exchanger__R * var_sodium_calcium_exchanger__T)) * pow(var_sodium_calcium_exchanger__Na_o, var_sodium_calcium_exchanger__n_NaCa) * var_sodium_calcium_exchanger__Ca_ds))) / ((1.0 + (var_sodium_calcium_exchanger__d_NaCa * ((var_sodium_calcium_exchanger__Ca_ds * pow(var_sodium_calcium_exchanger__Na_o, var_sodium_calcium_exchanger__n_NaCa)) + (var_sodium_calcium_exchanger__Ca_o * pow(var_sodium_calcium_exchanger__Na_i, var_sodium_calcium_exchanger__n_NaCa))))) * (1.0 + (var_sodium_calcium_exchanger__Ca_ds / 0.0069)));
00201 double var_membrane__i_NaCa_ds = var_sodium_calcium_exchanger__i_NaCa_ds;
00202 double var_L_type_Ca_channel__Ca_i = var_intracellular_calcium_concentration__Ca_i;
00203 double var_L_type_Ca_channel__Ca_o = var_extracellular_calcium_concentration__Ca_o;
00204 double var_L_type_Ca_channel__i_Ca_L_Ca_cyt = ((((1.0 - var_L_type_Ca_channel__FrICa) * 4.0 * var_L_type_Ca_channel__P_Ca_L * var_L_type_Ca_channel__d * var_L_type_Ca_channel__f * var_L_type_Ca_channel__f2 * (var_L_type_Ca_channel__V - 50.0) * var_L_type_Ca_channel__F) / (var_L_type_Ca_channel__R * var_L_type_Ca_channel__T)) / (1.0 - exp(((-(var_L_type_Ca_channel__V - 50.0)) * var_L_type_Ca_channel__F * 2.0) / (var_L_type_Ca_channel__R * var_L_type_Ca_channel__T)))) * ((var_L_type_Ca_channel__Ca_i * exp((100.0 * var_L_type_Ca_channel__F) / (var_L_type_Ca_channel__R * var_L_type_Ca_channel__T))) - (var_L_type_Ca_channel__Ca_o * exp(((-(var_L_type_Ca_channel__V - 50.0)) * var_L_type_Ca_channel__F * 2.0) / (var_L_type_Ca_channel__R * var_L_type_Ca_channel__T))));
00205 double var_membrane__i_Ca_L_Ca_cyt = var_L_type_Ca_channel__i_Ca_L_Ca_cyt;
00206 double var_L_type_Ca_channel__i_Ca_L_Ca_ds = (((var_L_type_Ca_channel__FrICa * 4.0 * var_L_type_Ca_channel__P_Ca_L * var_L_type_Ca_channel__d * var_L_type_Ca_channel__f * var_L_type_Ca_channel__f2ds * (var_L_type_Ca_channel__V - 50.0) * var_L_type_Ca_channel__F) / (var_L_type_Ca_channel__R * var_L_type_Ca_channel__T)) / (1.0 - exp(((-(var_L_type_Ca_channel__V - 50.0)) * var_L_type_Ca_channel__F * 2.0) / (var_L_type_Ca_channel__R * var_L_type_Ca_channel__T)))) * ((var_L_type_Ca_channel__Ca_i * exp((100.0 * var_L_type_Ca_channel__F) / (var_L_type_Ca_channel__R * var_L_type_Ca_channel__T))) - (var_L_type_Ca_channel__Ca_o * exp(((-(var_L_type_Ca_channel__V - 50.0)) * var_L_type_Ca_channel__F * 2.0) / (var_L_type_Ca_channel__R * var_L_type_Ca_channel__T))));
00207 double var_membrane__i_Ca_L_Ca_ds = var_L_type_Ca_channel__i_Ca_L_Ca_ds;
00208 double var_reversal_potentials__Ca_o = var_extracellular_calcium_concentration__Ca_o;
00209 double var_reversal_potentials__Ca_i = var_intracellular_calcium_concentration__Ca_i;
00210 double var_reversal_potentials__E_Ca = ((0.5 * var_reversal_potentials__R * var_reversal_potentials__T) / var_reversal_potentials__F) * log(var_reversal_potentials__Ca_o / var_reversal_potentials__Ca_i);
00211 double var_calcium_background_current__E_Ca = var_reversal_potentials__E_Ca;
00212 const double var_calcium_background_current__g_bca = 0.00025;
00213 double var_calcium_background_current__V = var_membrane__V;
00214 double var_calcium_background_current__i_b_Ca = var_calcium_background_current__g_bca * (var_calcium_background_current__V - var_calcium_background_current__E_Ca);
00215 double var_membrane__i_b_Ca = var_calcium_background_current__i_b_Ca;
00216
00218
00220 const double g_sac = 0.035;
00221 const double E_sac = -10;
00222 double f = (mStretch > 1.0) ? (mStretch-1.0)/0.15 : 0.0;
00223 double sac_ionic_current = g_sac * f * (var_membrane__V - E_sac);
00224
00225
00226
00227
00228
00229
00230
00231
00232
00233 double value_in_nA = var_membrane__i_K1+var_membrane__i_to+var_membrane__i_Kr+var_membrane__i_Ks+var_membrane__i_Ca_L_K_cyt+var_membrane__i_Ca_L_K_ds+var_membrane__i_NaK+var_membrane__i_Na+var_membrane__i_b_Na+var_membrane__i_p_Na+var_membrane__i_Ca_L_Na_cyt+var_membrane__i_Ca_L_Na_ds+var_membrane__i_NaCa_cyt+var_membrane__i_NaCa_ds+var_membrane__i_Ca_L_Ca_cyt+var_membrane__i_Ca_L_Ca_ds+var_membrane__i_b_Ca;
00234
00235
00236 value_in_nA += sac_ionic_current;
00237
00238 double value_in_microA = 0.001*value_in_nA;
00239 double estimated_cell_surface_in_cm_square = 9.5e-05 / HeartConfig::Instance()->GetCapacitance();
00240 double value_in_microA_per_cm_square = value_in_microA/estimated_cell_surface_in_cm_square;
00241 return value_in_microA_per_cm_square;
00242 }
00243
00244 void CML_noble_varghese_kohl_noble_1998_basic_with_sac::EvaluateYDerivatives (
00245 double var_environment__time,
00246 const std::vector<double> &rY,
00247 std::vector<double> &rDY)
00248 {
00249
00250
00251 var_environment__time *= 0.001;
00252 double var_membrane__V = rY[0];
00253
00254 double var_rapid_delayed_rectifier_potassium_current_xr1_gate__xr1 = rY[1];
00255
00256 double var_rapid_delayed_rectifier_potassium_current_xr2_gate__xr2 = rY[2];
00257
00258 double var_slow_delayed_rectifier_potassium_current_xs_gate__xs = rY[3];
00259
00260 double var_fast_sodium_current_m_gate__m = rY[4];
00261
00262 double var_fast_sodium_current_h_gate__h = rY[5];
00263
00264 double var_L_type_Ca_channel_d_gate__d = rY[6];
00265
00266 double var_L_type_Ca_channel_f_gate__f = rY[7];
00267
00268 double var_L_type_Ca_channel_f2_gate__f2 = rY[8];
00269
00270 double var_L_type_Ca_channel_f2ds_gate__f2ds = rY[9];
00271
00272 double var_transient_outward_current_s_gate__s = rY[10];
00273
00274 double var_transient_outward_current_r_gate__r = rY[11];
00275
00276 double var_calcium_release__ActFrac = rY[12];
00277
00278 double var_calcium_release__ProdFrac = rY[13];
00279
00280 double var_intracellular_sodium_concentration__Na_i = rY[14];
00281
00282 double var_intracellular_potassium_concentration__K_i = rY[15];
00283
00284 double var_intracellular_calcium_concentration__Ca_i = rY[16];
00285
00286 double var_intracellular_calcium_concentration__Ca_ds = rY[17];
00287
00288 double var_intracellular_calcium_concentration__Ca_up = rY[18];
00289
00290 double var_intracellular_calcium_concentration__Ca_rel = rY[19];
00291
00292 double var_intracellular_calcium_concentration__Ca_Calmod = rY[20];
00293
00294 double var_intracellular_calcium_concentration__Ca_Trop = rY[21];
00295
00296
00297
00298
00299 const double var_membrane__R = 8314.472;
00300 const double var_membrane__T = 310.0;
00301 const double var_membrane__F = 96485.3415;
00302 const double var_membrane__Cm = 9.5e-05;
00303 double var_reversal_potentials__K_i = var_intracellular_potassium_concentration__K_i;
00304 double var_reversal_potentials__R = var_membrane__R;
00305 double var_reversal_potentials__T = var_membrane__T;
00306 double var_reversal_potentials__F = var_membrane__F;
00307 const double var_extracellular_potassium_concentration__K_o = 4.0;
00308 double var_reversal_potentials__K_o = var_extracellular_potassium_concentration__K_o;
00309 double var_reversal_potentials__E_K = ((var_reversal_potentials__R * var_reversal_potentials__T) / var_reversal_potentials__F) * log(var_reversal_potentials__K_o / var_reversal_potentials__K_i);
00310 double var_time_independent_potassium_current__E_K = var_reversal_potentials__E_K;
00311 double var_time_independent_potassium_current__K_o = var_extracellular_potassium_concentration__K_o;
00312 double var_time_independent_potassium_current__R = var_membrane__R;
00313 double var_time_independent_potassium_current__V = var_membrane__V;
00314 double var_time_independent_potassium_current__T = var_membrane__T;
00315 const double var_time_independent_potassium_current__K_mk1 = 10.0;
00316 const double var_time_independent_potassium_current__g_K1 = 0.5;
00317 double var_time_independent_potassium_current__F = var_membrane__F;
00318 double var_time_independent_potassium_current__i_K1 = (((var_time_independent_potassium_current__g_K1 * var_time_independent_potassium_current__K_o) / (var_time_independent_potassium_current__K_o + var_time_independent_potassium_current__K_mk1)) * (var_time_independent_potassium_current__V - var_time_independent_potassium_current__E_K)) / (1.0 + exp((((var_time_independent_potassium_current__V - var_time_independent_potassium_current__E_K) - 10.0) * var_time_independent_potassium_current__F * 1.25) / (var_time_independent_potassium_current__R * var_time_independent_potassium_current__T)));
00319 double var_membrane__i_K1 = var_time_independent_potassium_current__i_K1;
00320 double var_transient_outward_current__s = var_transient_outward_current_s_gate__s;
00321 double var_transient_outward_current__r = var_transient_outward_current_r_gate__r;
00322 const double var_transient_outward_current__g_to = 0.005;
00323 double var_transient_outward_current__V = var_membrane__V;
00324 double var_transient_outward_current__E_K = var_reversal_potentials__E_K;
00325 const double var_transient_outward_current__g_tos = 0.0;
00326 double var_transient_outward_current__i_to = var_transient_outward_current__g_to * (var_transient_outward_current__g_tos + (var_transient_outward_current__s * (1.0 - var_transient_outward_current__g_tos))) * var_transient_outward_current__r * (var_transient_outward_current__V - var_transient_outward_current__E_K);
00327 double var_membrane__i_to = var_transient_outward_current__i_to;
00328 const double var_rapid_delayed_rectifier_potassium_current__g_Kr2 = 0.0013;
00329 const double var_rapid_delayed_rectifier_potassium_current__g_Kr1 = 0.0021;
00330 double var_rapid_delayed_rectifier_potassium_current__xr1 = var_rapid_delayed_rectifier_potassium_current_xr1_gate__xr1;
00331 double var_rapid_delayed_rectifier_potassium_current__xr2 = var_rapid_delayed_rectifier_potassium_current_xr2_gate__xr2;
00332 double var_rapid_delayed_rectifier_potassium_current__V = var_membrane__V;
00333 double var_rapid_delayed_rectifier_potassium_current__E_K = var_reversal_potentials__E_K;
00334 double var_rapid_delayed_rectifier_potassium_current__i_Kr = ((((var_rapid_delayed_rectifier_potassium_current__g_Kr1 * var_rapid_delayed_rectifier_potassium_current__xr1) + (var_rapid_delayed_rectifier_potassium_current__g_Kr2 * var_rapid_delayed_rectifier_potassium_current__xr2)) * 1.0) / (1.0 + exp((var_rapid_delayed_rectifier_potassium_current__V + 9.0) / 22.4))) * (var_rapid_delayed_rectifier_potassium_current__V - var_rapid_delayed_rectifier_potassium_current__E_K);
00335 double var_membrane__i_Kr = var_rapid_delayed_rectifier_potassium_current__i_Kr;
00336 double var_slow_delayed_rectifier_potassium_current__xs = var_slow_delayed_rectifier_potassium_current_xs_gate__xs;
00337 const double var_extracellular_sodium_concentration__Na_o = 140.0;
00338 double var_reversal_potentials__Na_o = var_extracellular_sodium_concentration__Na_o;
00339 double var_reversal_potentials__Na_i = var_intracellular_sodium_concentration__Na_i;
00340 const double var_reversal_potentials__P_kna = 0.03;
00341 double var_reversal_potentials__E_Ks = ((var_reversal_potentials__R * var_reversal_potentials__T) / var_reversal_potentials__F) * log((var_reversal_potentials__K_o + (var_reversal_potentials__P_kna * var_reversal_potentials__Na_o)) / (var_reversal_potentials__K_i + (var_reversal_potentials__P_kna * var_reversal_potentials__Na_i)));
00342 double var_slow_delayed_rectifier_potassium_current__E_Ks = var_reversal_potentials__E_Ks;
00343 const double var_slow_delayed_rectifier_potassium_current__g_Ks = 0.0026;
00344 double var_slow_delayed_rectifier_potassium_current__V = var_membrane__V;
00345 double var_slow_delayed_rectifier_potassium_current__i_Ks = var_slow_delayed_rectifier_potassium_current__g_Ks * pow(var_slow_delayed_rectifier_potassium_current__xs, 2.0) * (var_slow_delayed_rectifier_potassium_current__V - var_slow_delayed_rectifier_potassium_current__E_Ks);
00346 double var_membrane__i_Ks = var_slow_delayed_rectifier_potassium_current__i_Ks;
00347 double var_L_type_Ca_channel__d = var_L_type_Ca_channel_d_gate__d;
00348 const double var_L_type_Ca_channel__FrICa = 1.0;
00349 double var_L_type_Ca_channel__f = var_L_type_Ca_channel_f_gate__f;
00350 double var_L_type_Ca_channel__K_o = var_extracellular_potassium_concentration__K_o;
00351 double var_L_type_Ca_channel__K_i = var_intracellular_potassium_concentration__K_i;
00352 double var_L_type_Ca_channel__F = var_membrane__F;
00353 const double var_L_type_Ca_channel__P_Ca_L = 0.1;
00354 double var_L_type_Ca_channel__T = var_membrane__T;
00355 const double var_L_type_Ca_channel__P_CaK = 0.002;
00356 double var_L_type_Ca_channel__V = var_membrane__V;
00357 double var_L_type_Ca_channel__f2 = var_L_type_Ca_channel_f2_gate__f2;
00358 double var_L_type_Ca_channel__R = var_membrane__R;
00359 double var_L_type_Ca_channel__i_Ca_L_K_cyt = ((((1.0 - var_L_type_Ca_channel__FrICa) * var_L_type_Ca_channel__P_CaK * var_L_type_Ca_channel__P_Ca_L * var_L_type_Ca_channel__d * var_L_type_Ca_channel__f * var_L_type_Ca_channel__f2 * (var_L_type_Ca_channel__V - 50.0) * var_L_type_Ca_channel__F) / (var_L_type_Ca_channel__R * var_L_type_Ca_channel__T)) / (1.0 - exp(((-(var_L_type_Ca_channel__V - 50.0)) * var_L_type_Ca_channel__F) / (var_L_type_Ca_channel__R * var_L_type_Ca_channel__T)))) * ((var_L_type_Ca_channel__K_i * exp((50.0 * var_L_type_Ca_channel__F) / (var_L_type_Ca_channel__R * var_L_type_Ca_channel__T))) - (var_L_type_Ca_channel__K_o * exp(((-(var_L_type_Ca_channel__V - 50.0)) * var_L_type_Ca_channel__F) / (var_L_type_Ca_channel__R * var_L_type_Ca_channel__T))));
00360 double var_membrane__i_Ca_L_K_cyt = var_L_type_Ca_channel__i_Ca_L_K_cyt;
00361 double var_L_type_Ca_channel__f2ds = var_L_type_Ca_channel_f2ds_gate__f2ds;
00362 double var_L_type_Ca_channel__i_Ca_L_K_ds = (((var_L_type_Ca_channel__FrICa * var_L_type_Ca_channel__P_CaK * var_L_type_Ca_channel__P_Ca_L * var_L_type_Ca_channel__d * var_L_type_Ca_channel__f * var_L_type_Ca_channel__f2ds * (var_L_type_Ca_channel__V - 50.0) * var_L_type_Ca_channel__F) / (var_L_type_Ca_channel__R * var_L_type_Ca_channel__T)) / (1.0 - exp(((-(var_L_type_Ca_channel__V - 50.0)) * var_L_type_Ca_channel__F) / (var_L_type_Ca_channel__R * var_L_type_Ca_channel__T)))) * ((var_L_type_Ca_channel__K_i * exp((50.0 * var_L_type_Ca_channel__F) / (var_L_type_Ca_channel__R * var_L_type_Ca_channel__T))) - (var_L_type_Ca_channel__K_o * exp(((-(var_L_type_Ca_channel__V - 50.0)) * var_L_type_Ca_channel__F) / (var_L_type_Ca_channel__R * var_L_type_Ca_channel__T))));
00363 double var_membrane__i_Ca_L_K_ds = var_L_type_Ca_channel__i_Ca_L_K_ds;
00364 const double var_sodium_potassium_pump__i_NaK_max = 0.7;
00365 double var_sodium_potassium_pump__Na_i = var_intracellular_sodium_concentration__Na_i;
00366 double var_sodium_potassium_pump__K_o = var_extracellular_potassium_concentration__K_o;
00367 const double var_sodium_potassium_pump__K_mNa = 40.0;
00368 const double var_sodium_potassium_pump__K_mK = 1.0;
00369 double var_sodium_potassium_pump__i_NaK = (((var_sodium_potassium_pump__i_NaK_max * var_sodium_potassium_pump__K_o) / (var_sodium_potassium_pump__K_mK + var_sodium_potassium_pump__K_o)) * var_sodium_potassium_pump__Na_i) / (var_sodium_potassium_pump__K_mNa + var_sodium_potassium_pump__Na_i);
00370 double var_membrane__i_NaK = var_sodium_potassium_pump__i_NaK;
00371 const double var_fast_sodium_current__g_Na = 2.5;
00372 double var_fast_sodium_current__h = var_fast_sodium_current_h_gate__h;
00373 double var_fast_sodium_current__V = var_membrane__V;
00374 double var_reversal_potentials__E_mh = ((var_reversal_potentials__R * var_reversal_potentials__T) / var_reversal_potentials__F) * log((var_reversal_potentials__Na_o + (0.12 * var_reversal_potentials__K_o)) / (var_reversal_potentials__Na_i + (0.12 * var_reversal_potentials__K_i)));
00375 double var_fast_sodium_current__E_mh = var_reversal_potentials__E_mh;
00376 double var_fast_sodium_current__m = var_fast_sodium_current_m_gate__m;
00377 double var_fast_sodium_current__i_Na = var_fast_sodium_current__g_Na * pow(var_fast_sodium_current__m, 3.0) * var_fast_sodium_current__h * (var_fast_sodium_current__V - var_fast_sodium_current__E_mh);
00378 double var_membrane__i_Na = var_fast_sodium_current__i_Na;
00379 double var_sodium_background_current__V = var_membrane__V;
00380 double var_reversal_potentials__E_Na = ((var_reversal_potentials__R * var_reversal_potentials__T) / var_reversal_potentials__F) * log(var_reversal_potentials__Na_o / var_reversal_potentials__Na_i);
00381 double var_sodium_background_current__E_Na = var_reversal_potentials__E_Na;
00382 const double var_sodium_background_current__g_bna = 0.0006;
00383 double var_sodium_background_current__i_b_Na = var_sodium_background_current__g_bna * (var_sodium_background_current__V - var_sodium_background_current__E_Na);
00384 double var_membrane__i_b_Na = var_sodium_background_current__i_b_Na;
00385 const double var_persistent_sodium_current__g_pna = 0.004;
00386 double var_persistent_sodium_current__V = var_membrane__V;
00387 double var_persistent_sodium_current__E_Na = var_reversal_potentials__E_Na;
00388 double var_persistent_sodium_current__i_p_Na = ((var_persistent_sodium_current__g_pna * 1.0) / (1.0 + exp((-(var_persistent_sodium_current__V + 52.0)) / 8.0))) * (var_persistent_sodium_current__V - var_persistent_sodium_current__E_Na);
00389 double var_membrane__i_p_Na = var_persistent_sodium_current__i_p_Na;
00390 const double var_L_type_Ca_channel__P_CaNa = 0.01;
00391 double var_L_type_Ca_channel__Na_o = var_extracellular_sodium_concentration__Na_o;
00392 double var_L_type_Ca_channel__Na_i = var_intracellular_sodium_concentration__Na_i;
00393 double var_L_type_Ca_channel__i_Ca_L_Na_cyt = ((((1.0 - var_L_type_Ca_channel__FrICa) * var_L_type_Ca_channel__P_CaNa * var_L_type_Ca_channel__P_Ca_L * var_L_type_Ca_channel__d * var_L_type_Ca_channel__f * var_L_type_Ca_channel__f2 * (var_L_type_Ca_channel__V - 50.0) * var_L_type_Ca_channel__F) / (var_L_type_Ca_channel__R * var_L_type_Ca_channel__T)) / (1.0 - exp(((-(var_L_type_Ca_channel__V - 50.0)) * var_L_type_Ca_channel__F) / (var_L_type_Ca_channel__R * var_L_type_Ca_channel__T)))) * ((var_L_type_Ca_channel__Na_i * exp((50.0 * var_L_type_Ca_channel__F) / (var_L_type_Ca_channel__R * var_L_type_Ca_channel__T))) - (var_L_type_Ca_channel__Na_o * exp(((-(var_L_type_Ca_channel__V - 50.0)) * var_L_type_Ca_channel__F) / (var_L_type_Ca_channel__R * var_L_type_Ca_channel__T))));
00394 double var_membrane__i_Ca_L_Na_cyt = var_L_type_Ca_channel__i_Ca_L_Na_cyt;
00395 double var_L_type_Ca_channel__i_Ca_L_Na_ds = (((var_L_type_Ca_channel__FrICa * var_L_type_Ca_channel__P_CaNa * var_L_type_Ca_channel__P_Ca_L * var_L_type_Ca_channel__d * var_L_type_Ca_channel__f * var_L_type_Ca_channel__f2ds * (var_L_type_Ca_channel__V - 50.0) * var_L_type_Ca_channel__F) / (var_L_type_Ca_channel__R * var_L_type_Ca_channel__T)) / (1.0 - exp(((-(var_L_type_Ca_channel__V - 50.0)) * var_L_type_Ca_channel__F) / (var_L_type_Ca_channel__R * var_L_type_Ca_channel__T)))) * ((var_L_type_Ca_channel__Na_i * exp((50.0 * var_L_type_Ca_channel__F) / (var_L_type_Ca_channel__R * var_L_type_Ca_channel__T))) - (var_L_type_Ca_channel__Na_o * exp(((-(var_L_type_Ca_channel__V - 50.0)) * var_L_type_Ca_channel__F) / (var_L_type_Ca_channel__R * var_L_type_Ca_channel__T))));
00396 double var_membrane__i_Ca_L_Na_ds = var_L_type_Ca_channel__i_Ca_L_Na_ds;
00397 double var_sodium_calcium_exchanger__Na_i = var_intracellular_sodium_concentration__Na_i;
00398 const double var_sodium_calcium_exchanger__n_NaCa = 3.0;
00399 const double var_sodium_calcium_exchanger__gamma = 0.5;
00400 double var_sodium_calcium_exchanger__F = var_membrane__F;
00401 double var_sodium_calcium_exchanger__Na_o = var_extracellular_sodium_concentration__Na_o;
00402 const double var_sodium_calcium_exchanger__FRiNaCa = 0.001;
00403 double var_sodium_calcium_exchanger__R = var_membrane__R;
00404 double var_sodium_calcium_exchanger__Ca_i = var_intracellular_calcium_concentration__Ca_i;
00405 double var_sodium_calcium_exchanger__T = var_membrane__T;
00406 double var_sodium_calcium_exchanger__V = var_membrane__V;
00407 const double var_sodium_calcium_exchanger__d_NaCa = 0.0;
00408 const double var_extracellular_calcium_concentration__Ca_o = 2.0;
00409 double var_sodium_calcium_exchanger__Ca_o = var_extracellular_calcium_concentration__Ca_o;
00410 const double var_sodium_calcium_exchanger__k_NaCa = 0.0005;
00411 double var_sodium_calcium_exchanger__i_NaCa_cyt = ((1.0 - var_sodium_calcium_exchanger__FRiNaCa) * var_sodium_calcium_exchanger__k_NaCa * ((exp((var_sodium_calcium_exchanger__gamma * (var_sodium_calcium_exchanger__n_NaCa - 2.0) * var_sodium_calcium_exchanger__V * var_sodium_calcium_exchanger__F) / (var_sodium_calcium_exchanger__R * var_sodium_calcium_exchanger__T)) * pow(var_sodium_calcium_exchanger__Na_i, var_sodium_calcium_exchanger__n_NaCa) * var_sodium_calcium_exchanger__Ca_o) - (exp(((var_sodium_calcium_exchanger__gamma - 1.0) * (var_sodium_calcium_exchanger__n_NaCa - 2.0) * var_sodium_calcium_exchanger__V * var_sodium_calcium_exchanger__F) / (var_sodium_calcium_exchanger__R * var_sodium_calcium_exchanger__T)) * pow(var_sodium_calcium_exchanger__Na_o, var_sodium_calcium_exchanger__n_NaCa) * var_sodium_calcium_exchanger__Ca_i))) / ((1.0 + (var_sodium_calcium_exchanger__d_NaCa * ((var_sodium_calcium_exchanger__Ca_i * pow(var_sodium_calcium_exchanger__Na_o, var_sodium_calcium_exchanger__n_NaCa)) + (var_sodium_calcium_exchanger__Ca_o * pow(var_sodium_calcium_exchanger__Na_i, var_sodium_calcium_exchanger__n_NaCa))))) * (1.0 + (var_sodium_calcium_exchanger__Ca_i / 0.0069)));
00412 double var_membrane__i_NaCa_cyt = var_sodium_calcium_exchanger__i_NaCa_cyt;
00413 double var_sodium_calcium_exchanger__Ca_ds = var_intracellular_calcium_concentration__Ca_ds;
00414 double var_sodium_calcium_exchanger__i_NaCa_ds = (var_sodium_calcium_exchanger__FRiNaCa * var_sodium_calcium_exchanger__k_NaCa * ((exp((var_sodium_calcium_exchanger__gamma * (var_sodium_calcium_exchanger__n_NaCa - 2.0) * var_sodium_calcium_exchanger__V * var_sodium_calcium_exchanger__F) / (var_sodium_calcium_exchanger__R * var_sodium_calcium_exchanger__T)) * pow(var_sodium_calcium_exchanger__Na_i, var_sodium_calcium_exchanger__n_NaCa) * var_sodium_calcium_exchanger__Ca_o) - (exp(((var_sodium_calcium_exchanger__gamma - 1.0) * (var_sodium_calcium_exchanger__n_NaCa - 2.0) * var_sodium_calcium_exchanger__V * var_sodium_calcium_exchanger__F) / (var_sodium_calcium_exchanger__R * var_sodium_calcium_exchanger__T)) * pow(var_sodium_calcium_exchanger__Na_o, var_sodium_calcium_exchanger__n_NaCa) * var_sodium_calcium_exchanger__Ca_ds))) / ((1.0 + (var_sodium_calcium_exchanger__d_NaCa * ((var_sodium_calcium_exchanger__Ca_ds * pow(var_sodium_calcium_exchanger__Na_o, var_sodium_calcium_exchanger__n_NaCa)) + (var_sodium_calcium_exchanger__Ca_o * pow(var_sodium_calcium_exchanger__Na_i, var_sodium_calcium_exchanger__n_NaCa))))) * (1.0 + (var_sodium_calcium_exchanger__Ca_ds / 0.0069)));
00415 double var_membrane__i_NaCa_ds = var_sodium_calcium_exchanger__i_NaCa_ds;
00416 double var_L_type_Ca_channel__Ca_i = var_intracellular_calcium_concentration__Ca_i;
00417 double var_L_type_Ca_channel__Ca_o = var_extracellular_calcium_concentration__Ca_o;
00418 double var_L_type_Ca_channel__i_Ca_L_Ca_cyt = ((((1.0 - var_L_type_Ca_channel__FrICa) * 4.0 * var_L_type_Ca_channel__P_Ca_L * var_L_type_Ca_channel__d * var_L_type_Ca_channel__f * var_L_type_Ca_channel__f2 * (var_L_type_Ca_channel__V - 50.0) * var_L_type_Ca_channel__F) / (var_L_type_Ca_channel__R * var_L_type_Ca_channel__T)) / (1.0 - exp(((-(var_L_type_Ca_channel__V - 50.0)) * var_L_type_Ca_channel__F * 2.0) / (var_L_type_Ca_channel__R * var_L_type_Ca_channel__T)))) * ((var_L_type_Ca_channel__Ca_i * exp((100.0 * var_L_type_Ca_channel__F) / (var_L_type_Ca_channel__R * var_L_type_Ca_channel__T))) - (var_L_type_Ca_channel__Ca_o * exp(((-(var_L_type_Ca_channel__V - 50.0)) * var_L_type_Ca_channel__F * 2.0) / (var_L_type_Ca_channel__R * var_L_type_Ca_channel__T))));
00419 double var_membrane__i_Ca_L_Ca_cyt = var_L_type_Ca_channel__i_Ca_L_Ca_cyt;
00420 double var_L_type_Ca_channel__i_Ca_L_Ca_ds = (((var_L_type_Ca_channel__FrICa * 4.0 * var_L_type_Ca_channel__P_Ca_L * var_L_type_Ca_channel__d * var_L_type_Ca_channel__f * var_L_type_Ca_channel__f2ds * (var_L_type_Ca_channel__V - 50.0) * var_L_type_Ca_channel__F) / (var_L_type_Ca_channel__R * var_L_type_Ca_channel__T)) / (1.0 - exp(((-(var_L_type_Ca_channel__V - 50.0)) * var_L_type_Ca_channel__F * 2.0) / (var_L_type_Ca_channel__R * var_L_type_Ca_channel__T)))) * ((var_L_type_Ca_channel__Ca_i * exp((100.0 * var_L_type_Ca_channel__F) / (var_L_type_Ca_channel__R * var_L_type_Ca_channel__T))) - (var_L_type_Ca_channel__Ca_o * exp(((-(var_L_type_Ca_channel__V - 50.0)) * var_L_type_Ca_channel__F * 2.0) / (var_L_type_Ca_channel__R * var_L_type_Ca_channel__T))));
00421 double var_membrane__i_Ca_L_Ca_ds = var_L_type_Ca_channel__i_Ca_L_Ca_ds;
00422 double var_reversal_potentials__Ca_o = var_extracellular_calcium_concentration__Ca_o;
00423 double var_reversal_potentials__Ca_i = var_intracellular_calcium_concentration__Ca_i;
00424 double var_reversal_potentials__E_Ca = ((0.5 * var_reversal_potentials__R * var_reversal_potentials__T) / var_reversal_potentials__F) * log(var_reversal_potentials__Ca_o / var_reversal_potentials__Ca_i);
00425 double var_calcium_background_current__E_Ca = var_reversal_potentials__E_Ca;
00426 const double var_calcium_background_current__g_bca = 0.00025;
00427 double var_calcium_background_current__V = var_membrane__V;
00428 double var_calcium_background_current__i_b_Ca = var_calcium_background_current__g_bca * (var_calcium_background_current__V - var_calcium_background_current__E_Ca);
00429 double var_membrane__i_b_Ca = var_calcium_background_current__i_b_Ca;
00430 double var_membrane__i_Stim = GetStimulus((1.0/0.001)*var_environment__time);
00431 double var_rapid_delayed_rectifier_potassium_current_xr1_gate__V = var_rapid_delayed_rectifier_potassium_current__V;
00432 double var_rapid_delayed_rectifier_potassium_current_xr1_gate__alpha_xr1 = 50.0 / (1.0 + exp((-(var_rapid_delayed_rectifier_potassium_current_xr1_gate__V - 5.0)) / 9.0));
00433 double var_rapid_delayed_rectifier_potassium_current_xr1_gate__beta_xr1 = 0.05 * exp((-(var_rapid_delayed_rectifier_potassium_current_xr1_gate__V - 20.0)) / 15.0);
00434 double var_rapid_delayed_rectifier_potassium_current_xr2_gate__V = var_rapid_delayed_rectifier_potassium_current__V;
00435 double var_rapid_delayed_rectifier_potassium_current_xr2_gate__alpha_xr2 = 50.0 / (1.0 + exp((-(var_rapid_delayed_rectifier_potassium_current_xr2_gate__V - 5.0)) / 9.0));
00436 double var_rapid_delayed_rectifier_potassium_current_xr2_gate__beta_xr2 = 0.4 * exp(-pow((var_rapid_delayed_rectifier_potassium_current_xr2_gate__V + 30.0) / 30.0, 3.0));
00437 double var_slow_delayed_rectifier_potassium_current_xs_gate__V = var_slow_delayed_rectifier_potassium_current__V;
00438 double var_slow_delayed_rectifier_potassium_current_xs_gate__alpha_xs = 14.0 / (1.0 + exp((-(var_slow_delayed_rectifier_potassium_current_xs_gate__V - 40.0)) / 9.0));
00439 double var_slow_delayed_rectifier_potassium_current_xs_gate__beta_xs = 1.0 * exp((-var_slow_delayed_rectifier_potassium_current_xs_gate__V) / 45.0);
00440 double var_fast_sodium_current_m_gate__V = var_fast_sodium_current__V;
00441 double var_fast_sodium_current_m_gate__E0_m = var_fast_sodium_current_m_gate__V + 41.0;
00442 const double var_fast_sodium_current_m_gate__delta_m = 1e-05;
00443 double var_fast_sodium_current_m_gate__alpha_m = (fabs(var_fast_sodium_current_m_gate__E0_m) < var_fast_sodium_current_m_gate__delta_m) ? 2000.0 : ((200.0 * var_fast_sodium_current_m_gate__E0_m) / (1.0 - exp((-0.1) * var_fast_sodium_current_m_gate__E0_m)));
00444 double var_fast_sodium_current_m_gate__beta_m = 8000.0 * exp((-0.056) * (var_fast_sodium_current_m_gate__V + 66.0));
00445 double var_fast_sodium_current_h_gate__V = var_fast_sodium_current__V;
00446 const double var_fast_sodium_current_h_gate__shift_h = 0.0;
00447 double var_fast_sodium_current_h_gate__alpha_h = 20.0 * exp((-0.125) * ((var_fast_sodium_current_h_gate__V + 75.0) - var_fast_sodium_current_h_gate__shift_h));
00448 double var_fast_sodium_current_h_gate__beta_h = 2000.0 / (1.0 + (320.0 * exp((-0.1) * ((var_fast_sodium_current_h_gate__V + 75.0) - var_fast_sodium_current_h_gate__shift_h))));
00449 double var_L_type_Ca_channel__Ca_ds = var_intracellular_calcium_concentration__Ca_ds;
00450 const double var_L_type_Ca_channel__Km_f2 = 100000.0;
00451 const double var_L_type_Ca_channel__Km_f2ds = 0.001;
00452 const double var_L_type_Ca_channel__R_decay = 20.0;
00453 double var_L_type_Ca_channel_d_gate__V = var_L_type_Ca_channel__V;
00454 double var_L_type_Ca_channel_d_gate__E0_d = (var_L_type_Ca_channel_d_gate__V + 24.0) - 5.0;
00455 double var_L_type_Ca_channel_d_gate__alpha_d = (fabs(var_L_type_Ca_channel_d_gate__E0_d) < 0.0001) ? 120.0 : ((30.0 * var_L_type_Ca_channel_d_gate__E0_d) / (1.0 - exp((-var_L_type_Ca_channel_d_gate__E0_d) / 4.0)));
00456 double var_L_type_Ca_channel_d_gate__beta_d = (fabs(var_L_type_Ca_channel_d_gate__E0_d) < 0.0001) ? 120.0 : ((12.0 * var_L_type_Ca_channel_d_gate__E0_d) / (exp(var_L_type_Ca_channel_d_gate__E0_d / 10.0) - 1.0));
00457 const double var_L_type_Ca_channel_d_gate__speed_d = 3.0;
00458 double var_L_type_Ca_channel_f_gate__V = var_L_type_Ca_channel__V;
00459 double var_L_type_Ca_channel_f_gate__E0_f = var_L_type_Ca_channel_f_gate__V + 34.0;
00460 const double var_L_type_Ca_channel_f_gate__delta_f = 0.0001;
00461 double var_L_type_Ca_channel_f_gate__alpha_f = (fabs(var_L_type_Ca_channel_f_gate__E0_f) < var_L_type_Ca_channel_f_gate__delta_f) ? 25.0 : ((6.25 * var_L_type_Ca_channel_f_gate__E0_f) / (exp(var_L_type_Ca_channel_f_gate__E0_f / 4.0) - 1.0));
00462 double var_L_type_Ca_channel_f_gate__beta_f = 12.0 / (1.0 + exp(((-1.0) * (var_L_type_Ca_channel_f_gate__V + 34.0)) / 4.0));
00463 const double var_L_type_Ca_channel_f_gate__speed_f = 0.3;
00464 double var_L_type_Ca_channel_f2_gate__Km_f2 = var_L_type_Ca_channel__Km_f2;
00465 double var_L_type_Ca_channel_f2_gate__Ca_i = var_L_type_Ca_channel__Ca_i;
00466 double var_L_type_Ca_channel_f2ds_gate__Km_f2ds = var_L_type_Ca_channel__Km_f2ds;
00467 double var_L_type_Ca_channel_f2ds_gate__R_decay = var_L_type_Ca_channel__R_decay;
00468 double var_L_type_Ca_channel_f2ds_gate__Ca_ds = var_L_type_Ca_channel__Ca_ds;
00469 double var_transient_outward_current_s_gate__V = var_transient_outward_current__V;
00470 double var_transient_outward_current_s_gate__alpha_s = 0.033 * exp((-var_transient_outward_current_s_gate__V) / 17.0);
00471 double var_transient_outward_current_s_gate__beta_s = 33.0 / (1.0 + exp((-0.125) * (var_transient_outward_current_s_gate__V + 10.0)));
00472 double var_transient_outward_current_r_gate__V = var_transient_outward_current__V;
00473 double var_sarcoplasmic_reticulum_calcium_pump__Ca_i = var_intracellular_calcium_concentration__Ca_i;
00474 double var_sarcoplasmic_reticulum_calcium_pump__Ca_up = var_intracellular_calcium_concentration__Ca_up;
00475 const double var_sarcoplasmic_reticulum_calcium_pump__alpha_up = 0.4;
00476 const double var_sarcoplasmic_reticulum_calcium_pump__beta_up = 0.03;
00477 const double var_sarcoplasmic_reticulum_calcium_pump__K_srca = 0.5;
00478 const double var_sarcoplasmic_reticulum_calcium_pump__K_xcs = 0.4;
00479 const double var_sarcoplasmic_reticulum_calcium_pump__K_cyca = 0.0003;
00480 double var_sarcoplasmic_reticulum_calcium_pump__K_1 = (var_sarcoplasmic_reticulum_calcium_pump__K_cyca * var_sarcoplasmic_reticulum_calcium_pump__K_xcs) / var_sarcoplasmic_reticulum_calcium_pump__K_srca;
00481 double var_sarcoplasmic_reticulum_calcium_pump__K_2 = var_sarcoplasmic_reticulum_calcium_pump__Ca_i + (var_sarcoplasmic_reticulum_calcium_pump__Ca_up * var_sarcoplasmic_reticulum_calcium_pump__K_1) + (var_sarcoplasmic_reticulum_calcium_pump__K_cyca * var_sarcoplasmic_reticulum_calcium_pump__K_xcs) + var_sarcoplasmic_reticulum_calcium_pump__K_cyca;
00482 double var_sarcoplasmic_reticulum_calcium_pump__i_up = ((var_sarcoplasmic_reticulum_calcium_pump__Ca_i / var_sarcoplasmic_reticulum_calcium_pump__K_2) * var_sarcoplasmic_reticulum_calcium_pump__alpha_up) - (((var_sarcoplasmic_reticulum_calcium_pump__Ca_up * var_sarcoplasmic_reticulum_calcium_pump__K_1) / var_sarcoplasmic_reticulum_calcium_pump__K_2) * var_sarcoplasmic_reticulum_calcium_pump__beta_up);
00483 double var_calcium_translocation__Ca_rel = var_intracellular_calcium_concentration__Ca_rel;
00484 double var_calcium_translocation__Ca_up = var_intracellular_calcium_concentration__Ca_up;
00485 double var_calcium_translocation__i_trans = 50.0 * (var_calcium_translocation__Ca_up - var_calcium_translocation__Ca_rel);
00486 const double var_calcium_release__K_m_rel = 250.0;
00487 const double var_calcium_release__K_leak_rate = 0.05;
00488 double var_calcium_release__Ca_rel = var_intracellular_calcium_concentration__Ca_rel;
00489 double var_calcium_release__i_rel = ((pow(var_calcium_release__ActFrac / (var_calcium_release__ActFrac + 0.25), 2.0) * var_calcium_release__K_m_rel) + var_calcium_release__K_leak_rate) * var_calcium_release__Ca_rel;
00490 double var_calcium_release__V = var_membrane__V;
00491 double var_calcium_release__VoltDep = exp(0.08 * (var_calcium_release__V - 40.0));
00492 const double var_calcium_release__K_m_Ca_cyt = 0.0005;
00493 double var_calcium_release__Ca_i = var_intracellular_calcium_concentration__Ca_i;
00494 double var_calcium_release__CaiReg = var_calcium_release__Ca_i / (var_calcium_release__Ca_i + var_calcium_release__K_m_Ca_cyt);
00495 double var_calcium_release__Ca_ds = var_intracellular_calcium_concentration__Ca_ds;
00496 const double var_calcium_release__K_m_Ca_ds = 0.01;
00497 double var_calcium_release__CadsReg = var_calcium_release__Ca_ds / (var_calcium_release__Ca_ds + var_calcium_release__K_m_Ca_ds);
00498 double var_calcium_release__RegBindSite = var_calcium_release__CaiReg + ((1.0 - var_calcium_release__CaiReg) * var_calcium_release__CadsReg);
00499 double var_calcium_release__ActRate = (0.0 * var_calcium_release__VoltDep) + (500.0 * pow(var_calcium_release__RegBindSite, 2.0));
00500 double var_calcium_release__InactRate = 60.0 + (500.0 * pow(var_calcium_release__RegBindSite, 2.0));
00501 double var_calcium_release__PrecFrac = (1.0 - var_calcium_release__ActFrac) - var_calcium_release__ProdFrac;
00502 double var_calcium_release__SpeedRel = (var_calcium_release__V < (-50.0)) ? 5.0 : 1.0;
00503 const double var_intracellular_calcium_concentration__V_up_ratio = 0.01;
00504 const double var_intracellular_calcium_concentration__V_rel_ratio = 0.1;
00505 const double var_intracellular_calcium_concentration__V_e_ratio = 0.4;
00506 double var_intracellular_calcium_concentration__V_i_ratio = ((1.0 - var_intracellular_calcium_concentration__V_e_ratio) - var_intracellular_calcium_concentration__V_up_ratio) - var_intracellular_calcium_concentration__V_rel_ratio;
00507 const double var_intracellular_calcium_concentration__radius = 0.012;
00508 const double var_intracellular_calcium_concentration__length = 0.074;
00509 double var_intracellular_calcium_concentration__V_Cell = 3.141592654 * pow(var_intracellular_calcium_concentration__radius, 2.0) * var_intracellular_calcium_concentration__length;
00510 double var_intracellular_calcium_concentration__V_i = var_intracellular_calcium_concentration__V_Cell * var_intracellular_calcium_concentration__V_i_ratio;
00511 double var_intracellular_sodium_concentration__V_i = var_intracellular_calcium_concentration__V_i;
00512 double var_intracellular_sodium_concentration__F = var_membrane__F;
00513 double var_intracellular_sodium_concentration__i_Na = var_fast_sodium_current__i_Na;
00514 double var_intracellular_sodium_concentration__i_b_Na = var_sodium_background_current__i_b_Na;
00515 double var_intracellular_sodium_concentration__i_p_Na = var_persistent_sodium_current__i_p_Na;
00516 double var_intracellular_sodium_concentration__i_Ca_L_Na_cyt = var_L_type_Ca_channel__i_Ca_L_Na_cyt;
00517 double var_intracellular_sodium_concentration__i_Ca_L_Na_ds = var_L_type_Ca_channel__i_Ca_L_Na_ds;
00518 double var_intracellular_sodium_concentration__i_NaK = var_sodium_potassium_pump__i_NaK;
00519 double var_intracellular_sodium_concentration__i_NaCa_cyt = var_sodium_calcium_exchanger__i_NaCa_cyt;
00520 double var_intracellular_potassium_concentration__V_i = var_intracellular_calcium_concentration__V_i;
00521 double var_intracellular_potassium_concentration__i_K1 = var_time_independent_potassium_current__i_K1;
00522 double var_intracellular_potassium_concentration__i_Kr = var_rapid_delayed_rectifier_potassium_current__i_Kr;
00523 double var_intracellular_potassium_concentration__i_Ks = var_slow_delayed_rectifier_potassium_current__i_Ks;
00524 double var_intracellular_potassium_concentration__i_Ca_L_K_cyt = var_L_type_Ca_channel__i_Ca_L_K_cyt;
00525 double var_intracellular_potassium_concentration__i_Ca_L_K_ds = var_L_type_Ca_channel__i_Ca_L_K_ds;
00526 double var_intracellular_potassium_concentration__i_to = var_transient_outward_current__i_to;
00527 double var_intracellular_potassium_concentration__i_NaK = var_sodium_potassium_pump__i_NaK;
00528 double var_intracellular_potassium_concentration__F = var_membrane__F;
00529 const double var_intracellular_calcium_concentration__Calmod = 0.02;
00530 const double var_intracellular_calcium_concentration__Trop = 0.05;
00531 const double var_intracellular_calcium_concentration__alpha_Calmod = 100000.0;
00532 const double var_intracellular_calcium_concentration__beta_Calmod = 50.0;
00533 const double var_intracellular_calcium_concentration__alpha_Trop = 100000.0;
00534 const double var_intracellular_calcium_concentration__beta_Trop = 200.0;
00535 const double var_intracellular_calcium_concentration__V_ds_ratio = 0.1;
00536 const double var_intracellular_calcium_concentration__Kdecay = 10.0;
00537 double var_intracellular_calcium_concentration__i_up = var_sarcoplasmic_reticulum_calcium_pump__i_up;
00538 double var_intracellular_calcium_concentration__i_trans = var_calcium_translocation__i_trans;
00539 double var_intracellular_calcium_concentration__i_rel = var_calcium_release__i_rel;
00540 double var_intracellular_calcium_concentration__i_NaCa_cyt = var_sodium_calcium_exchanger__i_NaCa_cyt;
00541 double var_intracellular_calcium_concentration__i_NaCa_ds = var_sodium_calcium_exchanger__i_NaCa_ds;
00542 double var_intracellular_calcium_concentration__i_Ca_L_Ca_cyt = var_L_type_Ca_channel__i_Ca_L_Ca_cyt;
00543 double var_intracellular_calcium_concentration__i_Ca_L_Ca_ds = var_L_type_Ca_channel__i_Ca_L_Ca_ds;
00544 double var_intracellular_calcium_concentration__i_b_Ca = var_calcium_background_current__i_b_Ca;
00545 double var_intracellular_calcium_concentration__F = var_membrane__F;
00546
00548
00550 const double g_sac = 0.035;
00551 const double E_sac = -10;
00552 double f = (mStretch > 0) ? (mStretch-1.0)/0.15 : 0.0;
00553 double sac_ionic_current = g_sac * f * (var_membrane__V - E_sac);
00554
00555 double d_dt_membrane__V;
00556 if (mSetVoltageDerivativeToZero)
00557 {
00558 d_dt_membrane__V = 0.0;
00559 }
00560 else
00561 {
00562 d_dt_membrane__V = ((-1.0) / var_membrane__Cm) * (sac_ionic_current + var_membrane__i_Stim + var_membrane__i_K1 + var_membrane__i_to + var_membrane__i_Kr + var_membrane__i_Ks + var_membrane__i_NaK + var_membrane__i_Na + var_membrane__i_b_Na + var_membrane__i_p_Na + var_membrane__i_Ca_L_Na_cyt + var_membrane__i_Ca_L_Na_ds + var_membrane__i_NaCa_cyt + var_membrane__i_NaCa_ds + var_membrane__i_Ca_L_Ca_cyt + var_membrane__i_Ca_L_Ca_ds + var_membrane__i_Ca_L_K_cyt + var_membrane__i_Ca_L_K_ds + var_membrane__i_b_Ca);
00563 }
00564 double d_dt_rapid_delayed_rectifier_potassium_current_xr1_gate__xr1 = (var_rapid_delayed_rectifier_potassium_current_xr1_gate__alpha_xr1 * (1.0 - var_rapid_delayed_rectifier_potassium_current_xr1_gate__xr1)) - (var_rapid_delayed_rectifier_potassium_current_xr1_gate__beta_xr1 * var_rapid_delayed_rectifier_potassium_current_xr1_gate__xr1);
00565 double d_dt_rapid_delayed_rectifier_potassium_current_xr2_gate__xr2 = (var_rapid_delayed_rectifier_potassium_current_xr2_gate__alpha_xr2 * (1.0 - var_rapid_delayed_rectifier_potassium_current_xr2_gate__xr2)) - (var_rapid_delayed_rectifier_potassium_current_xr2_gate__beta_xr2 * var_rapid_delayed_rectifier_potassium_current_xr2_gate__xr2);
00566 double d_dt_slow_delayed_rectifier_potassium_current_xs_gate__xs = (var_slow_delayed_rectifier_potassium_current_xs_gate__alpha_xs * (1.0 - var_slow_delayed_rectifier_potassium_current_xs_gate__xs)) - (var_slow_delayed_rectifier_potassium_current_xs_gate__beta_xs * var_slow_delayed_rectifier_potassium_current_xs_gate__xs);
00567 double d_dt_fast_sodium_current_m_gate__m = (var_fast_sodium_current_m_gate__alpha_m * (1.0 - var_fast_sodium_current_m_gate__m)) - (var_fast_sodium_current_m_gate__beta_m * var_fast_sodium_current_m_gate__m);
00568 double d_dt_fast_sodium_current_h_gate__h = (var_fast_sodium_current_h_gate__alpha_h * (1.0 - var_fast_sodium_current_h_gate__h)) - (var_fast_sodium_current_h_gate__beta_h * var_fast_sodium_current_h_gate__h);
00569 double d_dt_L_type_Ca_channel_d_gate__d = var_L_type_Ca_channel_d_gate__speed_d * ((var_L_type_Ca_channel_d_gate__alpha_d * (1.0 - var_L_type_Ca_channel_d_gate__d)) - (var_L_type_Ca_channel_d_gate__beta_d * var_L_type_Ca_channel_d_gate__d));
00570 double d_dt_L_type_Ca_channel_f_gate__f = var_L_type_Ca_channel_f_gate__speed_f * ((var_L_type_Ca_channel_f_gate__alpha_f * (1.0 - var_L_type_Ca_channel_f_gate__f)) - (var_L_type_Ca_channel_f_gate__beta_f * var_L_type_Ca_channel_f_gate__f));
00571 double d_dt_L_type_Ca_channel_f2_gate__f2 = 1.0 - (1.0 * ((var_L_type_Ca_channel_f2_gate__Ca_i / (var_L_type_Ca_channel_f2_gate__Km_f2 + var_L_type_Ca_channel_f2_gate__Ca_i)) + var_L_type_Ca_channel_f2_gate__f2));
00572 double d_dt_L_type_Ca_channel_f2ds_gate__f2ds = var_L_type_Ca_channel_f2ds_gate__R_decay * (1.0 - ((var_L_type_Ca_channel_f2ds_gate__Ca_ds / (var_L_type_Ca_channel_f2ds_gate__Km_f2ds + var_L_type_Ca_channel_f2ds_gate__Ca_ds)) + var_L_type_Ca_channel_f2ds_gate__f2ds));
00573 double d_dt_transient_outward_current_s_gate__s = (var_transient_outward_current_s_gate__alpha_s * (1.0 - var_transient_outward_current_s_gate__s)) - (var_transient_outward_current_s_gate__beta_s * var_transient_outward_current_s_gate__s);
00574 double d_dt_transient_outward_current_r_gate__r = 333.0 * ((1.0 / (1.0 + exp((-(var_transient_outward_current_r_gate__V + 4.0)) / 5.0))) - var_transient_outward_current_r_gate__r);
00575 double d_dt_calcium_release__ActFrac = (var_calcium_release__PrecFrac * var_calcium_release__SpeedRel * var_calcium_release__ActRate) - (var_calcium_release__ActFrac * var_calcium_release__SpeedRel * var_calcium_release__InactRate);
00576 double d_dt_calcium_release__ProdFrac = (var_calcium_release__ActFrac * var_calcium_release__SpeedRel * var_calcium_release__InactRate) - (var_calcium_release__SpeedRel * 1.0 * var_calcium_release__ProdFrac);
00577 double d_dt_intracellular_sodium_concentration__Na_i = ((-1.0) / (1.0 * var_intracellular_sodium_concentration__V_i * var_intracellular_sodium_concentration__F)) * (var_intracellular_sodium_concentration__i_Na + var_intracellular_sodium_concentration__i_p_Na + var_intracellular_sodium_concentration__i_b_Na + (3.0 * var_intracellular_sodium_concentration__i_NaK) + (3.0 * var_intracellular_sodium_concentration__i_NaCa_cyt) + var_intracellular_sodium_concentration__i_Ca_L_Na_cyt + var_intracellular_sodium_concentration__i_Ca_L_Na_ds);
00578 double d_dt_intracellular_potassium_concentration__K_i = ((-1.0) / (1.0 * var_intracellular_potassium_concentration__V_i * var_intracellular_potassium_concentration__F)) * ((var_intracellular_potassium_concentration__i_K1 + var_intracellular_potassium_concentration__i_Kr + var_intracellular_potassium_concentration__i_Ks + var_intracellular_potassium_concentration__i_Ca_L_K_cyt + var_intracellular_potassium_concentration__i_Ca_L_K_ds + var_intracellular_potassium_concentration__i_to) - (2.0 * var_intracellular_potassium_concentration__i_NaK));
00579 double d_dt_intracellular_calcium_concentration__Ca_Trop = (var_intracellular_calcium_concentration__alpha_Trop * var_intracellular_calcium_concentration__Ca_i * (var_intracellular_calcium_concentration__Trop - var_intracellular_calcium_concentration__Ca_Trop)) - (var_intracellular_calcium_concentration__beta_Trop * var_intracellular_calcium_concentration__Ca_Trop);
00580 double d_dt_intracellular_calcium_concentration__Ca_Calmod = (var_intracellular_calcium_concentration__alpha_Calmod * var_intracellular_calcium_concentration__Ca_i * (var_intracellular_calcium_concentration__Calmod - var_intracellular_calcium_concentration__Ca_Calmod)) - (var_intracellular_calcium_concentration__beta_Calmod * var_intracellular_calcium_concentration__Ca_Calmod);
00581 double d_dt_intracellular_calcium_concentration__Ca_i = ((((((-1.0) / (2.0 * 1.0 * var_intracellular_calcium_concentration__V_i * var_intracellular_calcium_concentration__F)) * (((var_intracellular_calcium_concentration__i_Ca_L_Ca_cyt + var_intracellular_calcium_concentration__i_b_Ca) - (2.0 * var_intracellular_calcium_concentration__i_NaCa_cyt)) - (2.0 * var_intracellular_calcium_concentration__i_NaCa_ds))) + (var_intracellular_calcium_concentration__Ca_ds * var_intracellular_calcium_concentration__V_ds_ratio * var_intracellular_calcium_concentration__Kdecay) + ((var_intracellular_calcium_concentration__i_rel * var_intracellular_calcium_concentration__V_rel_ratio) / var_intracellular_calcium_concentration__V_i_ratio)) - d_dt_intracellular_calcium_concentration__Ca_Calmod) - d_dt_intracellular_calcium_concentration__Ca_Trop) - var_intracellular_calcium_concentration__i_up;
00582 double d_dt_intracellular_calcium_concentration__Ca_ds = (((-1.0) * var_intracellular_calcium_concentration__i_Ca_L_Ca_ds) / (2.0 * 1.0 * var_intracellular_calcium_concentration__V_ds_ratio * var_intracellular_calcium_concentration__V_i * var_intracellular_calcium_concentration__F)) - (var_intracellular_calcium_concentration__Ca_ds * var_intracellular_calcium_concentration__Kdecay);
00583 double d_dt_intracellular_calcium_concentration__Ca_up = ((var_intracellular_calcium_concentration__V_i_ratio / var_intracellular_calcium_concentration__V_up_ratio) * var_intracellular_calcium_concentration__i_up) - var_intracellular_calcium_concentration__i_trans;
00584 double d_dt_intracellular_calcium_concentration__Ca_rel = ((var_intracellular_calcium_concentration__V_up_ratio / var_intracellular_calcium_concentration__V_rel_ratio) * var_intracellular_calcium_concentration__i_trans) - var_intracellular_calcium_concentration__i_rel;
00585
00586 rDY[0] = 0.001*d_dt_membrane__V;
00587 rDY[1] = 0.001*d_dt_rapid_delayed_rectifier_potassium_current_xr1_gate__xr1;
00588 rDY[2] = 0.001*d_dt_rapid_delayed_rectifier_potassium_current_xr2_gate__xr2;
00589 rDY[3] = 0.001*d_dt_slow_delayed_rectifier_potassium_current_xs_gate__xs;
00590 rDY[4] = 0.001*d_dt_fast_sodium_current_m_gate__m;
00591 rDY[5] = 0.001*d_dt_fast_sodium_current_h_gate__h;
00592 rDY[6] = 0.001*d_dt_L_type_Ca_channel_d_gate__d;
00593 rDY[7] = 0.001*d_dt_L_type_Ca_channel_f_gate__f;
00594 rDY[8] = 0.001*d_dt_L_type_Ca_channel_f2_gate__f2;
00595 rDY[9] = 0.001*d_dt_L_type_Ca_channel_f2ds_gate__f2ds;
00596 rDY[10] = 0.001*d_dt_transient_outward_current_s_gate__s;
00597 rDY[11] = 0.001*d_dt_transient_outward_current_r_gate__r;
00598 rDY[12] = 0.001*d_dt_calcium_release__ActFrac;
00599 rDY[13] = 0.001*d_dt_calcium_release__ProdFrac;
00600 rDY[14] = 0.001*d_dt_intracellular_sodium_concentration__Na_i;
00601 rDY[15] = 0.001*d_dt_intracellular_potassium_concentration__K_i;
00602 rDY[16] = 0.001*d_dt_intracellular_calcium_concentration__Ca_i;
00603 rDY[17] = 0.001*d_dt_intracellular_calcium_concentration__Ca_ds;
00604 rDY[18] = 0.001*d_dt_intracellular_calcium_concentration__Ca_up;
00605 rDY[19] = 0.001*d_dt_intracellular_calcium_concentration__Ca_rel;
00606 rDY[20] = 0.001*d_dt_intracellular_calcium_concentration__Ca_Calmod;
00607 rDY[21] = 0.001*d_dt_intracellular_calcium_concentration__Ca_Trop;
00608 }
00609
00610
00611 template<>
00612 void OdeSystemInformation<CML_noble_varghese_kohl_noble_1998_basic_with_sac>::Initialise(void)
00613 {
00614
00615
00616 this->mVariableNames.push_back("V");
00617 this->mVariableUnits.push_back("millivolt");
00618 this->mInitialConditions.push_back(-92.849333);
00619
00620 this->mVariableNames.push_back("xr1");
00621 this->mVariableUnits.push_back("dimensionless");
00622 this->mInitialConditions.push_back(1.03e-5);
00623
00624 this->mVariableNames.push_back("xr2");
00625 this->mVariableUnits.push_back("dimensionless");
00626 this->mInitialConditions.push_back(2e-7);
00627
00628 this->mVariableNames.push_back("xs");
00629 this->mVariableUnits.push_back("dimensionless");
00630 this->mInitialConditions.push_back(0.001302);
00631
00632 this->mVariableNames.push_back("m");
00633 this->mVariableUnits.push_back("dimensionless");
00634 this->mInitialConditions.push_back(0.0016203);
00635
00636 this->mVariableNames.push_back("h");
00637 this->mVariableUnits.push_back("dimensionless");
00638 this->mInitialConditions.push_back(0.9944036);
00639
00640 this->mVariableNames.push_back("d");
00641 this->mVariableUnits.push_back("dimensionless");
00642 this->mInitialConditions.push_back(0);
00643
00644 this->mVariableNames.push_back("f");
00645 this->mVariableUnits.push_back("dimensionless");
00646 this->mInitialConditions.push_back(1);
00647
00648 this->mVariableNames.push_back("f2");
00649 this->mVariableUnits.push_back("dimensionless");
00650 this->mInitialConditions.push_back(0.9349197);
00651
00652 this->mVariableNames.push_back("f2ds");
00653 this->mVariableUnits.push_back("dimensionless");
00654 this->mInitialConditions.push_back(0.9651958);
00655
00656 this->mVariableNames.push_back("s");
00657 this->mVariableUnits.push_back("dimensionless");
00658 this->mInitialConditions.push_back(0.9948645);
00659
00660 this->mVariableNames.push_back("r");
00661 this->mVariableUnits.push_back("dimensionless");
00662 this->mInitialConditions.push_back(0);
00663
00664 this->mVariableNames.push_back("ActFrac");
00665 this->mVariableUnits.push_back("dimensionless");
00666 this->mInitialConditions.push_back(0.0042614);
00667
00668 this->mVariableNames.push_back("ProdFrac");
00669 this->mVariableUnits.push_back("dimensionless");
00670 this->mInitialConditions.push_back(0.4068154);
00671
00672 this->mVariableNames.push_back("Na_i");
00673 this->mVariableUnits.push_back("millimolar");
00674 this->mInitialConditions.push_back(7.3321223);
00675
00676 this->mVariableNames.push_back("K_i");
00677 this->mVariableUnits.push_back("millimolar");
00678 this->mInitialConditions.push_back(136.5644281);
00679
00680 this->mVariableNames.push_back("Ca_i");
00681 this->mVariableUnits.push_back("millimolar");
00682 this->mInitialConditions.push_back(1.4e-5);
00683
00684 this->mVariableNames.push_back("Ca_ds");
00685 this->mVariableUnits.push_back("millimolar");
00686 this->mInitialConditions.push_back(1.88e-5);
00687
00688 this->mVariableNames.push_back("Ca_up");
00689 this->mVariableUnits.push_back("millimolar");
00690 this->mInitialConditions.push_back(0.4531889);
00691
00692 this->mVariableNames.push_back("Ca_rel");
00693 this->mVariableUnits.push_back("millimolar");
00694 this->mInitialConditions.push_back(0.4481927);
00695
00696 this->mVariableNames.push_back("Ca_Calmod");
00697 this->mVariableUnits.push_back("millimolar");
00698 this->mInitialConditions.push_back(0.0005555);
00699
00700 this->mVariableNames.push_back("Ca_Trop");
00701 this->mVariableUnits.push_back("millimolar");
00702 this->mInitialConditions.push_back(0.0003542);
00703
00704 this->mInitialised = true;
00705 }
00706
00707
00708 #include "SerializationExportWrapperForCpp.hpp"
00709 CHASTE_CLASS_EXPORT(CML_noble_varghese_kohl_noble_1998_basic_with_sac)