Generated Code

The following is f77 code generated by the CellML API from this CellML file. (Back to language selection)

The raw code is available.

C
C There are a total of 17 entries in the algebraic variable array.
C There are a total of 7 entries in each of the rate and state variable arrays.
C There are a total of 40 entries in the constant variable array.
C
C
C VOI is time in component environment (millisecond).
C CONSTS(1) is V_cell in component environment (picoL).
C CONSTS(2) is Ca_e in component environment (millimolar).
C CONSTS(3) is K_e in component environment (millimolar).
C CONSTS(4) is K_i in component environment (millimolar).
C CONSTS(5) is V_tau in component environment (millivolt).
C CONSTS(6) is k_tau in component environment (millivolt).
C STATES(1) is V in component membrane (millivolt).
C CONSTS(7) is R in component membrane (joule_per_kilomole_kelvin).
C CONSTS(8) is T in component membrane (kelvin).
C CONSTS(9) is F in component membrane (coulomb_per_mole).
C CONSTS(10) is Cm in component membrane (picoF).
C ALGBRC(6) is i_Ca_L in component L_type_calcium_current (picoA).
C ALGBRC(9) is i_Ca_T in component T_type_calcium_current (picoA).
C ALGBRC(12) is i_K_DR in component voltage_sensitive_K_current (picoA).
C ALGBRC(14) is i_K_Ca in component Ca_activated_K_current (picoA).
C ALGBRC(16) is i_leak in component leak_current (picoA).
C ALGBRC(1) is phi_Ca in component L_type_calcium_current (millivolt_millimolar).
C CONSTS(11) is g_Ca_L in component L_type_calcium_current (nanoS_per_millimolar).
C STATES(2) is Ca_i in component cytosolic_calcium (millimolar).
C STATES(3) is m_L in component L_type_calcium_current_m_gate (dimensionless).
C ALGBRC(2) is m_L_infinity in component L_type_calcium_current_m_gate (dimensionless).
C ALGBRC(7) is tau_m_L in component L_type_calcium_current_m_gate (millisecond).
C CONSTS(12) is tau_m_L_max in component L_type_calcium_current_m_gate (millisecond).
C CONSTS(13) is V_m_L in component L_type_calcium_current_m_gate (millivolt).
C CONSTS(14) is k_m_L in component L_type_calcium_current_m_gate (millivolt).
C CONSTS(15) is g_Ca_T in component T_type_calcium_current (nanoS_per_millimolar).
C STATES(4) is m_T in component T_type_calcium_current_m_gate (dimensionless).
C STATES(5) is h_T in component T_type_calcium_current_h_gate (dimensionless).
C ALGBRC(3) is m_T_infinity in component T_type_calcium_current_m_gate (dimensionless).
C ALGBRC(8) is tau_m_T in component T_type_calcium_current_m_gate (millisecond).
C CONSTS(16) is tau_m_T_max in component T_type_calcium_current_m_gate (millisecond).
C CONSTS(17) is V_m_T in component T_type_calcium_current_m_gate (millivolt).
C CONSTS(18) is k_m_T in component T_type_calcium_current_m_gate (millivolt).
C ALGBRC(4) is h_T_infinity in component T_type_calcium_current_h_gate (dimensionless).
C CONSTS(19) is tau_h_T in component T_type_calcium_current_h_gate (millisecond).
C CONSTS(20) is V_h_T in component T_type_calcium_current_h_gate (millivolt).
C CONSTS(21) is k_h_T in component T_type_calcium_current_h_gate (millivolt).
C ALGBRC(10) is phi_K in component voltage_sensitive_K_current (millivolt_millimolar).
C CONSTS(22) is g_K_DR in component voltage_sensitive_K_current (nanoS_per_millimolar).
C STATES(6) is n in component voltage_sensitive_K_current_n_gate (dimensionless).
C ALGBRC(5) is n_infinity in component voltage_sensitive_K_current_n_gate (dimensionless).
C CONSTS(23) is tau_n in component voltage_sensitive_K_current_n_gate (millisecond).
C CONSTS(24) is V_n in component voltage_sensitive_K_current_n_gate (millivolt).
C CONSTS(25) is k_n in component voltage_sensitive_K_current_n_gate (millivolt).
C CONSTS(26) is g_K_Ca in component Ca_activated_K_current (nanoS_per_millimolar).
C CONSTS(27) is Kc in component Ca_activated_K_current (millimolar).
C CONSTS(28) is g_L in component leak_current (nanoS).
C CONSTS(29) is V_L in component leak_current (millivolt).
C STATES(7) is Ca_er in component ER_calcium (millimolar).
C ALGBRC(11) is J_rel in component ER_calcium (millimolar_picoL_per_millisecond).
C ALGBRC(13) is J_up in component ER_calcium (millimolar_picoL_per_millisecond).
C CONSTS(39) is V_er in component ER_calcium (picoL).
C CONSTS(30) is K_er in component ER_calcium (millimolar).
C CONSTS(31) is f_er in component ER_calcium (dimensionless).
C CONSTS(32) is P in component ER_calcium (picoL_per_millisecond).
C CONSTS(33) is v_er in component ER_calcium (millimolar_picoL_per_millisecond).
C CONSTS(40) is V_c in component cytosolic_calcium (picoL).
C CONSTS(34) is K_p in component cytosolic_calcium (millimolar).
C CONSTS(35) is f_cyt in component cytosolic_calcium (dimensionless).
C CONSTS(36) is v_p in component cytosolic_calcium (millimolar_micrometre_per_millisecond).
C ALGBRC(15) is J_in in component cytosolic_calcium (millimolar_micrometre_per_millisecond).
C ALGBRC(17) is J_eff in component cytosolic_calcium (millimolar_micrometre_per_millisecond).
C CONSTS(37) is alpha in component cytosolic_calcium (millimolar_micrometre_per_millisecond_per_picoA).
C CONSTS(38) is beta in component cytosolic_calcium (per_micrometre).
C RATES(1) is d/dt V in component membrane (millivolt).
C RATES(3) is d/dt m_L in component L_type_calcium_current_m_gate (dimensionless).
C RATES(4) is d/dt m_T in component T_type_calcium_current_m_gate (dimensionless).
C RATES(5) is d/dt h_T in component T_type_calcium_current_h_gate (dimensionless).
C RATES(6) is d/dt n in component voltage_sensitive_K_current_n_gate (dimensionless).
C RATES(7) is d/dt Ca_er in component ER_calcium (millimolar).
C RATES(2) is d/dt Ca_i in component cytosolic_calcium (millimolar).
C
      SUBROUTINE initConsts(CONSTS, RATES, STATES)
      REAL CONSTS(*), RATES(*), STATES(*)
      CONSTS(1) = 1.77
      CONSTS(2) = 20
      CONSTS(3) = 5.6
      CONSTS(4) = 140
      CONSTS(5) = -60
      CONSTS(6) = 22
      STATES(1) = -70
      CONSTS(7) = 8314
      CONSTS(8) = 310
      CONSTS(9) = 96845
      CONSTS(10) = 7
      CONSTS(11) = 9
      STATES(2) = 0.00026
      STATES(3) = 0
      CONSTS(12) = 27
      CONSTS(13) = -18
      CONSTS(14) = 12
      CONSTS(15) = 10
      STATES(4) = 0
      STATES(5) = 0
      CONSTS(16) = 10
      CONSTS(17) = -30
      CONSTS(18) = 10.5
      CONSTS(19) = 15
      CONSTS(20) = -57
      CONSTS(21) = 5
      CONSTS(22) = 0.1
      STATES(6) = 0
      CONSTS(23) = 20
      CONSTS(24) = -20
      CONSTS(25) = 4.5
      CONSTS(26) = 0.09
      CONSTS(27) = 0.0004
      CONSTS(28) = 0.3
      CONSTS(29) = -67
      STATES(7) = 0.0172
      CONSTS(30) = 0.0002
      CONSTS(31) = 0.0025
      CONSTS(32) = 0.0012
      CONSTS(33) = 0.00005
      CONSTS(34) = 0.00008
      CONSTS(35) = 0.01
      CONSTS(36) = 0.000045
      CONSTS(37) = 0.0000074
      CONSTS(38) = 0.47
      CONSTS(39) =  CONSTS(1)*0.150000
      CONSTS(40) =  CONSTS(1)*0.850000
      RETURN
      END
      SUBROUTINE computeRates(VOI, CONSTS,  RATES, STATES, ALGBRC)
      REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*)
      ALGBRC(4) = 1.00000/(1.00000+EXP((STATES(1) - CONSTS(20))/CONSTS(21)))
      RATES(5) = (ALGBRC(4) - STATES(5))/CONSTS(19)
      ALGBRC(5) = 1.00000/(1.00000+EXP((CONSTS(24) - STATES(1))/CONSTS(25)))
      RATES(6) = (ALGBRC(5) - STATES(6))/CONSTS(23)
      ALGBRC(2) = 1.00000/(1.00000+EXP((CONSTS(13) - STATES(1))/CONSTS(14)))
      ALGBRC(7) = CONSTS(12)/(EXP((STATES(1) - CONSTS(5))/CONSTS(6))+ 2.00000*EXP(( 2.00000*(CONSTS(5) - STATES(1)))/CONSTS(6)))
      RATES(3) = (ALGBRC(2) - STATES(3))/ALGBRC(7)
      ALGBRC(3) = 1.00000/(1.00000+EXP((CONSTS(17) - STATES(1))/CONSTS(18)))
      ALGBRC(8) = CONSTS(16)/(EXP((STATES(1) - CONSTS(5))/CONSTS(6))+ 2.00000*EXP(( 2.00000*(CONSTS(5) - STATES(1)))/CONSTS(6)))
      RATES(4) = (ALGBRC(3) - STATES(4))/ALGBRC(8)
      ALGBRC(11) =  CONSTS(32)*(STATES(7) - STATES(2))
      ALGBRC(13) = ( CONSTS(33)*STATES(2) ** 2.00000)/(STATES(2) ** 2.00000+CONSTS(30) ** 2.00000)
      RATES(7) =  (- CONSTS(31)/CONSTS(39))*(ALGBRC(11) - ALGBRC(13))
      ALGBRC(1) = ( STATES(1)*(STATES(2) - CONSTS(2))*EXP(( - 2.00000*CONSTS(9)*STATES(1))/( CONSTS(7)*CONSTS(8))))/(1.00000 - EXP(( - 2.00000*CONSTS(9)*STATES(1))/( CONSTS(7)*CONSTS(8))))
      ALGBRC(6) =  CONSTS(11)*STATES(3) ** 2.00000*ALGBRC(1)
      ALGBRC(9) =  CONSTS(15)*STATES(4) ** 2.00000*STATES(5)*ALGBRC(1)
      ALGBRC(10) = ( STATES(1)*(CONSTS(4) - CONSTS(3))*EXP(( - 1.00000*CONSTS(9)*STATES(1))/( CONSTS(7)*CONSTS(8))))/(1.00000 - EXP(( - 1.00000*CONSTS(9)*STATES(1))/( CONSTS(7)*CONSTS(8))))
      ALGBRC(12) =  CONSTS(22)*STATES(6)*ALGBRC(10)
      ALGBRC(14) =  (( CONSTS(26)*STATES(2) ** 4.00000)/(STATES(2) ** 4.00000+CONSTS(27) ** 4.00000))*ALGBRC(10)
      ALGBRC(16) =  CONSTS(28)*(STATES(1) - CONSTS(29))
      RATES(1) = - (ALGBRC(6)+ALGBRC(9)+ALGBRC(12)+ALGBRC(14)+ALGBRC(16))/CONSTS(10)
      ALGBRC(15) =  - CONSTS(37)*(ALGBRC(6)+ALGBRC(9))
      ALGBRC(17) = ( CONSTS(36)*STATES(2) ** 2.00000)/(STATES(2) ** 2.00000+CONSTS(34) ** 2.00000)
      RATES(2) =  (CONSTS(35)/CONSTS(40))*(ALGBRC(11) - ALGBRC(13))+ CONSTS(35)*CONSTS(38)*(ALGBRC(15) - ALGBRC(17))
      RETURN
      END
      SUBROUTINE computeVariables(VOI, CONSTS, RATES, STATES, ALGBRC)
      REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*)
      ALGBRC(4) = 1.00000/(1.00000+EXP((STATES(1) - CONSTS(20))/CONSTS(21)))
      ALGBRC(5) = 1.00000/(1.00000+EXP((CONSTS(24) - STATES(1))/CONSTS(25)))
      ALGBRC(2) = 1.00000/(1.00000+EXP((CONSTS(13) - STATES(1))/CONSTS(14)))
      ALGBRC(7) = CONSTS(12)/(EXP((STATES(1) - CONSTS(5))/CONSTS(6))+ 2.00000*EXP(( 2.00000*(CONSTS(5) - STATES(1)))/CONSTS(6)))
      ALGBRC(3) = 1.00000/(1.00000+EXP((CONSTS(17) - STATES(1))/CONSTS(18)))
      ALGBRC(8) = CONSTS(16)/(EXP((STATES(1) - CONSTS(5))/CONSTS(6))+ 2.00000*EXP(( 2.00000*(CONSTS(5) - STATES(1)))/CONSTS(6)))
      ALGBRC(11) =  CONSTS(32)*(STATES(7) - STATES(2))
      ALGBRC(13) = ( CONSTS(33)*STATES(2) ** 2.00000)/(STATES(2) ** 2.00000+CONSTS(30) ** 2.00000)
      ALGBRC(1) = ( STATES(1)*(STATES(2) - CONSTS(2))*EXP(( - 2.00000*CONSTS(9)*STATES(1))/( CONSTS(7)*CONSTS(8))))/(1.00000 - EXP(( - 2.00000*CONSTS(9)*STATES(1))/( CONSTS(7)*CONSTS(8))))
      ALGBRC(6) =  CONSTS(11)*STATES(3) ** 2.00000*ALGBRC(1)
      ALGBRC(9) =  CONSTS(15)*STATES(4) ** 2.00000*STATES(5)*ALGBRC(1)
      ALGBRC(10) = ( STATES(1)*(CONSTS(4) - CONSTS(3))*EXP(( - 1.00000*CONSTS(9)*STATES(1))/( CONSTS(7)*CONSTS(8))))/(1.00000 - EXP(( - 1.00000*CONSTS(9)*STATES(1))/( CONSTS(7)*CONSTS(8))))
      ALGBRC(12) =  CONSTS(22)*STATES(6)*ALGBRC(10)
      ALGBRC(14) =  (( CONSTS(26)*STATES(2) ** 4.00000)/(STATES(2) ** 4.00000+CONSTS(27) ** 4.00000))*ALGBRC(10)
      ALGBRC(16) =  CONSTS(28)*(STATES(1) - CONSTS(29))
      ALGBRC(15) =  - CONSTS(37)*(ALGBRC(6)+ALGBRC(9))
      ALGBRC(17) = ( CONSTS(36)*STATES(2) ** 2.00000)/(STATES(2) ** 2.00000+CONSTS(34) ** 2.00000)
      RETURN
      END