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
