CellML Discussion List

Text archives Help


[cellml-discussion] Content MathML editing language: Feedback oninitial MathML => editing language output sought


Chronological Thread 
  • From: david.nickerson at nus.edu.sg (David Nickerson)
  • Subject: [cellml-discussion] Content MathML editing language: Feedback oninitial MathML => editing language output sought
  • Date: Fri, 24 Nov 2006 10:52:21 +0800

Just one point brought to light in my example below is the use of the
components one_ion and two_ion. I import these components to calculate
reversal potentials as many times as required to calculate all the
various reversal potentials in the model. It seems wrong to be
presenting a user with the ability to edit every imported instance of
these equations rather than just the single original equations as is
clearly the intent of the model as defined by the model hierarchy.

Andrew Miller wrote:
> Hi all,
>
> At the last CellML meeting, some people were keen to see what the
> editable math format looked like for some models. I have now got the
> code to generate this working, so please let me know what you think. I
> am particularly keen to hear opinions on the notation we should use for
> power (we could use power(x,2.0) or something like x^2.0 (another option
> would be to use ^ to mean exclusive-OR). Opinions on precedence, the
> bracket minimisation algorithm used to generate the below, and the
> notation for attaching things like units are also wanted.
>
> Note that equations will be edited one at a time, not all together as
> listed below...
>
> Coupled pendulum model...
> ==== Component environment ====
> ==== Component PendulumUpperSegment ====
> d(a)/d(time) = a_angular_velocity
> ==== Component PendulumLowerSegment ====
> d(b)/d(time) = b_angular_velocity
> ==== Component Pendulum ====
> d(a_angular_velocity)/d(time) = -2.0{units="dimensionless"} * a + b
> d(b_angular_velocity)/d(time) = 2.0{units="dimensionless"} * a -
> 2{units="dimensionless"} * b
> ==== Component analytic_solution ====
> a_ = 0.5{units="dimensionless"} *
> cos(0.765366864730179{units="dimensionless"} * time) +
> 0.25{units="dimensionless"} * 1.41421356237310{units="dimensionless"} *
> cos(0.765366864730179{units="dimensionless"} * time) +
> 0.5{units="dimensionless"} * cos(1.84775906502257{units="dimensionless"}
> * time) + -0.25{units="dimensionless"} *
> 1.41421356237310{units="dimensionless"} *
> cos(1.84775906502257{units="dimensionless"} * time)
> b_ = 0.5{units="dimensionless"} *
> 1.41421356237310{units="dimensionless"} *
> cos(0.765366864730179{units="dimensionless"} * time) +
> 0.5{units="dimensionless"} *
> cos(0.765366864730179{units="dimensionless"} * time) +
> -0.5{units="dimensionless"} * 1.41421356237310{units="dimensionless"} *
> cos(1.84775906502257{units="dimensionless"} * time) +
> 0.5{units="dimensionless"} * cos(1.84775906502257{units="dimensionless"}
> * time)
> ==== Component errors ====
> error_A = power(a - a_, 2{units="dimensionless"})
> error_B = power(b - b_, 2{units="dimensionless"})
> RSS = error_A + error_B
>
> Beeler-Reuter...
> ==== Component environment ====
> ==== Component membrane ====
> d( V )/d( time ) ={id="membrane_voltage_diff_eq"} (Istim - i_Na + i_s
> + i_x1 + i_K1 ) / C
> IStimC ={id="IStim_for_cmiss"} Istim
> ==== Component sodium_current ====
> i_Na ={id="i_Na_calculation"} ( g_Na * power( m , 3.0
> {units="dimensionless"}) * h * j + g_Nac ) * ( V - E_Na )
> ==== Component sodium_current_m_gate ====
> alpha_m ={id="alpha_m_calculation"} ( -1 {units="per_mV_ms"} * ( V +
> 47.0 {units="mV"})) / (exp( -0.1 {units="per_mV"} * ( V + 47.0
> {units="mV"})) - 1.0 {units="dimensionless"})
> beta_m ={id="beta_m_calculation"} 40.0 {units="per_ms"} * exp( -0.056
> {units="per_mV"} * ( V + 72.0 {units="mV"}))
> d( m )/d( time ) ={id="dm_dt"} alpha_m * ( 1.0 {units="per_mV"} - m )
> - beta_m * m
> ==== Component sodium_current_h_gate ====
> alpha_h ={id="alpha_h_calculation"} 0.126 {units="per_ms"} * exp(
> -0.25 {units="per_mV"} * ( V + 77.0 {units="mV"}))
> beta_h ={id="beta_h_calculation"} 1.7 {units="per_ms"} / (exp( -0.082
> {units="per_mV"} * ( V + 22.5 {units="mV"})) + 1.0
> {units="dimensionless"})
> d( h )/d( time ) ={id="dh_dt"} alpha_h * ( 1.0 {units="dimensionless"}
> - h ) - beta_h * h
> ==== Component sodium_current_j_gate ====
> alpha_j ={id="alpha_j_calculation"} ( 0.055 {units="per_ms"} * exp(
> -0.25 {units="per_mV"} * ( V + 78.0 {units="mV"}))) / (exp( -0.2
> {units="per_mV"} * ( V + 78.0 {units="mV"})) + 1.0
> {units="dimensionless"})
> beta_j ={id="beta_j_calculation"} 0.3 {units="per_ms"} / (exp( -0.1
> {units="per_mV"} * ( V + 32.0 {units="mV"})) + 1.0
> {units="dimensionless"})
> d( j )/d( time ) ={id="dj_dt"} alpha_j * ( 1.0 {units="dimensionless"}
> - j ) - beta_j * j
> ==== Component slow_inward_current ====
> E_s ={id="E_s_calculation"} -82.3 {units="mV"} - 13.0287
> {units="mV"} * ln( Cai * 0.001{units="per_concentration_units"})
> i_s ={id="i_s_calculation"} g_s * d * f * ( V - E_s )
> d( Cai )/d( time ) ={id="dCai_dt"} -0.01 {units="dimensionless"} *
> i_s + 0.07 {units="dimensionless"} * ( 0.0001 {units="dimensionless"}
> - Cai )
> ==== Component slow_inward_current_d_gate ====
> alpha_d ={id="alpha_d_calculation"} ( 0.095 {units="per_ms"} * exp((
> V - 5.0 {units="mV"}) / 100.0 {units="mV"})) / ( 1.0
> {units="dimensionless"} + exp(( V - 5.0 {units="mV"}) / 13.89
> {units="mV"}))
> beta_d ={id="beta_d_calculation"} ( 0.07 {units="per_ms"} * exp(( V
> + 44.0 {units="mV"}) / 59.0 {units="mV"})) / ( 1.0
> {units="dimensionless"} + exp(( V + 44.0 {units="mV"}) / 20.0
> {units="mV"}))
> d( d )/d( time ) ={id="dd_dt"} alpha_d * ( 1.0 {units="dimensionless"}
> - d ) - beta_d * d
> ==== Component slow_inward_current_f_gate ====
> alpha_f ={id="alpha_f_calculation"} ( 0.012 {units="per_ms"} * exp((
> V + 28.0 {units="mV"}) / 125.0 {units="mV"})) / ( 1.0
> {units="dimensionless"} + exp(( V + 28.0 {units="mV"}) / 6.67
> {units="mV"}))
> beta_f ={id="beta_f_calculation"} ( 0.0065 {units="per_ms"} * exp(( V
> + 30.0 {units="mV"}) / 50.0 {units="mV"})) / ( 1.0
> {units="dimensionless"} + exp(( V + 30.0 {units="mV"}) / 5.0
> {units="mV"}))
> d( f )/d( time ) ={id="df_dt"} alpha_f * ( 1.0 {units="dimensionless"}
> - f ) - beta_f * f
> ==== Component time_dependent_outward_current ====
> i_x1 ={id="i_x1_calculation"} x1 * 8.0e-3 {units="dimensionless"} *
> (exp( 0.04 {units="per_mV"} * ( V + 77.0 {units="mV"})) - 1.0
> {units="dimensionless"}) / exp( 0.04 {units="per_mV"} * ( V + 35.0
> {units="mV"}))
> ==== Component time_dependent_outward_current_x1_gate ====
> alpha_x1 ={id="alpha_x1_calculation"} 5e-4 {units="per_ms"} * exp((
> V + 50.0 {units="mV"}) / 12.1 {units="mV"}) / ( 1.0
> {units="dimensionless"} + exp(( V + 50.0 {units="mV"}) / 17.5
> {units="mV"}))
> beta_x1 ={id="beta_x1_calculation"} 0.0013 {units="per_ms"} * exp((
> V + 20.0 {units="mV"}) / 16.67 {units="mV"}) / ( 1.0
> {units="dimensionless"} + exp(( V + 20.0 {units="mV"}) / 25.0
> {units="mV"}))
> d( x1 )/d( time ) ={id="dx1_dt"} alpha_x1 * ( 1.0 {units="per_mV"} -
> x1 ) - beta_x1 * x1
> ==== Component time_independent_outward_current ====
> i_K1 ={id="i_K1_calculation"} 0.0035 {units="dimensionless"} * ( 4.0
> {units="per_ms"} * (exp( 0.04 {units="per_mV"} * ( V + 85.0
> {units="mV"})) - 1.0 {units="dimensionless"}) / (exp( 0.08
> {units="per_mV"} * ( V + 53 {units="mV"})) + exp( 0.04
> {units="per_mV"} * ( V + 53.0 {units="mV"}))) + 0.2 {units="per_ms"}
> * ( V + 23.0 {units="mV"}) / ( 1.0 {units="dimensionless"} - exp(
> -0.04 {units="per_mV"} * ( V + 23.0 {units="mV"}))))
>
> Andre's version of the ten Tusscher model, in the increasing frequency
> epicardial experiment...
> === Summary of Equations ===
> ==== Component time ====
> ==== Component stimulus_protocol_params ====
> stimPeriod = piecewise(case time < 600e3{units="ms"} then
> 4e3{units="ms"} case time >= 600e3{units="ms"} & time <
> 1200e3{units="ms"} then 2e3{units="ms"} case time >= 1200e3{units="ms"}
> & time < 1800e3{units="ms"} then 1e3{units="ms"} case time >=
> 1800e3{units="ms"} & time < 2400e3{units="ms"} then 666.66{units="ms"}
> case time >= 2400e3{units="ms"} & time < 3000e3{units="ms"} then
> 500{units="ms"} case time >= 3000e3{units="ms"} & time <
> 3600e3{units="ms"} then 400{units="ms"} case time >= 3600e3{units="ms"}
> & time < 4200e3{units="ms"} then 333.33{units="ms"} else 1e3{units="ms"})
> ==== Component parameters ====
> ==== Component initial_conditions ====
> ==== Component interface ====
> ==== Component membrane_potential ====
> d(V)/d(time) ={id="membrane_voltage_diff_eq"} (Istim - INa + IK1 + Ito +
> IKr + IKs + ICaL + INaCa + INaK + IbNa + IbCa + IpCa + IpK) / Cm
> ==== Component one_ion ====
> reversal_potential = ((R * T) / z * F) * ln(extracellular_concentration
> / intracellular_concentration)
> ==== Component two_ions ====
> reversal_potential = ((R * T) / z * F) * ln((multiplier_1 *
> extracellular_concentration_1 + multiplier_2 *
> extracellular_concentration_2) / (multiplier_1 *
> intracellular_concentration_1 + multiplier_2 *
> intracellular_concentration_2))
> ==== Component one_ion ====
> reversal_potential = ((R * T) / z * F) * ln(extracellular_concentration
> / intracellular_concentration)
> ==== Component two_ions ====
> reversal_potential = ((R * T) / z * F) * ln((multiplier_1 *
> extracellular_concentration_1 + multiplier_2 *
> extracellular_concentration_2) / (multiplier_1 *
> intracellular_concentration_1 + multiplier_2 *
> intracellular_concentration_2))
> ==== Component one_ion ====
> reversal_potential = ((R * T) / z * F) * ln(extracellular_concentration
> / intracellular_concentration)
> ==== Component two_ions ====
> reversal_potential = ((R * T) / z * F) * ln((multiplier_1 *
> extracellular_concentration_1 + multiplier_2 *
> extracellular_concentration_2) / (multiplier_1 *
> intracellular_concentration_1 + multiplier_2 *
> intracellular_concentration_2))
> ==== Component one_ion ====
> reversal_potential = ((R * T) / z * F) * ln(extracellular_concentration
> / intracellular_concentration)
> ==== Component two_ions ====
> reversal_potential = ((R * T) / z * F) * ln((multiplier_1 *
> extracellular_concentration_1 + multiplier_2 *
> extracellular_concentration_2) / (multiplier_1 *
> intracellular_concentration_1 + multiplier_2 *
> intracellular_concentration_2))
> ==== Component INa ====
> INa ={id="INa_calculation"} g_Na * power(m, 3.0{units="dimensionless"})
> * h * j * (V - E_Na)
> ==== Component m_gate ====
> m_infinity ={id="m_infinity_calculation"} 1.0{units="dimensionless"} /
> power(1.0{units="dimensionless"} + exp((-56.86{units="mV"} - V) /
> 9.03{units="mV"}), 2.0{units="dimensionless"})
> alpha_m ={id="alpha_m_calculation"} 1.0{units="per_ms"} /
> (1.0{units="dimensionless"} + exp((-60.0{units="mV"} - V) /
> 5.0{units="mV"}))
> beta_m ={id="beta_m_calculation"} 0.1{units="per_ms"} /
> (1.0{units="dimensionless"} + exp((35.0{units="mV"} + V) /
> 5.0{units="mV"})) + 0.1{units="per_ms"} / (1.0{units="dimensionless"} +
> exp((V - 50.0{units="mV"}) / 200.0{units="mV"}))
> tau_m ={id="tau_m_calculation"} 1.0{units="mscu"} * alpha_m * beta_m
> d(m)/d(time) ={id="dm_dt"} (m_infinity - m) / tau_m
> ==== Component h_gate ====
> h_infinity ={id="h_infinity_calculation"} 1.0{units="dimensionless"} /
> power(1.0{units="dimensionless"} + exp((71.55{units="mV"} + V) /
> 7.43{units="mV"}), 2.0{units="dimensionless"})
> alpha_h ={id="alpha_h_calculation"} piecewise(case V < -40.0{units="mV"}
> then 0.057{units="per_ms"} * exp(((80.0{units="mV"} + V)) /
> 6.8{units="mV"}) else 0.0{units="per_ms"})
> beta_h ={id="beta_h_calculation"} piecewise(case V < -40.0{units="mV"}
> then 2.7{units="per_ms"} * exp(0.079{units="per_mV"} * V) +
> 3.1E5{units="per_ms"} * exp(0.3485{units="per_mV"} * V) else
> 0.77{units="dimensionless"} / 0.13{units="ms"} *
> (1.0{units="dimensionless"} + exp(((V + 10.66{units="mV"})) /
> 11.1{units="mV"})))
> tau_h ={id="tau_h_calculation"} 1.0{units="dimensionless"} / (alpha_h +
> beta_h)
> d(h)/d(time) ={id="dh_dt"} (h_infinity - h) / tau_h
> ==== Component j_gate ====
> j_infinity ={id="j_infinity_calculation"} 1.0{units="dimensionless"} /
> power(1.0{units="dimensionless"} + exp((71.55{units="mV"} + V) /
> 7.43{units="mV"}), 2.0{units="dimensionless"})
> alpha_j ={id="alpha_j_calculation"} piecewise(case V < -40.0{units="mV"}
> then ((-2.5428E4{units="per_mV_per_ms"} * exp(0.2444{units="per_mV"} *
> V) - 6.948E-6{units="per_mV_per_ms"} * exp(-0.04391{units="per_mV"} *
> V)) * (V + 37.78{units="mV"})) / (1.0{units="dimensionless"} +
> exp(0.311{units="per_mV"} * (V + 79.23{units="mV"}))) else
> 0.0{units="per_ms"})
> beta_j ={id="beta_j_calculation"} piecewise(case V < -40.0{units="mV"}
> then (0.02424{units="per_ms"} * exp(-0.01052{units="per_mV"} * V)) /
> (1.0{units="dimensionless"} + exp(-0.1378{units="per_mV"} * (V +
> 40.14{units="mV"}))) else (0.6{units="per_ms"} *
> exp(0.057{units="per_mV"} * V)) / (1.0{units="dimensionless"} +
> exp(-0.1{units="per_mV"} * (V + 32.0{units="mV"}))))
> tau_j ={id="tau_j_calculation"} 1.0{units="dimensionless"} / (alpha_j +
> beta_j)
> d(j)/d(time) ={id="dj_dt"} (j_infinity - j) / tau_j
> ==== Component IK1 ====
> IK1 ={id="i_K1_calculation"} g_K1 * root(Ko / 5.4{units="mM"}) *
> K1_infinity * (V - E_K)
> ==== Component K1_gate ====
> K1_infinity ={id="K1_infinity_calculation"} alpha_K1 / (alpha_K1 + beta_K1)
> alpha_K1 ={id="alpha_K1_calculation"} 0.1{units="dimensionless"} /
> (1.0{units="dimensionless"} + exp(0.06{units="per_mV"} * (V - E_K +
> 200.0{units="mV"})))
> beta_K1 ={id="beta_K1_calculation"} (3.0{units="dimensionless"} *
> exp(0.0002{units="per_mV"} * ((V - E_K) + 100.0{units="mV"})) +
> exp(0.1{units="per_mV"} * (V - E_K + 10.0{units="mV"}))) /
> (1.0{units="dimensionless"} + exp(-0.5{units="per_mV"} * (V - E_K)))
> ==== Component current ====
> Ito ={id="i_to_calculation"} g_to * r * s * (V - E_K)
> ==== Component r_gate ====
> d(r)/d(time) ={id="r_diff_eq"} (r_infinity - r) / tau_r
> r_infinity ={id="r_infinity_calculation"} 1.0{units="dimensionless"} /
> (1.0{units="dimensionless"} + exp((20.0{units="mV"} - V) / 6.0{units="mV"}))
> tau_r ={id="tau_r_calculation"} 9.5{units="ms"} * exp((power(V +
> 40.0{units="mV"}, 2.0{units="dimensionless"})) / 1800.0{units="mVsq"}) +
> 0.8{units="ms"}
> ==== Component epi_M_s_gate ====
> d(s)/d(time) ={id="s_diff_eq"} (s_infinity - s) / tau_s
> s_infinity ={id="s_infinity_calculation"} 1.0{units="dimensionless"} /
> (1.0{units="dimensionless"} + exp((20.0{units="mV"} + V) / 5.0{units="mV"}))
> tau_s ={id="tau_s_calculation"} 85.0{units="ms"} * exp((power(V +
> 45.0{units="mV"}, 2.0{units="dimensionless"})) / 320.0{units="mVsq"}) +
> 5.0{units="ms"} / (1.0{units="dimensionless"} + exp((V -
> 20.0{units="mV"}) / 5.0{units="mV"})) + 3.0{units="ms"}
> ==== Component endo_s_gate ====
> d(s)/d(time) ={id="s_diff_eq"} (s_infinity - s) / tau_s
> s_infinity ={id="s_infinity_calculation"} 1.0{units="dimensionless"} /
> (1.0{units="dimensionless"} + exp((28.0{units="mV"} + V) / 5.0{units="mV"}))
> tau_s ={id="tau_s_calculation"} 1000.0{units="ms"} * exp((power(V +
> 67.0{units="mV"}, 2.0{units="dimensionless"})) / 1000.0{units="mVsq"}) +
> 8.0{units="ms"}
> ==== Component IKr ====
> IKr ={id="i_Kr_calculation"} g_Kr * root(Ko / 5.4{units="mM"}) * Xr1 *
> Xr2 * (V - E_K)
> ==== Component Xr1_gate ====
> d(Xr1)/d(time) ={id="Xr1_diff_eq"} (Xr1_infinity - Xr1) / tau_Xr1
> Xr1_infinity ={id="Xr1_infinity_calculation"} 1.0{units="dimensionless"}
> / (1.0{units="dimensionless"} + exp((-26.0{units="mV"} - V) /
> 7.0{units="mV"}))
> alpha_Xr1 ={id="alpha_Xr1_calculation"} 450{units="per_ms"} /
> (1.0{units="dimensionless"} + exp((-45.0{units="mV"} - V) /
> 10.0{units="mV"}))
> beta_Xr1 ={id="beta_Xr1_calculation"} 6.0{units="per_ms"} /
> (1.0{units="dimensionless"} + exp((V + 30.0{units="mV"}) /
> 11.5{units="mV"}))
> tau_Xr1 ={id="tau_Xr1_calculation"} 1.0{units="mscu"} * alpha_Xr1 * beta_Xr1
> ==== Component Xr2_gate ====
> d(Xr2)/d(time) ={id="Xr2_diff_eq"} (Xr2_infinity - Xr2) / tau_Xr2
> Xr2_infinity ={id="Xr2_infinity_calculation"} 1.0{units="dimensionless"}
> / (1.0{units="dimensionless"} + exp((88.0{units="mV"} + V) /
> 24.0{units="mV"}))
> alpha_Xr2 ={id="alpha_Xr2_calculation"} 3.0{units="per_ms"} /
> (1.0{units="dimensionless"} + exp((-60.0{units="mV"} - V) /
> 20.0{units="mV"}))
> beta_Xr2 ={id="beta_Xr2_calculation"} 1.12{units="per_ms"} /
> (1.0{units="dimensionless"} + exp((V - 60.0{units="mV"}) /
> 20.0{units="mV"}))
> tau_Xr2 ={id="tau_Xr2_calculation"} 1.0{units="mscu"} * alpha_Xr2 * beta_Xr2
> ==== Component IKs ====
> IKs ={id="i_Ks_calculation"} g_Ks * power(Xs,
> 2.0{units="dimensionless"}) * (V - E_Ks)
> ==== Component Xs_gate ====
> d(Xs)/d(time) ={id="Xs_diff_eq"} (Xs_infinity - Xs) / tau_Xs
> Xs_infinity ={id="Xs_infinity_calculation"} 1.0{units="dimensionless"} /
> (1.0{units="dimensionless"} + exp((-5.0{units="mV"} - V) /
> 14.0{units="mV"}))
> alpha_Xs ={id="alpha_Xs_calculation"} 1100{units="per_ms"} /
> root(1.0{units="dimensionless"} + exp((-10.0{units="mV"} - V) /
> 6.0{units="mV"}))
> beta_Xs ={id="beta_Xs_calculation"} 1.0{units="per_ms"} /
> (1.0{units="dimensionless"} + exp((V - 60.0{units="mV"}) /
> 20.0{units="mV"}))
> tau_Xs ={id="tau_Xs_calculation"} 1.0{units="mscu"} * alpha_Xs * beta_Xs
> ==== Component INaK ====
> INaK ={id="i_NaK_calculation"} P_NaK * (Ko * Nai) / (Ko + K_mK) * (Nai +
> K_mNa) * (1.0{units="dimensionless"} + 0.1245{units="dimensionless"} *
> exp((-0.1{units="dimensionless"} * V * F) / R * T) +
> 0.0353{units="dimensionless"} * exp(((V) * F) / R * T))
> ==== Component IpK ====
> IpK ={id="i_pK_calculation"} g_pK * (V - E_K) /
> (1.0{units="dimensionless"} + exp((25.0{units="mV"} - V) /
> 5.98{units="mV"}))
> ==== Component IbNa ====
> IbNa ={id="i_bNa_calculation"} g_bNa * (V - E_Na)
> ==== Component ICaL ====
> ICaL ={id="i_CaL_calculation"} g_CaL * d * f * fCa *
> 4.0{units="dimensionless"} * (V * power(F, 2.0{units="dimensionless"}))
> / R * T * (Cai * exp((2.0{units="dimensionless"} * V * F) / R * T) -
> 0.341{units="dimensionless"} * Cao) / (exp((2.0{units="dimensionless"} *
> V * F) / R * T) - 1.0{units="dimensionless"})
> ==== Component d_gate ====
> d_infinity ={id="d_infinity_calculation"} 1.0{units="dimensionless"} /
> (1.0{units="dimensionless"} + exp((-5.0{units="mV"} - V) / 7.5{units="mV"}))
> alpha_d ={id="alpha_d_calculation"} 1.4{units="per_ms"} /
> (1.0{units="dimensionless"} + exp((-35.0{units="mV"} - V) /
> 13.0{units="mV"})) + 0.25{units="per_ms"}
> beta_d ={id="beta_d_calculation"} 1.4{units="per_ms"} /
> (1.0{units="dimensionless"} + exp((5.0{units="mV"} + V) / 5.0{units="mV"}))
> gamma_d ={id="gamma_d_calculation"} 1.0{units="ms"} /
> (1.0{units="dimensionless"} + exp((50.0{units="mV"} - V) /
> 20.0{units="mV"}))
> tau_d ={id="tau_d_calculation"} 1.0{units="mscu"} * alpha_d * beta_d +
> gamma_d
> d(d)/d(time) ={id="dd_dt"} (d_infinity - d) / tau_d
> ==== Component f_gate ====
> f_infinity ={id="f_infinity_calculation"} 1.0{units="dimensionless"} /
> (1.0{units="dimensionless"} + exp((20.0{units="mV"} + V) / 7.0{units="mV"}))
> tau_f ={id="tau_f_calculation"} 1125.0{units="ms"} * exp((power(V +
> 27.0{units="mV"}, 2.0{units="dimensionless"})) / 240.0{units="mVsq"}) +
> 165.0{units="ms"} / (1.0{units="dimensionless"} + exp((25.0{units="mV"}
> - V) / 10.0{units="mV"})) + 80.0{units="ms"}
> d(f)/d(time) ={id="df_dt"} (f_infinity - f) / tau_f
> ==== Component fCa_gate ====
> fCa_infinity ={id="fCa_infinity_calculation"} (alpha_fCa + beta_fCa +
> gamma_fCa + 0.23{units="dimensionless"}) / 1.46{units="dimensionless"}
> alpha_fCa ={id="alpha_fCa_calculation"} 1.0{units="dimensionless"} /
> (1.0{units="dimensionless"} + power(Cai / 0.000325{units="mM"},
> 8.0{units="dimensionless"}))
> beta_fCa ={id="beta_fCa_calculation"} 0.1{units="dimensionless"} /
> (1.0{units="dimensionless"} + exp((Cai - 0.0005{units="mM"}) /
> 0.0001{units="mM"}))
> gamma_fCa ={id="gamma_fCa_calculation"} 0.2{units="dimensionless"} /
> (1.0{units="dimensionless"} + exp((Cai - 0.00075{units="mM"}) /
> 0.0008{units="mM"}))
> d(fCa)/d(time) ={id="dfCa_dt"} piecewise(case fCa_infinity > fCa & V >
> -60.0{units="mV"} then 0.0{units="per_ms"} else (fCa_infinity - fCa) /
> tau_fCa)
> ==== Component IpCa ====
> IpCa ={id="i_pCa_calculation"} g_pCa * Cai / (K_pCa + Cai)
> ==== Component INaCa ====
> INaCa ={id="Na_Ca_exchanger"} k_NaCa * (exp((gamma * V * F) / R * T) *
> power(Nai, 3.0{units="dimensionless"}) * Cao - exp(((gamma -
> 1.0{units="dimensionless"}) * V * F) / R * T) * power(Nao,
> 3.0{units="dimensionless"}) * Cai * alpha) / (power(K_mNai,
> 3.0{units="dimensionless"}) + power(Nao, 3.0{units="dimensionless"})) *
> (K_mCa + Cao) * (1.0{units="dimensionless"} + k_sat * exp(((gamma -
> 1.0{units="dimensionless"}) * V * F) / R * T))
> ==== Component IbCa ====
> IbCa ={id="i_bCa_calculation"} g_bCa * (V - E_Ca)
> ==== Component sodium_dynamics ====
> d( Nai )/d(time) ={id="Nai_total_diff"} (Am / vC * F ) * ( INa +
> IbNa + INaK * 3.0 {units="dimensionless"} + INaCa * 3.0
> {units="dimensionless"})
> ==== Component potassium_dynamics ====
> d( Ki )/d(time) ={id="Ki_total_diff"} (Am / vC * F ) * (( IK1 +
> Ito + IKr + IKs + IpK ) - INaK * 2.0 {units="dimensionless"} +
> Istim)
> ==== Component calcium_dynamics ====
> aCai = -1.0{units="dimensionless"}
> bCai = Cai_total + Kbufc + Bufc
> cCai = Bufc * Cai_total
> Cai_buf = (root(power(bCai, 2.0{units="dimensionless"}) -
> 4.0{units="dimensionless"} * aCai * cCai) - bCai) /
> 2.0{units="dimensionless"} * aCai
> Cai = Cai_total - Cai_buf
> d( Cai_total )/d(time) ={id="Cai_total_diff"} (Jleak + Jrel) - Jup + (Am
> / vC * 2.0{units="dimensionless"} * F ) * ((ICaL + IbCa + IpCa) -
> 2.0{units="dimensionless"} * INaCa)
> aCaSR = -1.0{units="dimensionless"}
> bCaSR = CaSR_total + Kbufsr + Bufsr
> cCaSR = Bufsr * CaSR_total
> CaSR_buf = (root(power(bCaSR, 2.0{units="dimensionless"}) -
> 4.0{units="dimensionless"} * aCaSR * cCaSR) - bCaSR) /
> 2.0{units="dimensionless"} * aCaSR
> CaSR = CaSR_total - CaSR_buf
> d( CaSR_total )/d(time) ={id="CaSR_total_diff"} (vC / vSR) * (Jup -
> Jleak + Jrel)
> ==== Component Jleak ====
> Jleak ={id="Jleak_calculation"} V_leak * (CaSR - Cai)
> ==== Component Jup ====
> Jup ={id="Jup_calculation"} Vmax_up / (1.0{units="dimensionless"} +
> power(K_up, 2.0{units="dimensionless"}) / power(Cai,
> 2.0{units="dimensionless"}))
> ==== Component Jrel ====
> Jrel ={id="j_rel_calculation"} (a_rel * power(CaSR,
> 2.0{units="dimensionless"}) / (power(b_rel, 2.0{units="dimensionless"})
> + power(CaSR, 2.0{units="dimensionless"})) + c_rel) * d * g
> ==== Component g_gate ====
> g_infinity ={id="g_infinity_calculation"} piecewise(case Cai <=
> 0.00035{units="mM"} then 1.0{units="dimensionless"} /
> (1.0{units="dimensionless"} + power(Cai, 6.0{units="dimensionless"}) /
> power(0.00035{units="mM"}, 6.0{units="dimensionless"})) else
> 1.0{units="dimensionless"} / (1.0{units="dimensionless"} + power(Cai,
> 16.0{units="dimensionless"}) / power(0.00035{units="mM"},
> 16.0{units="dimensionless"})))
> d(g)/d(time) ={id="dg_dt"} piecewise(case g_infinity > g & V >
> -60.0{units="mV"} then 0.0{units="per_ms"} else (g_infinity - g) / tau_g)
> ==== Component stimulus_protocol ====
> IStim ={id="stimulus_calculation"} piecewise(case rem(time, stimPeriod)
> < stimDuration then stimCurrent / Am else 0.0{units="uA_per_mmsq"})
>
> Winslow et. al., 1999:
> === Summary of Equations ===
> ==== Component environment ====
> ==== Component membrane ====
> d( V )/d( time ) ={id="membrane_voltage_diff_eq"} ( i_Na + i_Ca +
> i_Ca_K + i_Kr + i_Ks + i_to1 + i_K1 + i_Kp + i_NaCa +
> i_NaK + i_p_Ca + i_Na_b + i_Ca_b )
> ==== Component fast_sodium_current ====
> i_Na ={id="i_Na_calculation"} g_Na * power( m , 3.0
> {units="dimensionless"}) * h * j * ( V - E_Na )
> E_Na ={id="E_Na_calculation"} (( R * T ) / F ) * ln( Nao / Nai )
> ==== Component fast_sodium_current_m_gate ====
> alpha_m ={id="alpha_m_calculation"} ( 0.32
> {units="per_millivolt_millisecond"} * ( V + 47.13
> {units="millivolt"})) / ( 1.0 {units="dimensionless"} - exp( -0.1
> {units="per_millivolt"} * ( V + 47.13 {units="millivolt"})))
> beta_m ={id="beta_m_calculation"} 0.08 {units="per_millisecond"} *
> exp(( V ) / 11.0 {units="millivolt"})
> d( m )/d( time ) ={id="dm_dt"} alpha_m * ( 1.0 {units="dimensionless"}
> - m ) - beta_m * m
> ==== Component fast_sodium_current_h_gate ====
> alpha_h ={id="alpha_h_calculation"} piecewise(case V < -40.0
> {units="millivolt"} then 0.135 {units="per_millisecond"} * exp(( 80.0
> {units="millivolt"} + V ) / -6.8 {units="millivolt"}) else 0.0
> {units="per_millisecond"})
> beta_h ={id="beta_h_calculation"} piecewise(case V < -40.0
> {units="millivolt"} then 3.56 {units="per_millisecond"} * exp( 0.079
> {units="millivolt"} * V ) + 310000.0 {units="per_millisecond"} * exp(
> 0.35 {units="per_millivolt"} * V ) else 1.0 {units="dimensionless"} /
> 0.13 {units="millisecond"} * ( 1.0 {units="dimensionless"} + exp(( V +
> 10.66 {units="millivolt"}) / -11.1 {units="millivolt"})))
> d( h )/d( time ) ={id="dh_dt"} alpha_h * ( 1.0 {units="dimensionless"}
> - h ) - beta_h * h
> ==== Component fast_sodium_current_j_gate ====
> alpha_j ={id="alpha_j_calculation"} piecewise(case V < -40.0
> {units="millivolt"} then ( -127140.0
> {units="per_millivolt_millisecond"} * exp( 0.2444
> {units="per_millivolt"} * V ) - 0.00003474
> {units="per_millivolt_millisecond"} * exp( -0.04391
> {units="per_millivolt"} * V )) * ( V + 37.78 {units="millivolt"}) / (
> 1.0 {units="dimensionless"} + exp( 0.311 {units="per_millivolt"} * ( V
> + 79.23 {units="millivolt"}))) else 0.0 {units="per_millisecond"})
> beta_j ={id="beta_j_calculation"} piecewise(case V < -40.0
> {units="millivolt"} then ( 0.1212 {units="per_millisecond"} * exp(
> -0.01052 {units="per_millivolt"} * V )) / ( 1.0 {units="dimensionless"}
> + exp( -0.1378 {units="per_millivolt"} * ( V + 40.14
> {units="millivolt"}))) else ( 0.3 {units="per_millisecond"} * exp(
> -0.0000002535 {units="per_millivolt"} * V )) / ( 1.0
> {units="dimensionless"} + exp( -0.1 {units="per_millivolt"} * ( V +
> 32.0 {units="millivolt"}))))
> d( j )/d( time ) ={id="dj_dt"} alpha_j * ( 1.0 {units="dimensionless"}
> - j ) - beta_j * j
> ==== Component rapid_activating_delayed_rectifiyer_K_current ====
> E_K ={id="E_K_calculation"} (( R * T ) / F ) * ln( Ko / Ki )
> i_Kr ={id="i_Kr_calculation"} g_Kr * f_Ko * R_V * X_kr * ( V
> - E_K )
> f_Ko ={id="f_Ko_calculation"} root( Ko / 4.0 {units="millimolar"})
> R_V ={id="R_V_calculation"} 1.0 {units="dimensionless"} / ( 1.0
> {units="dimensionless"} + 1.4945 {units="dimensionless"} * exp( 0.0446
> {units="dimensionless"} * V ))
> ==== Component rapid_activating_delayed_rectifiyer_K_current_X_kr_gate ====
> d( X_kr )/d( time ) ={id="X_kr_diff_eq"} K12 * ( 1.0
> {units="dimensionless"} - X_kr ) - K12 * X_kr
> K12 ={id="K12_calculation"} exp( -5.495 {units="dimensionless"} +
> 0.169 {units="dimensionless"} * V )
> K21 ={id="K21_calculation"} exp( -7.677 {units="dimensionless"} -
> 0.0128 {units="dimensionless"} * V )
> ==== Component slow_activating_delayed_rectifiyer_K_current ====
> i_Ks ={id="i_Ks_calculation"} g_Ks * power( X_ks , 2.0
> {units="dimensionless"}) * ( V - E_Ks )
> E_Ks ={id="E_Ks_calculation"} (( R * T ) / F ) * ln(( Ko +
> 0.01833 {units="dimensionless"} * Nao ) / ( Ki + 0.01833
> {units="dimensionless"} * Nai ))
> ==== Component slow_activating_delayed_rectifiyer_K_current_X_ks_gate ====
> d( X_ks )/d( time ) ={id="X_ks_diff_eq"} ( X_ks_infinity - X_ks ) /
> tau_X_ks
> X_ks_infinity ={id="X_ks_infinity_calculation"} 1.0
> {units="dimensionless"} / ( 1.0 {units="dimensionless"} + exp((( V -
> 24.7 {units="millivolt"})) / 13.6 {units="millivolt"}))
> tau_X_ks ={id="tau_X_ks_calculation"} 1.0 {units="dimensionless"} /
> (( 0.0000719 {units="dimensionless"} * ( V - 10.0
> {units="millivolt"})) / ( 1.0 {units="dimensionless"} - exp( -0.148
> {units="dimensionless"} * ( V - 10.0 {units="millivolt"}))) + (
> 0.000131 {units="dimensionless"} * ( V - 10.0 {units="millivolt"})) /
> (exp( 0.0687 {units="dimensionless"} * ( V - 10.0
> {units="millivolt"})) - 1.0 {units="dimensionless"}))
> ==== Component transient_outward_potassium_current ====
> i_to1 ={id="i_to1_calculation"} g_to1 * X_to1 * Y_to1 * ( V -
> E_K )
> ==== Component transient_outward_potassium_current_X_to1_gate ====
> d( X_to1 )/d( time ) ={id="dX_to1_dt"} alpha_X_to1 * ( 1.0
> {units="dimensionless"} - X_to1 ) - beta_X_to1 * X_to1
> alpha_X_to1 ={id="alpha_X_to1_calculation"} 0.04561
> {units="per_millisecond"} * exp( 0.03577 {units="dimensionless"} * V )
> beta_X_to1 ={id="beta_X_to1_calculation"} 0.0989
> {units="per_millisecond"} * exp( -0.06237 {units="dimensionless"} * V )
> ==== Component transient_outward_potassium_current_Y_to1_gate ====
> d( Y_to1 )/d( time ) ={id="dY_to1_dt"} alpha_Y_to1 * ( 1.0
> {units="dimensionless"} - Y_to1 ) - beta_Y_to1 * Y_to1
> alpha_Y_to1 ={id="alpha_Y_to1_calculation"} ( 0.005415
> {units="per_millisecond"} * exp(( V + 33.5 {units="millivolt"}) / 5.0
> {units="millivolt"})) / ( 1.0 {units="dimensionless"} + 0.051335
> {units="dimensionless"} * exp(( V + 33.5 {units="millivolt"}) / 5.0
> {units="millivolt"}))
> beta_Y_to1 ={id="beta_Y_to1_calculation"} ( 0.005415
> {units="per_millisecond"} * exp(( V + 33.5 {units="millivolt"}) / 5.0
> {units="millivolt"})) / ( 1.0 {units="dimensionless"} + 0.051335
> {units="dimensionless"} * exp(( V + 33.5 {units="millivolt"}) / 5.0
> {units="millivolt"}))
> ==== Component time_independent_potassium_current ====
> i_K1 ={id="i_K1_calculation"} g_K1 * K1_infinity_V * Ko / ( Ko
> + K_mK1 ) * ( V - E_K )
> ==== Component time_independent_potassium_current_K1_gate ====
> K1_infinity_V ={id="alpha_K1_calculation"} 1.0
> {units="dimensionless"} / ( 2.0 {units="dimensionless"} + exp( 1.5
> {units="dimensionless"} * F / R * T * ( V - E_K )))
> ==== Component plateau_potassium_current ====
> i_Kp ={id="i_Kp_calculation"} g_Kp * Kp_V * ( V - E_K )
> ==== Component plateau_potassium_current_Kp_gate ====
> Kp_V ={id="Kp_V_calculation"} 1.0 {units="dimensionless"} / ( 1.0
> {units="dimensionless"} + exp(( 7.488 {units="millivolt"} - V ) / 5.98
> {units="millivolt"}))
> ==== Component Na_Ca_exchanger ====
> i_NaCa ={id="Na_Ca_exchanger"} K_NaCa * 5000.0
> {units="dimensionless"} / (power( K_mNa , 3.0 {units="dimensionless"})
> + power( Nao , 3.0 {units="dimensionless"})) * 1.0
> {units="dimensionless"} / ( K_mCa + Cao ) * 1.0
> {units="dimensionless"} / ( 1.0 {units="dimensionless"} + K_sat *
> exp(( eta - 1.0 {units="dimensionless"}) * V * F / R * T )) *
> (exp( eta * V * F / R * T ) * power( Nai , 3.0
> {units="dimensionless"}) * Cao - exp(( eta - 1.0
> {units="dimensionless"}) * V * F / R * T ) * power( Nao , 3.0
> {units="dimensionless"}) * Cai )
> ==== Component sodium_potassium_pump ====
> f_NaK ={id="f_NaK_calculation"} 1.0 {units="dimensionless"} / (( 1.0
> {units="dimensionless"} + 0.1245 {units="dimensionless"} * exp( -0.1
> {units="dimensionless"} * ( V * F ) / R * T )) + 0.0365
> {units="dimensionless"} * sigma * exp(( V * F ) / R * T ))
> sigma ={id="sigma_calculation"} ( 1.0 {units="dimensionless"} / 7.0
> {units="dimensionless"}) * (exp( Nao / 67.3 {units="dimensionless"})
> - 1.0 {units="dimensionless"})
> i_NaK ={id="i_NaK_calculation"} I_NaK * f_NaK * 1.0
> {units="dimensionless"} / ( 1.0 {units="dimensionless"} + power( K_mNai
> / Nai , 1.5 {units="dimensionless"})) * Ko / ( Ko + K_mKo )
> ==== Component sarcolemmal_calcium_pump ====
> i_p_Ca ={id="i_p_Ca_calculation"} I_pCa * Cai / ( K_mpCa + Cai )
> ==== Component calcium_background_current ====
> E_Ca ={id="E_Ca_calculation"} (( R * T ) / 2.0
> {units="dimensionless"} * F ) * ln( Cao / Cai )
> i_Ca_b ={id="i_Ca_b_calculation"} g_Cab * ( V - E_Ca )
> ==== Component sodium_background_current ====
> i_Na_b ={id="i_Na_b_calculation"} g_Nab * ( V - E_Na )
> ==== Component L_type_Ca_current ====
> i_Ca ={id="i_Ca_calculation"} i_Ca_max * y * ( O + O_Ca )
> i_Ca_K ={id="i_Ca_K_calculation"} ( p_k / C_sc ) * y * ( O +
> O_Ca ) * ( V * power( F , 2.0 {units="dimensionless"})) / R * T *
> ( Ki * exp(( V * F ) / R * T ) - Ko ) / (exp(( V * F ) / R *
> T ) - 1.0 {units="dimensionless"})
> p_k ={id="p_k_calculation"} P_K / ( 1.0 {units="dimensionless"} +
> i_Ca_max / i_Ca_half )
> i_Ca_max ={id="i_Ca_max_calculation"} ( P_Ca / C_sc ) * ( 4.0
> {units="dimensionless"} * V * power( F , 2.0
> {units="dimensionless"})) / R * T * ( 0.001 {units="dimensionless"}
> * exp(( 2.0 {units="dimensionless"} * V * F ) / R * T ) - 0.341
> {units="dimensionless"} * Cao ) / (exp(( 2.0 {units="dimensionless"} *
> V * F ) / R * T ) - 1.0 {units="dimensionless"})
> alpha ={id="alpha_calculation"} 0.4 {units="per_millisecond"} * exp((
> V + 2.0 {units="millivolt"}) / 10.0 {units="millivolt"})
> beta ={id="beta_calculation"} 0.05 {units="per_millisecond"} * exp(((
> V + 2.0 {units="millivolt"})) / 13.0 {units="millivolt"})
> alpha_a ={id="alpha_a_calculation"} alpha * a
> beta_b ={id="beta_b_calculation"} beta / b
> gamma ={id="gamma_calculation"} 0.10375 {units="dimensionless"} * Ca_ss
> d( C0 )/d( time ) ={id="C0_diff_eq"} ( beta * C1 + omega * C_Ca0 )
> - ( 4.0 {units="dimensionless"} * alpha + gamma ) * C0
> d( C1 )/d( time ) ={id="C1_diff_eq"} ( 4.0 {units="dimensionless"} *
> alpha * C0 + 2.0 {units="dimensionless"} * beta * C2 + ( omega
> / b ) * C_Ca1 ) - ( beta + 3.0 {units="dimensionless"} * alpha +
> gamma * a ) * C1
> d( C2 )/d( time ) ={id="C2_diff_eq"} ( 3.0 {units="dimensionless"} *
> alpha * C1 + 3.0 {units="dimensionless"} * beta * C3 + ( omega
> / power( b , 2.0 {units="dimensionless"})) * C_Ca2 ) - ( beta * 2.0
> {units="dimensionless"} + 2.0 {units="dimensionless"} * alpha +
> gamma * power( a , 2.0 {units="dimensionless"})) * C2
> d( C3 )/d( time ) ={id="C3_diff_eq"} ( 2.0 {units="dimensionless"} *
> alpha * C2 + 4.0 {units="dimensionless"} * beta * C4 + ( omega
> / power( b , 3.0 {units="dimensionless"})) * C_Ca3 ) - ( beta * 3.0
> {units="dimensionless"} + alpha + gamma * power( a , 3.0
> {units="dimensionless"})) * C3
> d( C4 )/d( time ) ={id="C4_diff_eq"} ( alpha * C3 + g * O + (
> omega / power( b , 4.0 {units="dimensionless"})) * C_Ca4 ) - ( beta
> * 4.0 {units="dimensionless"} + f + gamma * power( a , 4.0
> {units="dimensionless"})) * C4
> d( O )/d( time ) ={id="O_diff_eq"} f * C4 - g * O
> d( C_Ca0 )/d( time ) ={id="C_Ca0_diff_eq"} ( beta_b * C_Ca1 + gamma
> * C_Ca0 ) - ( 4.0 {units="dimensionless"} * alpha_a + omega ) * C_Ca0
> d( C_Ca1 )/d( time ) ={id="C_Ca1_diff_eq"} ( 4.0 {units="dimensionless"}
> * alpha_a * C_Ca0 + 2.0 {units="dimensionless"} * beta_b *
> C_Ca2 + gamma * a * C1 ) - ( beta_b + 3.0
> {units="dimensionless"} * alpha_a + omega / b ) * C_Ca1
> d( C_Ca2 )/d( time ) ={id="C_Ca2_diff_eq"} ( 3.0 {units="dimensionless"}
> * alpha_a * C_Ca1 + 3.0 {units="dimensionless"} * beta_b *
> C_Ca3 + gamma * power( a , 2.0 {units="dimensionless"}) * C2 ) - (
> beta_b * 2.0 {units="dimensionless"} + 2.0 {units="dimensionless"} *
> alpha_a + omega / power( b , 2.0 {units="dimensionless"})) * C_Ca2
> d( C_Ca3 )/d( time ) ={id="C_Ca3_diff_eq"} ( 2.0 {units="dimensionless"}
> * alpha_a * C_Ca2 + 4.0 {units="dimensionless"} * beta_b *
> C_Ca4 + gamma * power( a , 3.0 {units="dimensionless"}) * C3 ) - (
> beta_b * 3.0 {units="dimensionless"} + alpha_a + omega / power( b
> , 3.0 {units="dimensionless"})) * C_Ca3
> d( C_Ca4 )/d( time ) ={id="C_Ca4_diff_eq"} ( alpha_a * C_Ca3 + g_
> * O_Ca + gamma * power( a , 4.0 {units="dimensionless"}) * C4 ) -
> ( beta_b * 4.0 {units="dimensionless"} + f_ + omega / power( b ,
> 4.0 {units="dimensionless"})) * C_Ca4
> d( O_Ca )/d( time ) ={id="O_Ca_diff_eq"} f_ * C_Ca4 - g_ * O_Ca
> ==== Component L_type_Ca_current_y_gate ====
> d( y )/d( time ) ={id="y_diff_eq"} ( y_infinity - y ) / tau_y
> y_infinity ={id="y_infinity_calculation"} 0.8 {units="dimensionless"}
> / ( 1.0 {units="dimensionless"} + exp(( V + 12.5 {units="millivolt"})
> / 5.0 {units="millivolt"})) + 0.2 {units="dimensionless"}
> tau_y ={id="tau_y_calculation"} 20.0 {units="dimensionless"} + 600.0
> {units="dimensionless"} / ( 1.0 {units="dimensionless"} + exp(( V +
> 20.0 {units="millivolt"}) / 9.5 {units="millivolt"}))
> ==== Component RyR_channel ====
> d( P_C1 )/d( time ) ={id="P_C1_diff_eq"} ( k_a_plus ) * power( Ca_ss ,
> n ) * P_C1 + k_a_minus * P_O1
> d( P_O1 )/d( time ) ={id="P_O1_diff_eq"} ( k_a_plus * power( Ca_ss , n
> ) * P_C1 - k_a_minus * P_O1 + k_b_plus * power( Ca_ss , m ) *
> P_O1 + k_c_plus * P_O1 ) + k_b_minus * P_O2 + k_c_minus * P_C2
> d( P_O2 )/d( time ) ={id="P_O2_diff_eq"} k_b_plus * power( Ca_ss , m
> ) * P_O1 - k_b_minus * P_O2
> d( P_C2 )/d( time ) ={id="P_C2_diff_eq"} k_c_plus * P_O1 -
> k_c_minus * P_C2
> J_rel ={id="J_rel_calculation"} v1 * ( P_O1 + P_O2 ) * ( Ca_JSR
> - Ca_ss )
> ==== Component SERCA2a_pump ====
> J_up ={id="J_up_calculation"} K_SR * ( Vmaxf * fb - Vmaxr * rb
> ) / ( 1.0 {units="dimensionless"} + fb + rb )
> fb ={id="fb_calculation"} power( Cai / K_fb , N_fb )
> rb ={id="rb_calculation"} power( Ca_NSR / K_rb , N_rb )
> ==== Component intracellular_Ca_fluxes ====
> J_tr ={id="J_tr_calculation"} ( Ca_NSR - Ca_JSR ) / tau_tr
> J_xfer ={id="J_xfer_calculation"} ( Ca_ss - Cai ) / tau_xfer
> J_trpn ={id="J_trpn_calculation"} J_HTRPNCa + J_LTRPNCa
> J_HTRPNCa ={id="J_HTRPNCa_calculation"} d( HTRPNCa )/d( time )
> d( HTRPNCa )/d( time ) ={id="HTRPNCa_diff_eq"} k_htrpn_plus * Cai *
> ( HTRPN_tot - HTRPNCa ) - k_htrpn_minus * HTRPNCa
> J_LTRPNCa ={id="J_LTRPNCa_calculation"} d( LTRPNCa )/d( time )
> d( LTRPNCa )/d( time ) ={id="LTRPNCa_diff_eq"} k_ltrpn_plus * Cai *
> ( LTRPN_tot - LTRPNCa ) - k_ltrpn_minus * LTRPNCa
> ==== Component intracellular_ion_concentrations ====
> d( Cai )/d( time ) ={id="Cai_diff_eq"} beta_i * ( J_xfer - J_up +
> J_trpn + (( i_Ca_b - 2.0 {units="dimensionless"} * i_NaCa ) +
> i_p_Ca ) * ( A_cap * C_sc ) / 2.0 {units="dimensionless"} * V_myo
> * F )
> d( Nai )/d( time ) ={id="Nai_diff_eq"} (( i_Na + i_Na_b + i_NaCa *
> 3.0 {units="dimensionless"} + i_NaK * 3.0 {units="dimensionless"})) *
> ( A_cap * C_sc ) / V_myo * F
> d( Ki )/d( time ) ={id="Ki_internal_diff_eq"} (( i_Ca_K + i_Kr +
> i_Ks + i_K1 + i_Kp + i_to1 + i_NaK * -2.0
> {units="dimensionless"})) * ( A_cap * C_sc ) / V_myo * F
> beta_i ={id="beta_i_calculation"} 1.0 {units="dimensionless"} / ( 1.0
> {units="dimensionless"} + ( CMDN_tot * K_mCMDN ) / ( K_mCMDN + power(
> Cai , 2.0 {units="dimensionless"})))
> beta_SS ={id="beta_SS_calculation"} 1.0 {units="dimensionless"} / (
> 1.0 {units="dimensionless"} + ( CMDN_tot * K_mCMDN ) / ( K_mCMDN +
> power( Ca_ss , 2.0 {units="dimensionless"})))
> beta_JSR ={id="beta_JSR_calculation"} 1.0 {units="dimensionless"} / (
> 1.0 {units="dimensionless"} + ( CSQN_tot * K_mCSQN ) / ( K_mCSQN +
> power( Ca_JSR , 2.0 {units="dimensionless"})))
> d( Ca_ss )/d( time ) ={id="Ca_ss_diff_eq"} beta_SS * (( J_rel *
> V_JSR / V_SS - J_xfer * V_myo / V_SS ) - i_Ca * ( A_cap *
> C_sc ) / 2.0 {units="dimensionless"} * V_SS * F )
> d( Ca_JSR )/d( time ) ={id="Ca_JSR_diff_eq"} beta_JSR * ( J_tr - J_rel )
> d( Ca_NSR )/d( time ) ={id="Ca_NSR_diff_eq"} J_up * V_myo / V_NSR
> - J_tr * V_JSR / V_NSR
> ==== Component standard_ionic_concentrations ====
>
> If you would like to see the results for another CellML model, please
> ask me (I will be putting out a PCEnv snapshot with the Summarise
> Equations mode soon too, so you could also use this yourself).
>
> Best regards,
> Andrew
>
> _______________________________________________
> cellml-discussion mailing list
> cellml-discussion at cellml.org
> http://www.cellml.org/mailman/listinfo/cellml-discussion

--
David Nickerson, PhD
Research Fellow
Division of Bioengineering
Faculty of Engineering
National University of Singapore
Email: david.nickerson at nus.edu.sg




Archive powered by MHonArc 2.6.18.

Top of page