NobleVargheseKohlNoble1998.cpp

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

Generated by  doxygen 1.6.2