//Created by libAntimony v2.4 model courtemanche_1998__environment(time_) // Variable initializations: time_ = ; end model courtemanche_1998__membrane(V, R, T, F, Cm, time_, i_Na, i_K1, i_to, i_Kur, i_Kr, i_Ks, i_Ca_L, i_CaP, i_NaK, i_NaCa, i_B_Na, i_B_Ca) // Assignment Rules: i_st := piecewise( stim_amplitude , (( geq(time_, stim_start)) && (time_ <= stim_end) && ((time_ - stim_start) - floor((time_ - stim_start) / stim_period) * stim_period <= stim_duration )), 0 ); // Rate Rules: V' = -(i_Na + i_K1 + i_to + i_Kur + i_Kr + i_Ks + i_B_Na + i_B_Ca + i_NaK + i_CaP + i_NaCa + i_Ca_L + i_st) / Cm; // Variable initializations: V = -81.18; R = 8.3143; T = 310; F = 96.4867; Cm = 100; time_ = ; i_Na = ; i_K1 = ; i_to = ; i_Kur = ; i_Kr = ; i_Ks = ; i_Ca_L = ; i_CaP = ; i_NaK = ; i_NaCa = ; i_B_Na = ; i_B_Ca = ; stim_start = 50; stim_end = 50000; stim_period = 1000; stim_duration = 2; stim_amplitude = -2000; end model courtemanche_1998__fast_sodium_current_m_gate(m, V, time_) // Assignment Rules: alpha_m := piecewise( 3.2 , V == -(47.13) , (0.32 * (V + 47.13)) / (1 - exp(-(0.1) * (V + 47.13))) ); beta_m := 0.08 * exp(- V / 11); m_inf := alpha_m / (alpha_m + beta_m); tau_m := 1 / (alpha_m + beta_m); // Rate Rules: m' = (m_inf - m) / tau_m; // Variable initializations: m = 2.908e-3; V = ; time_ = ; end model courtemanche_1998__fast_sodium_current_h_gate(h, V, time_) // Assignment Rules: alpha_h := piecewise( 0.135 * exp((V + 80) / -(6.8)) , V < -(40) , 0 ); beta_h := piecewise( 3.56 * exp(0.079 * V) + 3.1E5 * exp(0.35 * V) , V < -(40) , 1 / (0.13 * (1 + exp((V + 10.66) / -(11.1)))) ); h_inf := alpha_h / (alpha_h + beta_h); tau_h := 1 / (alpha_h + beta_h); // Rate Rules: h' = (h_inf - h) / tau_h; // Variable initializations: h = 9.649e-1; V = ; time_ = ; end model courtemanche_1998__fast_sodium_current_j_gate(j, V, time_) // Assignment Rules: alpha_j := piecewise( ((-(1.2714E5) * exp(0.2444 * V) - 3.474E-5 * exp(-(0.04391) * V)) * (V + 37.78)) / (1 + exp(0.311 * (V + 79.23))) , V < -(40) , 0 ); beta_j := piecewise( (0.1212 * exp(-(0.01052) * V)) / (1 + exp(-(0.1378) * (V + 40.14))) , V < -(40) , (0.3 * exp(-(2.535E-7) * V)) / (1 + exp(-(0.1) * (V + 32))) ); j_inf := alpha_j / (alpha_j + beta_j); tau_j := 1 / (alpha_j + beta_j); // Rate Rules: j' = (j_inf - j) / tau_j; // Variable initializations: j = 9.775e-1; V = ; time_ = ; end model courtemanche_1998__fast_sodium_current(i_Na, E_Na, Cm, time_, V, Na_i, Na_o, R, F, T, m, h, j) // Sub-modules, and any changes to those submodules: fast_sodium_current_m_gate: courtemanche_1998__fast_sodium_current_m_gate(m, V, time_); fast_sodium_current_h_gate: courtemanche_1998__fast_sodium_current_h_gate(h, V, time_); fast_sodium_current_j_gate: courtemanche_1998__fast_sodium_current_j_gate(j, V, time_); // Assignment Rules: i_Na := Cm * g_Na * power(m, 3) * h * j * (V - E_Na); E_Na := ((R * T) / F) * ln(Na_o / Na_i); // Variable initializations: g_Na = 7.8; Cm = ; Na_i = ; Na_o = ; R = ; F = ; T = ; end model courtemanche_1998__time_independent_potassium_current(i_K1, E_K, Cm, V, K_o, R, F, T, K_i) // Assignment Rules: i_K1 := (Cm * g_K1 * (V - E_K)) / (1 + exp(0.07 * (V + 80))); E_K := ((R * T) / F) * ln(K_o / K_i); // Variable initializations: g_K1 = 0.09; Cm = ; V = ; K_o = ; R = ; F = ; T = ; K_i = ; end model courtemanche_1998__transient_outward_K_current_oa_gate(oa, K_Q10, V, time_) // Assignment Rules: alpha_oa := 0.65 * power(exp((V - -(10)) / -(8.5)) + exp(((V - -(10)) - 40) / -(59)), -(1)); beta_oa := 0.65 * power(2.5 + exp(((V - -(10)) + 72) / 17), -(1)); tau_oa := power(alpha_oa + beta_oa, -(1)) / K_Q10; oa_infinity := power(1 + exp(((V - -(10)) + 10.47) / -(17.54)), -(1)); // Rate Rules: oa' = (oa_infinity - oa) / tau_oa; // Variable initializations: oa = 3.043e-2; K_Q10 = ; V = ; time_ = ; end model courtemanche_1998__transient_outward_K_current_oi_gate(oi, K_Q10, V, time_) // Assignment Rules: alpha_oi := power(18.53 + 1 * exp(((V - -(10)) + 103.7) / 10.95), -(1)); beta_oi := power(35.56 + 1 * exp(((V - -(10)) - 8.74) / -(7.44)), -(1)); tau_oi := power(alpha_oi + beta_oi, -(1)) / K_Q10; oi_infinity := power(1 + exp(((V - -(10)) + 33.1) / 5.3), -(1)); // Rate Rules: oi' = (oi_infinity - oi) / tau_oi; // Variable initializations: oi = 9.992e-1; K_Q10 = ; V = ; time_ = ; end model courtemanche_1998__transient_outward_K_current(i_to, K_Q10, Cm, E_K, time_, V, oa, oi) // Sub-modules, and any changes to those submodules: transient_outward_K_current_oa_gate: courtemanche_1998__transient_outward_K_current_oa_gate(oa, K_Q10, V, time_); transient_outward_K_current_oi_gate: courtemanche_1998__transient_outward_K_current_oi_gate(oi, K_Q10, V, time_); // Assignment Rules: i_to := Cm * g_to * power(oa, 3) * oi * (V - E_K); // Variable initializations: K_Q10 = 3; g_to = 0.1652; Cm = ; E_K = ; end model courtemanche_1998__ultrarapid_delayed_rectifier_K_current_ua_gate(ua, K_Q10, V, time_) // Assignment Rules: alpha_ua := 0.65 * power(exp((V - -(10)) / -(8.5)) + exp(((V - -(10)) - 40) / -(59)), -(1)); beta_ua := 0.65 * power(2.5 + exp(((V - -(10)) + 72) / 17), -(1)); tau_ua := power(alpha_ua + beta_ua, -(1)) / K_Q10; ua_infinity := power(1 + exp(((V - -(10)) + 20.3) / -(9.6)), -(1)); // Rate Rules: ua' = (ua_infinity - ua) / tau_ua; // Variable initializations: ua = 4.966e-3; K_Q10 = ; V = ; time_ = ; end model courtemanche_1998__ultrarapid_delayed_rectifier_K_current_ui_gate(ui, K_Q10, V, time_) // Assignment Rules: alpha_ui := power(21 + 1 * exp(((V - -(10)) - 195) / -(28)), -(1)); beta_ui := 1 / exp(((V - -(10)) - 168) / -(16)); tau_ui := power(alpha_ui + beta_ui, -(1)) / K_Q10; ui_infinity := power(1 + exp(((V - -(10)) - 109.45) / 27.48), -(1)); // Rate Rules: ui' = (ui_infinity - ui) / tau_ui; // Variable initializations: ui = 9.986e-1; K_Q10 = ; V = ; time_ = ; end model courtemanche_1998__ultrarapid_delayed_rectifier_K_current(i_Kur, Cm, time_, V, E_K, K_Q10, ua, ui) // Sub-modules, and any changes to those submodules: ultrarapid_delayed_rectifier_K_current_ua_gate: courtemanche_1998__ultrarapid_delayed_rectifier_K_current_ua_gate(ua, K_Q10, V, time_); ultrarapid_delayed_rectifier_K_current_ui_gate: courtemanche_1998__ultrarapid_delayed_rectifier_K_current_ui_gate(ui, K_Q10, V, time_); // Assignment Rules: i_Kur := Cm * g_Kur * power(ua, 3) * ui * (V - E_K); g_Kur := 0.005 + 0.05 / (1 + exp((V - 15) / -(13))); // Variable initializations: Cm = ; E_K = ; end model courtemanche_1998__rapid_delayed_rectifier_K_current_xr_gate(xr, V, time_) // Assignment Rules: alpha_xr := piecewise( 0.0015 , abs(V + 14.1) < 1E-10 , (0.0003 * (V + 14.1)) / (1 - exp((V + 14.1) / -(5))) ); beta_xr := piecewise( 3.7836118E-4 , abs(V - 3.3328) < 1E-10 , (0.000073898 * (V - 3.3328)) / (exp((V - 3.3328) / 5.1237) - 1) ); tau_xr := power(alpha_xr + beta_xr, -(1)); xr_infinity := power(1 + exp((V + 14.1) / -(6.5)), -(1)); // Rate Rules: xr' = (xr_infinity - xr) / tau_xr; // Variable initializations: xr = 3.296e-5; V = ; time_ = ; end model courtemanche_1998__rapid_delayed_rectifier_K_current(i_Kr, Cm, time_, V, E_K, xr) // Sub-modules, and any changes to those submodules: rapid_delayed_rectifier_K_current_xr_gate: courtemanche_1998__rapid_delayed_rectifier_K_current_xr_gate(xr, V, time_); // Assignment Rules: i_Kr := (Cm * g_Kr * xr * (V - E_K)) / (1 + exp((V + 15) / 22.4)); // Variable initializations: g_Kr = 0.029411765; Cm = ; E_K = ; end model courtemanche_1998__slow_delayed_rectifier_K_current_xs_gate(xs, V, time_) // Assignment Rules: alpha_xs := piecewise( 0.00068 , abs(V - 19.9) < 1E-10 , (0.00004 * (V - 19.9)) / (1 - exp((V - 19.9) / -(17))) ); beta_xs := piecewise( 0.000315 , abs(V - 19.9) < 1E-10 , (0.000035 * (V - 19.9)) / (exp((V - 19.9) / 9) - 1) ); tau_xs := 0.5 * power(alpha_xs + beta_xs, -(1)); xs_infinity := power(1 + exp((V - 19.9) / -(12.7)), -(0.5)); // Rate Rules: xs' = (xs_infinity - xs) / tau_xs; // Variable initializations: xs = 1.869e-2; V = ; time_ = ; end model courtemanche_1998__slow_delayed_rectifier_K_current(i_Ks, Cm, time_, V, E_K, xs) // Sub-modules, and any changes to those submodules: slow_delayed_rectifier_K_current_xs_gate: courtemanche_1998__slow_delayed_rectifier_K_current_xs_gate(xs, V, time_); // Assignment Rules: i_Ks := Cm * g_Ks * power(xs, 2) * (V - E_K); // Variable initializations: g_Ks = 0.12941176; Cm = ; E_K = ; end model courtemanche_1998__L_type_Ca_channel_d_gate(d, V, time_) // Assignment Rules: d_infinity := power(1 + exp((V + 10) / -(8)), -(1)); tau_d := piecewise( 4.579 / (1 + exp((V + 10) / -(6.24))) , abs(V + 10) < 1E-10 , (1 - exp((V + 10) / -(6.24))) / (0.035 * (V + 10) * (1 + exp((V + 10) / -(6.24)))) ); // Rate Rules: d' = (d_infinity - d) / tau_d; // Variable initializations: d = 1.367e-4; V = ; time_ = ; end model courtemanche_1998__L_type_Ca_channel_f_gate(f, V, time_) // Assignment Rules: f_infinity := exp(-(V + 28) / 6.9) / (1 + exp(-(V + 28) / 6.9)); tau_f := 9 * power(0.0197 * exp(-power(0.0337, 2) * power(V + 10, 2)) + 0.02, -(1)); // Rate Rules: f' = (f_infinity - f) / tau_f; // Variable initializations: f = 9.996e-1; V = ; time_ = ; end model courtemanche_1998__L_type_Ca_channel_f_Ca_gate(f_Ca, Ca_i, V, time_) // Assignment Rules: f_Ca_infinity := power(1 + Ca_i / 0.00035, -(1)); tau_f_Ca := 2; // Rate Rules: f_Ca' = (f_Ca_infinity - f_Ca) / tau_f_Ca; // Variable initializations: f_Ca = 7.755e-1; Ca_i = ; V = ; time_ = ; end model courtemanche_1998__L_type_Ca_channel(i_Ca_L, Cm, time_, V, Ca_i, d, f, f_Ca) // Sub-modules, and any changes to those submodules: L_type_Ca_channel_d_gate: courtemanche_1998__L_type_Ca_channel_d_gate(d, V, time_); L_type_Ca_channel_f_gate: courtemanche_1998__L_type_Ca_channel_f_gate(f, V, time_); L_type_Ca_channel_f_Ca_gate: courtemanche_1998__L_type_Ca_channel_f_Ca_gate(f_Ca, Ca_i, V, time_); // Assignment Rules: i_Ca_L := Cm * g_Ca_L * d * f * f_Ca * (V - 65); // Variable initializations: g_Ca_L = 0.12375; Cm = ; end model courtemanche_1998__sodium_potassium_pump(i_NaK, Cm, K_o, Na_i, Na_o, V, R, T, F) // Assignment Rules: i_NaK := (((Cm * i_NaK_max * f_NaK * 1) / (1 + power(Km_Na_i / Na_i, 1.5))) * K_o) / (K_o + Km_K_o); f_NaK := power(1 + 0.1245 * exp((-(0.1) * F * V) / (R * T)) + 0.0365 * sigma * exp((- F * V) / (R * T)), -(1)); sigma := (1 / 7) * (exp(Na_o / 67.3) - 1); // Variable initializations: Km_Na_i = 10; Km_K_o = 1.5; i_NaK_max = 0.59933874; Cm = ; K_o = ; Na_i = ; Na_o = ; V = ; R = ; T = ; F = ; end model courtemanche_1998__background_currents(i_B_Na, i_B_Ca, i_B_K, Cm, E_K, E_Na, V, Ca_i, Ca_o, R, F, T) // Assignment Rules: i_B_Na := Cm * g_B_Na * (V - E_Na); i_B_Ca := Cm * g_B_Ca * (V - E_Ca); i_B_K := Cm * g_B_K * (V - E_K); E_Ca := ((R * T) / (2 * F)) * ln(Ca_o / Ca_i); // Variable initializations: g_B_Na = 0.0006744375; g_B_Ca = 0.001131; g_B_K = 0; Cm = ; E_K = ; E_Na = ; V = ; Ca_i = ; Ca_o = ; R = ; F = ; T = ; end model courtemanche_1998__Na_Ca_exchanger_current(i_NaCa, Cm, V, R, T, F, Na_i, Na_o, Ca_i, Ca_o) // Assignment Rules: i_NaCa := (Cm * I_NaCa_max * (exp((gamma * F * V) / (R * T)) * power(Na_i, 3) * Ca_o - exp(((gamma - 1) * F * V) / (R * T)) * power(Na_o, 3) * Ca_i)) / ((power(K_mNa, 3) + power(Na_o, 3)) * (K_mCa + Ca_o) * (1 + K_sat * exp(((gamma - 1) * V * F) / (R * T)))); // Variable initializations: I_NaCa_max = 1600; Cm = ; K_mNa = 87.5; K_mCa = 1.38; K_sat = 0.1; gamma = 0.35; V = ; R = ; T = ; F = ; Na_i = ; Na_o = ; Ca_i = ; Ca_o = ; end model courtemanche_1998__sarcolemmal_calcium_pump_current(i_CaP, Cm, Ca_i) // Assignment Rules: i_CaP := (Cm * i_CaP_max * Ca_i) / (0.0005 + Ca_i); // Variable initializations: i_CaP_max = 0.275; Cm = ; Ca_i = ; end model courtemanche_1998__Ca_release_current_from_JSR_u_gate(u, V, time_, Fn) // Assignment Rules: tau_u := 8; u_infinity := power(1 + exp(-(Fn - 3.4175E-13) / 13.67E-16), -(1)); // Rate Rules: u' = (u_infinity - u) / tau_u; // Variable initializations: u = 2.35e-112; V = ; time_ = ; Fn = ; end model courtemanche_1998__Ca_release_current_from_JSR_v_gate(v, V, time_, Fn) // Assignment Rules: tau_v := 1.91 + 2.09 * power(1 + exp(-(Fn - 3.4175E-13) / 13.67E-16), -(1)); v_infinity := 1 - power(1 + exp(-(Fn - 6.835E-14) / 13.67E-16), -(1)); // Rate Rules: v' = (v_infinity - v) / tau_v; // Variable initializations: v = 1; V = ; time_ = ; Fn = ; end model courtemanche_1998__Ca_release_current_from_JSR_w_gate(w, V, time_) // Assignment Rules: tau_w := piecewise( (6 * 0.2) / 1.3 , abs(V - 7.9) < 1E-10 , (6 * (1 - exp(-(V - 7.9) / 5))) / ((1 + 0.3 * exp(-(V - 7.9) / 5)) * 1 * (V - 7.9)) ); w_infinity := 1 - power(1 + exp(-(V - 40) / 17), -(1)); // Rate Rules: w' = (w_infinity - w) / tau_w; // Variable initializations: w = 0.9992; V = ; time_ = ; end model courtemanche_1998__Ca_release_current_from_JSR(i_rel, Fn, V_rel, time_, V, Ca_i, Ca_rel, i_Ca_L, i_NaCa, F, u, v, w) // Sub-modules, and any changes to those submodules: Ca_release_current_from_JSR_u_gate: courtemanche_1998__Ca_release_current_from_JSR_u_gate(u, V, time_, Fn); Ca_release_current_from_JSR_v_gate: courtemanche_1998__Ca_release_current_from_JSR_v_gate(v, V, time_, Fn); Ca_release_current_from_JSR_w_gate: courtemanche_1998__Ca_release_current_from_JSR_w_gate(w, V, time_); // Assignment Rules: i_rel := K_rel * power(u, 2) * v * w * (Ca_rel - Ca_i); Fn := 1E3 * (1E-15 * V_rel * i_rel - (1E-15 / (2 * F)) * (0.5 * i_Ca_L - 0.2 * i_NaCa)); // Variable initializations: K_rel = 30; V_rel = ; Ca_i = ; Ca_rel = ; i_Ca_L = ; i_NaCa = ; F = ; end model courtemanche_1998__transfer_current_from_NSR_to_JSR(i_tr, time_, Ca_rel, Ca_up) // Assignment Rules: i_tr := (Ca_up - Ca_rel) / tau_tr; // Variable initializations: tau_tr = 180; time_ = ; Ca_rel = ; Ca_up = ; end model courtemanche_1998__Ca_uptake_current_by_the_NSR(I_up_max, i_up, time_, Ca_i) // Assignment Rules: i_up := I_up_max / (1 + K_up / Ca_i); // Variable initializations: I_up_max = 0.005; K_up = 0.00092; time_ = ; Ca_i = ; end model courtemanche_1998__Ca_leak_current_by_the_NSR(i_up_leak, time_, Ca_up, I_up_max) // Assignment Rules: i_up_leak := (I_up_max * Ca_up) / Ca_up_max; // Variable initializations: Ca_up_max = 15; time_ = ; Ca_up = ; I_up_max = ; end model courtemanche_1998__Ca_buffers(CMDN_max, TRPN_max, CSQN_max, Km_CMDN, Km_TRPN, Km_CSQN, time_, Ca_i, Ca_rel) // Assignment Rules: Ca_CMDN := (CMDN_max * Ca_i) / (Ca_i + Km_CMDN); Ca_TRPN := (TRPN_max * Ca_i) / (Ca_i + Km_TRPN); Ca_CSQN := (CSQN_max * Ca_rel) / (Ca_rel + Km_CSQN); // Variable initializations: CMDN_max = 0.05; TRPN_max = 0.07; CSQN_max = 10; Km_CMDN = 0.00238; Km_TRPN = 0.0005; Km_CSQN = 0.8; time_ = ; Ca_i = ; Ca_rel = ; end model courtemanche_1998__intracellular_ion_concentrations(Na_i, Ca_i, K_i, Ca_rel, Ca_up, V_rel, time_, F, i_NaK, i_NaCa, i_B_Na, i_Na, i_K1, i_to, i_Kur, i_Kr, i_Ks, i_CaP, i_Ca_L, i_B_Ca, i_B_K, i_up, i_up_leak, i_tr, i_rel, Km_CMDN, Km_CSQN, Km_TRPN, CMDN_max, CSQN_max, TRPN_max) // Assignment Rules: V_i := V_cell * 0.68; V_rel := 0.0048 * V_cell; V_up := 0.0552 * V_cell; B1 := (2 * i_NaCa - (i_CaP + i_Ca_L + i_B_Ca)) / (2 * V_i * F) + (V_up * (i_up_leak - i_up) + i_rel * V_rel) / V_i; B2 := 1 + (TRPN_max * Km_TRPN) / power(Ca_i + Km_TRPN, 2) + (CMDN_max * Km_CMDN) / power(Ca_i + Km_CMDN, 2); // Rate Rules: Na_i' = (-(3) * i_NaK - (3 * i_NaCa + i_B_Na + i_Na)) / (V_i * F); Ca_i' = B1 / B2; K_i' = (2 * i_NaK - (i_K1 + i_to + i_Kur + i_Kr + i_Ks + i_B_K)) / (V_i * F); Ca_rel' = (i_tr - i_rel) * power(1 + (CSQN_max * Km_CSQN) / power(Ca_rel + Km_CSQN, 2), -(1)); Ca_up' = i_up - (i_up_leak + (i_tr * V_rel) / V_up); // Variable initializations: Na_i = 1.117e+01; Ca_i = 1.013e-4; K_i = 1.39e+02; Ca_rel = 1.488; Ca_up = 1.488; V_cell = 20100; time_ = ; F = ; i_NaK = ; i_NaCa = ; i_B_Na = ; i_Na = ; i_K1 = ; i_to = ; i_Kur = ; i_Kr = ; i_Ks = ; i_CaP = ; i_Ca_L = ; i_B_Ca = ; i_B_K = ; i_up = ; i_up_leak = ; i_tr = ; i_rel = ; Km_CMDN = ; Km_CSQN = ; Km_TRPN = ; CMDN_max = ; CSQN_max = ; TRPN_max = ; end model courtemanche_1998__standard_ionic_concentrations(Na_o, Ca_o, K_o) // Variable initializations: Na_o = 140; Ca_o = 1.8; K_o = 5.4; end model *courtemanche_1998____main() // Sub-modules, and any changes to those submodules: environment: courtemanche_1998__environment(time_); membrane: courtemanche_1998__membrane(V, R, T, F, Cm, time_, i_Na, i_K1, i_to, i_Kur, i_Kr, i_Ks, i_Ca_L, i_CaP, i_NaK, i_NaCa, i_B_Na, i_B_Ca); fast_sodium_current: courtemanche_1998__fast_sodium_current(i_Na, E_Na, Cm, time_, V, Na_i, Na_o, R, F, T, m, h, j); time_independent_potassium_current: courtemanche_1998__time_independent_potassium_current(i_K1, E_K, Cm, V, K_o, R, F, T, K_i); transient_outward_K_current: courtemanche_1998__transient_outward_K_current(i_to, K_Q10, Cm, E_K, time_, V, oa, oi); ultrarapid_delayed_rectifier_K_current: courtemanche_1998__ultrarapid_delayed_rectifier_K_current(i_Kur, Cm, time_, V, E_K, K_Q10, ua, ui); rapid_delayed_rectifier_K_current: courtemanche_1998__rapid_delayed_rectifier_K_current(i_Kr, Cm, time_, V, E_K, xr); slow_delayed_rectifier_K_current: courtemanche_1998__slow_delayed_rectifier_K_current(i_Ks, Cm, time_, V, E_K, xs); L_type_Ca_channel: courtemanche_1998__L_type_Ca_channel(i_Ca_L, Cm, time_, V, Ca_i, d, f, f_Ca); sodium_potassium_pump: courtemanche_1998__sodium_potassium_pump(i_NaK, Cm, K_o, Na_i, Na_o, V, R, T, F); background_currents: courtemanche_1998__background_currents(i_B_Na, i_B_Ca, i_B_K, Cm, E_K, E_Na, V, Ca_i, Ca_o, R, F, T); Na_Ca_exchanger_current: courtemanche_1998__Na_Ca_exchanger_current(i_NaCa, Cm, V, R, T, F, Na_i, Na_o, Ca_i, Ca_o); sarcolemmal_calcium_pump_current: courtemanche_1998__sarcolemmal_calcium_pump_current(i_CaP, Cm, Ca_i); Ca_release_current_from_JSR: courtemanche_1998__Ca_release_current_from_JSR(i_rel, Fn, V_rel, time_, V, Ca_i, Ca_rel, i_Ca_L, i_NaCa, F, u, v, w); transfer_current_from_NSR_to_JSR: courtemanche_1998__transfer_current_from_NSR_to_JSR(i_tr, time_, Ca_rel, Ca_up); Ca_uptake_current_by_the_NSR: courtemanche_1998__Ca_uptake_current_by_the_NSR(I_up_max, i_up, time_, Ca_i); Ca_leak_current_by_the_NSR: courtemanche_1998__Ca_leak_current_by_the_NSR(i_up_leak, time_, Ca_up, I_up_max); Ca_buffers: courtemanche_1998__Ca_buffers(CMDN_max, TRPN_max, CSQN_max, Km_CMDN, Km_TRPN, Km_CSQN, time_, Ca_i, Ca_rel); intracellular_ion_concentrations: courtemanche_1998__intracellular_ion_concentrations(Na_i, Ca_i, K_i, Ca_rel, Ca_up, V_rel, time_, F, i_NaK, i_NaCa, i_B_Na, i_Na, i_K1, i_to, i_Kur, i_Kr, i_Ks, i_CaP, i_Ca_L, i_B_Ca, i_B_K, i_up, i_up_leak, i_tr, i_rel, Km_CMDN, Km_CSQN, Km_TRPN, CMDN_max, CSQN_max, TRPN_max); standard_ionic_concentrations: courtemanche_1998__standard_ionic_concentrations(Na_o, Ca_o, K_o); end