//Created by libAntimony v2.4 // Warnings from automatic translation: // Unable to use the formula "pi * preplength * power(radius, 2)" to set the assignment rule for volume: The variable 'volume' is the type Unit Definition, and may not have an assignment rule associated with it. model faber_2000__environment(time_) // Variable initializations: time_ = ; end model faber_2000__cell(V, R, T, F, I_st, time_, i_Na, i_Ca_L, i_Ca_T, i_Kr, i_Ks, i_K_Na, i_K_ATP, i_to, i_NaCa, i_K1, i_Kp, i_p_Ca, i_Na_b, i_Ca_b, i_NaK, i_ns_Ca, dVdt) // 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 ); dVdt := -(i_Na + i_Ca_L + i_Ca_T + i_Kr + i_Ks + i_K_Na + i_K_ATP + i_to + i_K1 + i_Kp + i_NaCa + i_p_Ca + i_Na_b + i_Ca_b + i_NaK + i_ns_Ca + I_st); // Rate Rules: V' = dVdt; // Variable initializations: V = -85.2119207874627; R = 8314; T = 310; F = 96485; time_ = ; i_Na = ; i_Ca_L = ; i_Ca_T = ; i_Kr = ; i_Ks = ; i_K_Na = ; i_K_ATP = ; i_to = ; i_NaCa = ; i_K1 = ; i_Kp = ; i_p_Ca = ; i_Na_b = ; i_Ca_b = ; i_NaK = ; i_ns_Ca = ; stim_start = 100; stim_end = 9000000; stim_period = 1000; stim_duration = 2; stim_amplitude = -25.5; end model faber_2000__fast_sodium_current_m_gate(m, V, time_) // Assignment Rules: alpha_m := piecewise( (0.32 * E0_m) / (1 - exp(-(0.1) * E0_m)) , geq(abs(E0_m), delta_m) , 3.2 ); beta_m := 0.08 * exp(- V / 11); E0_m := V + 47.13; // Rate Rules: m' = alpha_m * (1 - m) - beta_m * m; // Variable initializations: m = 0.00149183115674257; V = ; delta_m = 1e-5; time_ = ; end model faber_2000__fast_sodium_current_h_gate(h, V, time_) // Assignment Rules: alpha_h := piecewise( 0.135 * exp((80 + V) / -(6.8)) , V < -(40) , 0 ); beta_h := piecewise( 3.56 * exp(0.079 * V) + 310000 * exp(0.35 * V) , V < -(40) , 1 / (0.13 * (1 + exp((V + 10.66) / -(11.1)))) ); // Rate Rules: h' = alpha_h * (1 - h) - beta_h * h; // Variable initializations: h = 0.985596581239651; V = ; time_ = ; end model faber_2000__fast_sodium_current_j_gate(j, V, time_) // Assignment Rules: alpha_j := piecewise( (-(127140 * 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))) ); // Rate Rules: j' = alpha_j * (1 - j) - beta_j * j; // Variable initializations: j = 0.990898461370389; V = ; time_ = ; end model faber_2000__fast_sodium_current(i_Na, E_Na, time_, V, R, F, T, Nai, Nao, m, h, j) // Sub-modules, and any changes to those submodules: fast_sodium_current_m_gate: faber_2000__fast_sodium_current_m_gate(m, V, time_); fast_sodium_current_h_gate: faber_2000__fast_sodium_current_h_gate(h, V, time_); fast_sodium_current_j_gate: faber_2000__fast_sodium_current_j_gate(j, V, time_); // Assignment Rules: i_Na := g_Na * power(m, 3) * h * j * (V - E_Na); E_Na := ((R * T) / F) * ln(Nao / Nai); // Variable initializations: g_Na = 16; R = ; F = ; T = ; Nai = ; Nao = ; end model faber_2000__L_type_Ca_channel_d_gate(d, V, time_) // Assignment Rules: alpha_d := d_infinity / tau_d; beta_d := (1 - d_infinity) / tau_d; d_infinity := 1 / (1 + exp(- E0_d / 6.24)); tau_d := piecewise( 1 / (0.035 * 6.24 * 2) , abs(E0_d) < 1E-5 , (1 * d_infinity * (1 - exp(- E0_d / 6.24))) / (0.035 * E0_d) ); E0_d := V + 10; // Rate Rules: d' = alpha_d * (1 - d) - beta_d * d; // Variable initializations: d = 5.82597094505446e-6; V = ; time_ = ; end model faber_2000__L_type_Ca_channel_f_gate(f, V, time_) // Assignment Rules: alpha_f := f_infinity / tau_f; beta_f := (1 - f_infinity) / tau_f; f_infinity := 1 / (1 + exp((V + 35.06) / 8.6)) + 0.6 / (1 + exp((50 - V) / 20)); tau_f := 1 / (0.0197 * exp(-power(0.0337 * (V + 10), 2)) + 0.02); // Rate Rules: f' = alpha_f * (1 - f) - beta_f * f; // Variable initializations: f = 0.997765362821995; V = ; time_ = ; end model faber_2000__L_type_Ca_channel_f_Ca_gate(f_Ca, V, Cai) // Assignment Rules: f_Ca := 1 / (1 + Cai / Km_Ca); // Variable initializations: Km_Ca = 0.0006; V = ; Cai = ; end model faber_2000__L_type_Ca_channel(i_Ca_L, i_CaCa, i_CaK, i_CaNa, gamma_Nai, gamma_Nao, gamma_Ki, gamma_Ko, time_, V, Cai, R, T, F, Cao, Nao, Ko, Nai, Ki, d, f, f_Ca) // Sub-modules, and any changes to those submodules: L_type_Ca_channel_d_gate: faber_2000__L_type_Ca_channel_d_gate(d, V, time_); L_type_Ca_channel_f_gate: faber_2000__L_type_Ca_channel_f_gate(f, V, time_); L_type_Ca_channel_f_Ca_gate: faber_2000__L_type_Ca_channel_f_Ca_gate(f_Ca, V, Cai); // Assignment Rules: i_Ca_L := i_CaCa + i_CaK + i_CaNa; i_CaCa := d * f * f_Ca * I_CaCa; i_CaK := d * f * f_Ca * I_CaK; i_CaNa := d * f * f_Ca * I_CaNa; I_CaCa := (((P_Ca * power(2, 2) * V * power(F, 2)) / (R * T)) * (gamma_Cai * Cai * exp((2 * V * F) / (R * T)) - gamma_Cao * Cao)) / (exp((2 * V * F) / (R * T)) - 1); I_CaK := (((P_K * power(1, 2) * V * power(F, 2)) / (R * T)) * (gamma_Ki * Ki * exp((1 * V * F) / (R * T)) - gamma_Ko * Ko)) / (exp((1 * V * F) / (R * T)) - 1); I_CaNa := (((P_Na * power(1, 2) * V * power(F, 2)) / (R * T)) * (gamma_Nai * Nai * exp((1 * V * F) / (R * T)) - gamma_Nao * Nao)) / (exp((1 * V * F) / (R * T)) - 1); // Variable initializations: gamma_Nai = 0.75; gamma_Nao = 0.75; gamma_Ki = 0.75; gamma_Ko = 0.75; gamma_Cai = 1; gamma_Cao = 0.341; P_Ca = 0.00054; P_Na = 6.75e-7; P_K = 1.93e-7; R = ; T = ; F = ; Cao = ; Nao = ; Ko = ; Nai = ; Ki = ; end model faber_2000__T_type_Ca_channel_b_gate(b, V, time_) // Assignment Rules: b_inf := 1 / (1 + exp(-(V + 14) / 10.8)); tau_b := 3.7 + 6.1 / (1 + exp((V + 25) / 4.5)); // Rate Rules: b' = (b_inf - b) / tau_b; // Variable initializations: b = 0.00136737866785149; V = ; time_ = ; end model faber_2000__T_type_Ca_channel_g_gate(g, V, time_) // Assignment Rules: g_inf := 1 / (1 + exp((V + 60) / 5.6)); tau_g := piecewise( -(0.875) * V + 12 , V <= 0 , 12 ); // Rate Rules: g' = (g_inf - g) / tau_g; // Variable initializations: g = 0.98881442877378; V = ; time_ = ; end model faber_2000__T_type_Ca_channel(i_Ca_T, E_Ca, time_, V, b, g) // Sub-modules, and any changes to those submodules: T_type_Ca_channel_b_gate: faber_2000__T_type_Ca_channel_b_gate(b, V, time_); T_type_Ca_channel_g_gate: faber_2000__T_type_Ca_channel_g_gate(g, V, time_); // Assignment Rules: i_Ca_T := g_CaT * b * b * g * (V - E_Ca); // Variable initializations: g_CaT = 0.05; E_Ca = ; end model faber_2000__rapid_delayed_rectifier_potassium_current_xr_gate(xr, V, time_) // Assignment Rules: xr_infinity := 1 / (1 + exp(-(V + 21.5) / 7.5)); tau_xr := 1 / ((0.00138 * (V + 14.2)) / (1 - exp(-(0.123) * (V + 14.2))) + (0.00061 * (V + 38.9)) / (exp(0.145 * (V + 38.9)) - 1)); // Rate Rules: xr' = (xr_infinity - xr) / tau_xr; // Variable initializations: xr = 0.000204700363126417; V = ; time_ = ; end model faber_2000__rapid_delayed_rectifier_potassium_current(i_Kr, E_K, time_, V, Ko, xr) // Sub-modules, and any changes to those submodules: rapid_delayed_rectifier_potassium_current_xr_gate: faber_2000__rapid_delayed_rectifier_potassium_current_xr_gate(xr, V, time_); // Assignment Rules: i_Kr := g_Kr * xr * Rect * (V - E_K); g_Kr := G_Kr * root(Ko / 5.4); Rect := 1 / (1 + exp((V + 9) / 22.4)); // Variable initializations: G_Kr = 0.02614; E_K = ; Ko = ; end model faber_2000__slow_delayed_rectifier_potassium_current_xs1_gate(xs1, V, time_) // Assignment Rules: xs1_infinity := 1 / (1 + exp(-(V - 1.5) / 16.7)); tau_xs1 := 1 / ((7.19E-5 * (V + 30)) / (1 - exp(-(0.148) * (V + 30))) + (0.000131 * (V + 30)) / (exp(0.0687 * (V + 30)) - 1)); // Rate Rules: xs1' = (xs1_infinity - xs1) / tau_xs1; // Variable initializations: xs1 = 0.00660746743356887; V = ; time_ = ; end model faber_2000__slow_delayed_rectifier_potassium_current_xs2_gate(xs2, V, time_) // Assignment Rules: xs2_infinity := 1 / (1 + exp(-(V - 1.5) / 16.7)); tau_xs2 := 4 / ((7.19E-5 * (V + 30)) / (1 - exp(-(0.148) * (V + 30))) + (0.000131 * (V + 30)) / (exp(0.0687 * (V + 30)) - 1)); // Rate Rules: xs2' = (xs2_infinity - xs2) / tau_xs2; // Variable initializations: xs2 = 0.0303768241233812; V = ; time_ = ; end model faber_2000__slow_delayed_rectifier_potassium_current(i_Ks, time_, V, R, T, F, Ko, Ki, Nao, Nai, Cai, xs1, xs2) // Sub-modules, and any changes to those submodules: slow_delayed_rectifier_potassium_current_xs1_gate: faber_2000__slow_delayed_rectifier_potassium_current_xs1_gate(xs1, V, time_); slow_delayed_rectifier_potassium_current_xs2_gate: faber_2000__slow_delayed_rectifier_potassium_current_xs2_gate(xs2, V, time_); // Assignment Rules: i_Ks := g_Ks * xs1 * xs2 * (V - E_Ks); g_Ks := G_Ks * (1 + 0.6 / (1 + power(3.8E-5 / Cai, 1.4))); E_Ks := ((R * T) / F) * ln((Ko + PNaK * Nao) / (Ki + PNaK * Nai)); // Variable initializations: G_Ks = 0.433; PNaK = 0.01833; R = ; T = ; F = ; Ko = ; Ki = ; Nao = ; Nai = ; Cai = ; end model faber_2000__time_independent_potassium_current_K1_gate(K1_infinity, V, E_K) // Assignment Rules: K1_infinity := alpha_K1 / (alpha_K1 + beta_K1); alpha_K1 := 1.02 / (1 + exp(0.2385 * ((V - E_K) - 59.215))); beta_K1 := (1 * (0.49124 * exp(0.08032 * ((V - E_K) + 5.476)) + exp(0.06175 * ((V - E_K) - 594.31)))) / (1 + exp(-(0.5143) * ((V - E_K) + 4.753))); // Variable initializations: V = ; E_K = ; end model faber_2000__time_independent_potassium_current(i_K1, E_K, V, Ko, Ki, R, T, F, K1_infinity) // Sub-modules, and any changes to those submodules: time_independent_potassium_current_K1_gate: faber_2000__time_independent_potassium_current_K1_gate(K1_infinity, V, E_K); // Assignment Rules: i_K1 := g_K1 * K1_infinity * (V - E_K); E_K := ((R * T) / F) * ln(Ko / Ki); g_K1 := G_K1 * root(Ko / 5.4); // Variable initializations: G_K1 = 0.75; Ko = ; Ki = ; R = ; T = ; F = ; end model faber_2000__plateau_potassium_current(i_Kp, V, E_K) // Assignment Rules: i_Kp := g_Kp * Kp * (V - E_K); Kp := 1 / (1 + exp((7.488 - V) / 5.98)); // Variable initializations: g_Kp = 0.00552; V = ; E_K = ; end model faber_2000__sodium_activated_potassium_current(i_K_Na, V, Nai, E_K) // Assignment Rules: i_K_Na := g_K_Na * pona * pov * (V - E_K); pona := 0.85 / (1 + power(kdKNa / Nai, nKNa)); pov := 0.8 - 0.65 / (1 + exp((V + 125) / 15)); // Variable initializations: g_K_Na = 0.12848; nKNa = 2.8; kdKNa = 66; V = ; Nai = ; E_K = ; end model faber_2000__ATP_sensitive_potassium_current(i_K_ATP, V, Ko, E_K) // Assignment Rules: i_K_ATP := GKbaraATP * (V - E_K); g_K_ATP := (i_K_ATP_on * 0.000193) / nicholsarea; pATP := 1 / (1 + power(ATPi / kATP, hATP)); GKbaraATP := g_K_ATP * pATP * power(Ko / 4, nATP); // Variable initializations: i_K_ATP_on = 1; nATP = 0.24; nicholsarea = 5e-5; ATPi = 3; hATP = 2; kATP = 0.00025; V = ; Ko = ; E_K = ; end model faber_2000__transient_outward_current_zdv_gate(zdv, V, time_) // Assignment Rules: alpha_zdv := (10 * exp((V - 40) / 25)) / (1 + exp((V - 40) / 25)); beta_zdv := (10 * exp(-(V + 90) / 25)) / (1 + exp(-(V + 90) / 25)); tau_zdv := 1 / (alpha_zdv + beta_zdv); zdv_ss := alpha_zdv / (alpha_zdv + beta_zdv); // Rate Rules: zdv' = (zdv_ss - zdv) / tau_zdv; // Variable initializations: zdv = 0.0144622472219576; V = ; time_ = ; end model faber_2000__transient_outward_current_ydv_gate(ydv, V, time_) // Assignment Rules: alpha_ydv := 0.015 / (1 + exp((V + 60) / 5)); beta_ydv := (0.1 * exp((V + 25) / 5)) / (1 + exp((V + 25) / 5)); tau_ydv := 1 / (alpha_ydv + beta_ydv); ydv_ss := alpha_ydv / (alpha_ydv + beta_ydv); // Rate Rules: ydv' = (ydv_ss - ydv) / tau_ydv; // Variable initializations: ydv = 0.999945568566232; V = ; time_ = ; end model faber_2000__transient_outward_current(i_to, E_K, V, time_, zdv, ydv) // Sub-modules, and any changes to those submodules: transient_outward_current_zdv_gate: faber_2000__transient_outward_current_zdv_gate(zdv, V, time_); transient_outward_current_ydv_gate: faber_2000__transient_outward_current_ydv_gate(ydv, V, time_); // Assignment Rules: i_to := g_to * power(zdv, 3) * ydv * rvdv * (V - E_K); g_to := 0 * 0.5; rvdv := exp(V / 100); // Variable initializations: E_K = ; end model faber_2000__sarcolemmal_calcium_pump(i_p_Ca, Cai) // Assignment Rules: i_p_Ca := (I_pCa * Cai) / (K_mpCa + Cai); // Variable initializations: K_mpCa = 0.0005; I_pCa = 1.15; Cai = ; end model faber_2000__sodium_background_current(i_Na_b, V, E_Na) // Assignment Rules: i_Na_b := g_Nab * (V - E_Na); // Variable initializations: g_Nab = 0.004; V = ; E_Na = ; end model faber_2000__calcium_background_current(i_Ca_b, E_Ca, V, R, T, F, Cai, Cao) // Assignment Rules: i_Ca_b := g_Cab * (V - E_Ca); E_Ca := ((R * T) / (2 * F)) * ln(Cao / Cai); // Variable initializations: g_Cab = 0.003016; V = ; R = ; T = ; F = ; Cai = ; Cao = ; end model faber_2000__sodium_potassium_pump(i_NaK, V, R, T, F, Nai, Nao, Ko) // Assignment Rules: i_NaK := (((I_NaK * f_NaK * 1) / (1 + power(K_mNai / Nai, 2))) * Ko) / (Ko + K_mKo); f_NaK := 1 / (1 + 0.1245 * exp((-(0.1) * V * F) / (R * T)) + 0.0365 * sigma * exp((- V * F) / (R * T))); sigma := (1 / 7) * (exp(Nao / 67.3) - 1); // Variable initializations: I_NaK = 2.25; K_mNai = 10; K_mKo = 1.5; V = ; R = ; T = ; F = ; Nai = ; Nao = ; Ko = ; end model faber_2000__non_specific_calcium_activated_current(i_ns_Ca, i_ns_Na, i_ns_K, gamma_Nai, gamma_Nao, gamma_Ki, gamma_Ko, R, T, F, Cao, Nao, Ko, Nai, Ki, time_, Cai, V) // Assignment Rules: i_ns_Ca := i_ns_Na + i_ns_K; i_ns_Na := (I_ns_Na * 1) / (1 + power(K_m_ns_Ca / Cai, 3)); i_ns_K := (I_ns_K * 1) / (1 + power(K_m_ns_Ca / Cai, 3)); P_ns_Ca := 1.75E-7; I_ns_Na := (((P_ns_Ca * power(1, 2) * V * power(F, 2)) / (R * T)) * (gamma_Nai * Nai * exp((1 * V * F) / (R * T)) - gamma_Nao * Nao)) / (exp((1 * V * F) / (R * T)) - 1); I_ns_K := (((P_ns_Ca * power(1, 2) * V * power(F, 2)) / (R * T)) * (gamma_Ki * Ki * exp((1 * V * F) / (R * T)) - gamma_Ko * Ko)) / (exp((1 * V * F) / (R * T)) - 1); // Variable initializations: gamma_Nai = ; gamma_Nao = ; gamma_Ki = ; gamma_Ko = ; R = ; T = ; F = ; Cao = ; Nao = ; Ko = ; Nai = ; Ki = ; K_m_ns_Ca = 0.0012; time_ = ; Cai = ; V = ; end model faber_2000__Na_Ca_exchanger(i_NaCa, V, R, T, F, Nai, Nao, Cai, Cao) // Assignment Rules: i_NaCa := (c1 * exp(((gamma - 1) * V * F) / (R * T)) * (exp((V * F) / (R * T)) * power(Nai, 3) * Cao - power(Nao, 3) * Cai)) / (1 + c2 * exp(((gamma - 1) * V * F) / (R * T)) * (exp((V * F) / (R * T)) * power(Nai, 3) * Cao + power(Nao, 3) * Cai)); // Variable initializations: c1 = 0.00025; c2 = 0.0001; gamma = 0.15; V = ; R = ; T = ; F = ; Nai = ; Nao = ; Cai = ; Cao = ; end model faber_2000__calcium_dynamics(i_rel, i_up, i_leak, i_tr, time_, F, Cai, Cao, Ca_JSR, Ca_NSR, V_myo, A_cap, V_JSR, V_NSR, i_NaCa, i_CaCa, i_p_Ca, i_Ca_b, i_Ca_T, dVdt) // Assignment Rules: i_rel := G_rel * (Ca_JSR - Cai); i_up := (I_up * Cai) / (Cai + K_mup); i_leak := K_leak * Ca_NSR; i_tr := (Ca_NSR - Ca_JSR) / tau_tr; G_rel := (RyRopen * RyRclose * 150) / (1 + exp((((i_CaCa + i_Ca_T) - 2 * i_NaCa) + i_p_Ca + i_Ca_b + 5) / 0.9)); G_rel_Viswanathan := piecewise( ((G_rel_max * (Cainfluxtrack - delta_Ca_ith)) / ((K_mrel + Cainfluxtrack) - delta_Ca_ith)) * (1 - APtrack2) * APtrack2 , Cainfluxtrack > delta_Ca_ith , G_rel_overload * (1 - OVRLDtrack2) * OVRLDtrack2 , ( Cainfluxtrack <= delta_Ca_ith) && (OVRLDtrack2 > 0 ), 0 ); K_leak := I_up / Ca_NSR_max; RyRopen := 1 / (1 + exp(2) * APtrack2); RyRclose := 1 - RyRopen; // Rate Rules: Cai' = (1 / (1 + (CMDN_max * K_mCMDN) / power(K_mCMDN + Cai, 2) + (Tn_max * K_mTn) / power(K_mTn + Cai, 2))) * ((-(1) * A_cap * (((i_CaCa + i_Ca_T) - 2 * i_NaCa) + i_p_Ca + i_Ca_b)) / (2 * V_myo * F) + (i_rel * V_JSR) / V_myo + ((i_leak - i_up) * V_NSR) / V_myo); Ca_JSR' = (1 / (1 + (CSQN_max * K_mCSQN) / power(K_mCSQN + Ca_JSR, 2))) * (i_tr - i_rel); Ca_NSR' = ((- i_tr * V_JSR) / V_NSR - i_leak) + i_up; APtrack' = piecewise( 100 * (1 - APtrack) - 0.5 * APtrack , dVdt > 150 , -(0.5) * APtrack ); APtrack2' = piecewise( 100 * (1 - APtrack2) - 0.5 * APtrack2 , ( APtrack < 0.2) && (APtrack > 0.18 ), -(0.5) * APtrack2 ); APtrack3' = piecewise( 100 * (1 - APtrack3) - 0.5 * APtrack3 , ( APtrack < 0.2) && (APtrack > 0.18 ), -(0.01) * APtrack3 ); Cainfluxtrack' = piecewise( (-(1) * A_cap * (((i_CaCa + i_Ca_T) - 2 * i_NaCa) + i_p_Ca + i_Ca_b)) / (2 * V_myo * F) , APtrack > 0.2 , 0 , ( APtrack2 > 0.01) && (APtrack <= 0.2 ), -(0.5) * Cainfluxtrack ); OVRLDtrack' = piecewise( 50 * (1 - OVRLDtrack) , (( 1 / (1 + K_mCSQN / Ca_JSR) > CSQNthresh) && (OVRLDtrack3 < 0.37) && (APtrack3 < 0.37 )), -(0.5) * OVRLDtrack ); OVRLDtrack2' = piecewise( 50 * (1 - OVRLDtrack2) , ( OVRLDtrack > Logicthresh) && (OVRLDtrack2 < Logicthresh ), -(0.5) * OVRLDtrack2 ); OVRLDtrack3' = piecewise( 50 * (1 - OVRLDtrack3) , ( OVRLDtrack > Logicthresh) && (OVRLDtrack3 < Logicthresh ), -(0.01) * OVRLDtrack3 ); // Variable initializations: G_rel_max = 60; G_rel_overload = 4; tau_tr = 180; K_mrel = 0.0008; delta_Ca_ith = 0.00018; CSQN_max = 10; K_mCSQN = 0.8; K_mup = 0.00092; I_up = 0.00875; Ca_NSR_max = 15; time_ = ; F = ; Cai = 0.000117482029668194; Cao = 1.8; Ca_JSR = 1.12791401197882; Ca_NSR = 1.76731003671612; V_myo = ; A_cap = ; V_JSR = ; V_NSR = ; i_NaCa = ; i_CaCa = ; i_p_Ca = ; i_Ca_b = ; i_Ca_T = ; K_mTn = 0.0005; K_mCMDN = 0.00238; Tn_max = 0.07; CMDN_max = 0.05; dVdt = ; APtrack = 9.65910542308504e-196; APtrack2 = 5.33944967562997e-195; APtrack3 = 0.000129515197402902; Cainfluxtrack = 2.69380318286645e-196; OVRLDtrack = 0; OVRLDtrack2 = 0; OVRLDtrack3 = 0; CSQNthresh = 0.7; Logicthresh = 0.98; end model faber_2000__ionic_concentrations(Nai, Nao, Ki, Ko, A_cap, V_myo, time_, F, i_Na, i_CaNa, i_Na_b, i_ns_Na, i_NaCa, i_NaK, i_CaK, i_Kr, i_Ks, i_K1, i_Kp, i_K_Na, i_K_ATP, i_ns_K, i_to, I_st) // Rate Rules: Nai' = (-(1) * (i_Na + i_CaNa + i_Na_b + i_ns_Na + i_NaCa * 3 + i_NaK * 3) * A_cap) / (V_myo * F); Ki' = (-(1) * (I_st + i_CaK + i_Kr + i_Ks + i_K1 + i_Kp + i_K_Na + i_K_ATP + i_to + i_ns_K + - i_NaK * 2) * A_cap) / (V_myo * F); // Variable initializations: Nai = 13.3649235394859; Nao = 140; Ki = 141.056872392446; Ko = 5.4; A_cap = ; V_myo = ; time_ = ; F = ; i_Na = ; i_CaNa = ; i_Na_b = ; i_ns_Na = ; i_NaCa = ; i_NaK = ; i_CaK = ; i_Kr = ; i_Ks = ; i_K1 = ; i_Kp = ; i_K_Na = ; i_K_ATP = ; i_ns_K = ; i_to = ; I_st = ; end model faber_2000__geometry(V_myo, V_JSR, V_NSR, A_cap) // Assignment Rules: V_myo := 0.68 * volume; V_JSR := 0.0048 * volume; V_NSR := 0.0552 * volume; // Variable initializations: preplength = 0.1; radius = 0.011; A_cap = 0.0001534; // Unit definitions: unit volume = litre; end model faber_2000__transmembrane_currents() end model faber_2000__intracellular_currents() end model faber_2000__Ions_n_reversal_potentials() end model *faber_2000____main() // Sub-modules, and any changes to those submodules: environment: faber_2000__environment(time_); cell: faber_2000__cell(V, R, T, F, I_st, time_, i_Na, i_Ca_L, i_Ca_T, i_Kr, i_Ks, i_K_Na, i_K_ATP, i_to, i_NaCa, i_K1, i_Kp, i_p_Ca, i_Na_b, i_Ca_b, i_NaK, i_ns_Ca, dVdt); fast_sodium_current: faber_2000__fast_sodium_current(i_Na, E_Na, time_, V, R, F, T, Nai, Nao, m, h, j); L_type_Ca_channel: faber_2000__L_type_Ca_channel(i_Ca_L, i_CaCa, i_CaK, i_CaNa, gamma_Nai, gamma_Nao, gamma_Ki, gamma_Ko, time_, V, Cai, R, T, F, Cao, Nao, Ko, Nai, Ki, d, f, f_Ca); T_type_Ca_channel: faber_2000__T_type_Ca_channel(i_Ca_T, E_Ca, time_, V, b, g); rapid_delayed_rectifier_potassium_current: faber_2000__rapid_delayed_rectifier_potassium_current(i_Kr, E_K, time_, V, Ko, xr); slow_delayed_rectifier_potassium_current: faber_2000__slow_delayed_rectifier_potassium_current(i_Ks, time_, V, R, T, F, Ko, Ki, Nao, Nai, Cai, xs1, xs2); time_independent_potassium_current: faber_2000__time_independent_potassium_current(i_K1, E_K, V, Ko, Ki, R, T, F, K1_infinity); plateau_potassium_current: faber_2000__plateau_potassium_current(i_Kp, V, E_K); sodium_activated_potassium_current: faber_2000__sodium_activated_potassium_current(i_K_Na, V, Nai, E_K); ATP_sensitive_potassium_current: faber_2000__ATP_sensitive_potassium_current(i_K_ATP, V, Ko, E_K); transient_outward_current: faber_2000__transient_outward_current(i_to, E_K, V, time_, zdv, ydv); sarcolemmal_calcium_pump: faber_2000__sarcolemmal_calcium_pump(i_p_Ca, Cai); sodium_background_current: faber_2000__sodium_background_current(i_Na_b, V, E_Na); calcium_background_current: faber_2000__calcium_background_current(i_Ca_b, E_Ca, V, R, T, F, Cai, Cao); sodium_potassium_pump: faber_2000__sodium_potassium_pump(i_NaK, V, R, T, F, Nai, Nao, Ko); non_specific_calcium_activated_current: faber_2000__non_specific_calcium_activated_current(i_ns_Ca, i_ns_Na, i_ns_K, gamma_Nai, gamma_Nao, gamma_Ki, gamma_Ko, R, T, F, Cao, Nao, Ko, Nai, Ki, time_, Cai, V); Na_Ca_exchanger: faber_2000__Na_Ca_exchanger(i_NaCa, V, R, T, F, Nai, Nao, Cai, Cao); calcium_dynamics: faber_2000__calcium_dynamics(i_rel, i_up, i_leak, i_tr, time_, F, Cai, Cao, Ca_JSR, Ca_NSR, V_myo, A_cap, V_JSR, V_NSR, i_NaCa, i_CaCa, i_p_Ca, i_Ca_b, i_Ca_T, dVdt); ionic_concentrations: faber_2000__ionic_concentrations(Nai, Nao, Ki, Ko, A_cap, V_myo, time_, F, i_Na, i_CaNa, i_Na_b, i_ns_Na, i_NaCa, i_NaK, i_CaK, i_Kr, i_Ks, i_K1, i_Kp, i_K_Na, i_K_ATP, i_ns_K, i_to, I_st); geometry: faber_2000__geometry(V_myo, V_JSR, V_NSR, A_cap); transmembrane_currents: faber_2000__transmembrane_currents(); intracellular_currents: faber_2000__intracellular_currents(); Ions_n_reversal_potentials: faber_2000__Ions_n_reversal_potentials(); end