//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_NaCa, i_K1, i_K_ATP, i_to, 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_K1 + i_K_ATP + i_to + 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.126196430406; R = 8314; T = 310; F = 96485; time_ = ; i_Na = ; i_Ca_L = ; i_Ca_T = ; i_Kr = ; i_Ks = ; i_K_Na = ; i_NaCa = ; i_K1 = ; i_K_ATP = ; i_to = ; i_Kp = ; i_p_Ca = ; i_Na_b = ; i_Ca_b = ; i_NaK = ; i_ns_Ca = ; stim_start = 10; stim_end = 9e6; stim_period = 300; stim_duration = 0.5; stim_amplitude = -80; end model faber_2000__fast_sodium_current_m_gate(m, V, time_) // Assignment Rules: alpha_m := (0.32 * E0_m) / (1 - exp(-(0.1) * E0_m)); 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.001513296212; V = ; 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.985318710339; 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.990731711845; 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 := (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 = 0.000005906564; 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 + 32) / 8)) + 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.999390880784; 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.001378275288; 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.988597502434; 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.000207067204; 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.007136102382; 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.039518996812; 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__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.014537782303; 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.99993940527; 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__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__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 + power(K_mNai / Nai, 2))) / (1 + K_mKo / Ko); 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, CaT, Cao, Ca_JSR, JSR, NSR, Cai, bjsr, cjsr, bmyo, cmyo, dmyo, V_myo, A_cap, V_JSR, V_NSR, i_NaCa, i_CaCa, i_p_Ca, i_Ca_b, i_Ca_T) // Assignment Rules: i_up := (I_up * Cai) / (Cai + K_mup); i_leak := K_leak * NSR; i_tr := (NSR - Ca_JSR) / tau_tr; K_leak := I_up / Ca_NSR_max; Ca_JSR := (root(power(bjsr, 2) + 4 * cjsr) - bjsr) / 2; Cai := (2 / 3) * root(power(bmyo, 2) - 3 * cmyo) * cos(arccos((9 * bmyo * cmyo - (2 * power(bmyo, 3) + 27 * dmyo)) / (2 * root(power(power(bmyo, 2) - 3 * cmyo, 3)))) / 3) - bmyo / 3; bjsr := CSQN_max + K_mCSQN + - JSR; cjsr := K_mCSQN * JSR; bmyo := CMDN_max + TRPN_max + K_mCMDN + K_mTRPN + - CaT; cmyo := K_mCMDN * K_mTRPN + TRPN_max * K_mCMDN + CMDN_max * K_mTRPN + - CaT * (K_mTRPN + K_mCMDN); dmyo := - K_mTRPN * K_mCMDN * CaT; // Rate Rules: CaT' = (-(1) * A_cap * (i_CaCa + i_Ca_T + i_p_Ca + i_Ca_b + -(2) * i_NaCa)) / (2 * V_myo * F) + (i_rel * V_JSR) / V_myo + ((i_leak - i_up) * V_NSR) / V_myo; JSR' = i_tr - i_rel; NSR' = ((- i_tr * V_JSR) / V_NSR - i_leak) + i_up; // Variable initializations: i_rel = ; tau_tr = 120; CSQN_max = 10; K_mCSQN = 0.8; K_mup = 0.00092; I_up = 0.00875; Ca_NSR_max = 15; time_ = ; F = ; CaT = 0.01544711; Cao = 1.8; JSR = 8.290468; NSR = 1.516756041281; V_myo = ; A_cap = ; V_JSR = ; V_NSR = ; i_NaCa = ; i_CaCa = ; i_p_Ca = ; i_Ca_b = ; i_Ca_T = ; K_mTRPN = 0.0005; K_mCMDN = 0.00238; TRPN_max = 0.07; CMDN_max = 0.05; end model faber_2000__CICR_current(alpha_rel, tau_rel, I_relss, i_rel, i_CaCa, Ca_JSR, time_) // Assignment Rules: alpha_rel := kappa * tau; tau_rel := tau / (1 + 0.0123 / Ca_JSR); I_relss := (i_CaCa * alpha_rel) / (1 + power(K_relss / Ca_JSR, qn)); // Rate Rules: i_rel' = -(I_relss + i_rel) / tau_rel; // Variable initializations: kappa = 0.125; tau = 4.75; K_relss = 1; qn = 9; i_rel = -0.000000000000000000474565; i_CaCa = ; Ca_JSR = ; time_ = ; 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_ns_K, I_st, i_K_ATP, i_to) // 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_K_ATP + i_to + i_Kp + i_K_Na + i_ns_K + - i_NaK * 2) * A_cap) / (V_myo * F); // Variable initializations: Nai = 10; Nao = 140; Ki = 144.473230653346; 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_ns_K = ; I_st = ; i_K_ATP = ; i_to = ; 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 = 1.534e-4; // 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_NaCa, i_K1, i_K_ATP, i_to, 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); 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); 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); 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, CaT, Cao, Ca_JSR, JSR, NSR, Cai, bjsr, cjsr, bmyo, cmyo, dmyo, V_myo, A_cap, V_JSR, V_NSR, i_NaCa, i_CaCa, i_p_Ca, i_Ca_b, i_Ca_T); CICR_current: faber_2000__CICR_current(alpha_rel, tau_rel, I_relss, i_rel, i_CaCa, Ca_JSR, time_); 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_ns_K, I_st, i_K_ATP, i_to); 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