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 15 entries in the algebraic variable array.
C There are a total of 6 entries in each of the rate and state variable arrays.
C There are a total of 33 entries in the constant variable array.
C
C
C VOI is time in component environment (second).
C STATES(1) is V in component membrane (millivolt).
C CONSTS(1) is R in component membrane (millijoule_per_mole_kelvin).
C CONSTS(2) is T in component membrane (kelvin).
C CONSTS(3) is F in component membrane (coulomb_per_mole).
C CONSTS(4) is Cm in component membrane (microF_per_cm2).
C ALGBRC(12) is i_K_dr in component delayed_rectifier_K_channel_current (nanoA_per_cm2).
C ALGBRC(13) is i_K_Ca in component Ca_sensitive_K_current (nanoA_per_cm2).
C ALGBRC(14) is i_K_ATP in component ATP_sensitive_K_current (nanoA_per_cm2).
C ALGBRC(5) is i_fast in component fast_current (nanoA_per_cm2).
C ALGBRC(10) is i_Ca in component calcium_current (nanoA_per_cm2).
C ALGBRC(11) is i_NS in component cationic_nonselective_inward_current (nanoA_per_cm2).
C ALGBRC(15) is i_NaL in component Na_leak_current (nanoA_per_cm2).
C CONSTS(5) is g_fast in component fast_current (microS_per_cm2).
C CONSTS(6) is V_fast in component fast_current (millivolt).
C ALGBRC(1) is m_infinity in component fast_current_m_gate (dimensionless).
C STATES(2) is h in component fast_current_h_gate (dimensionless).
C CONSTS(7) is Vm in component fast_current_m_gate (millivolt).
C CONSTS(8) is Sm in component fast_current_m_gate (millivolt).
C CONSTS(9) is lamda_h in component fast_current_h_gate (per_second).
C ALGBRC(6) is tau_h in component fast_current_h_gate (second).
C ALGBRC(2) is h_infinity in component fast_current_h_gate (dimensionless).
C CONSTS(10) is Vh in component fast_current_h_gate (millivolt).
C CONSTS(11) is Sh in component fast_current_h_gate (millivolt).
C CONSTS(12) is K_Ca in component calcium_current (micromolar).
C CONSTS(13) is P_Ca in component calcium_current (nanoA_per_micromolar_per_cm2).
C CONSTS(14) is Ca_o in component calcium_current (micromolar).
C STATES(3) is Ca_i in component cytosolic_calcium (micromolar).
C ALGBRC(9) is f_infinity in component calcium_current_f_gate (dimensionless).
C STATES(4) is d in component calcium_current_d_gate (dimensionless).
C CONSTS(15) is lamda_d in component calcium_current_d_gate (per_second).
C ALGBRC(7) is tau_d in component calcium_current_d_gate (second).
C ALGBRC(3) is d_infinity in component calcium_current_d_gate (dimensionless).
C CONSTS(16) is Vd in component calcium_current_d_gate (millivolt).
C CONSTS(17) is Sd in component calcium_current_d_gate (millivolt).
C CONSTS(18) is g_NS in component cationic_nonselective_inward_current (microS_per_cm2).
C CONSTS(19) is K_NS in component cationic_nonselective_inward_current (micromolar).
C CONSTS(20) is VNS in component cationic_nonselective_inward_current (millivolt).
C STATES(5) is Ca_lum in component cytosolic_calcium (micromolar).
C CONSTS(21) is V_K in component delayed_rectifier_K_channel_current (millivolt).
C CONSTS(22) is g_K_dr in component delayed_rectifier_K_channel_current (microS_per_cm2).
C STATES(6) is n in component delayed_rectifier_K_channel_current_n_gate (dimensionless).
C CONSTS(23) is lamda_n in component delayed_rectifier_K_channel_current_n_gate (per_second).
C CONSTS(24) is Vn in component delayed_rectifier_K_channel_current_n_gate (millivolt).
C CONSTS(25) is Sn in component delayed_rectifier_K_channel_current_n_gate (millivolt).
C ALGBRC(4) is n_infinity in component delayed_rectifier_K_channel_current_n_gate (dimensionless).
C ALGBRC(8) is tau_n in component delayed_rectifier_K_channel_current_n_gate (second).
C CONSTS(26) is g_K_Ca in component Ca_sensitive_K_current (microS_per_cm2).
C CONSTS(27) is g_K_ATP in component ATP_sensitive_K_current (microS_per_cm2).
C CONSTS(28) is g_NaL in component Na_leak_current (microS_per_cm2).
C CONSTS(29) is V_Na in component Na_leak_current (millivolt).
C CONSTS(30) is k_rel in component cytosolic_calcium (per_second).
C CONSTS(31) is k_Ca in component cytosolic_calcium (per_second).
C CONSTS(32) is k_pump in component cytosolic_calcium (per_second).
C CONSTS(33) is omega in component cytosolic_calcium (micromolar_cm2_per_nanoA_per_second).
C RATES(1) is d/dt V in component membrane (millivolt).
C RATES(2) is d/dt h in component fast_current_h_gate (dimensionless).
C RATES(4) is d/dt d in component calcium_current_d_gate (dimensionless).
C RATES(6) is d/dt n in component delayed_rectifier_K_channel_current_n_gate (dimensionless).
C RATES(3) is d/dt Ca_i in component cytosolic_calcium (micromolar).
C RATES(5) is d/dt Ca_lum in component cytosolic_calcium (micromolar).
C
      SUBROUTINE initConsts(CONSTS, RATES, STATES)
      REAL CONSTS(*), RATES(*), STATES(*)
      STATES(1) = -38.34146
      CONSTS(1) = 8314
      CONSTS(2) = 310
      CONSTS(3) = 96485
      CONSTS(4) = 1
      CONSTS(5) = 600
      CONSTS(6) = 80
      STATES(2) = 0.214723
      CONSTS(7) = -25
      CONSTS(8) = 9
      CONSTS(9) = 12.5
      CONSTS(10) = -48
      CONSTS(11) = -7
      CONSTS(12) = 1
      CONSTS(13) = 2
      CONSTS(14) = 2500
      STATES(3) = 0.6959466
      STATES(4) = 0.0031711238
      CONSTS(15) = 2.5
      CONSTS(16) = -10
      CONSTS(17) = 5
      CONSTS(18) = 5
      CONSTS(19) = 50
      CONSTS(20) = -20
      STATES(5) = 102.686
      CONSTS(21) = -75
      CONSTS(22) = 600
      STATES(6) = 0.1836403
      CONSTS(23) = 12.5
      CONSTS(24) = -18
      CONSTS(25) = 14
      CONSTS(26) = 5
      CONSTS(27) = 2
      CONSTS(28) = 0.3
      CONSTS(29) = 80
      CONSTS(30) = 0.2
      CONSTS(31) = 7
      CONSTS(32) = 30
      CONSTS(33) = 0.2
      RETURN
      END
      SUBROUTINE computeRates(VOI, CONSTS,  RATES, STATES, ALGBRC)
      REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*)
      RATES(5) =  - CONSTS(30)*(STATES(5) - STATES(3))+ CONSTS(32)*STATES(3)
      ALGBRC(6) = 1.00000/( CONSTS(9)*(EXP((CONSTS(10) - STATES(1))/( 2.00000*CONSTS(11)))+EXP((STATES(1) - CONSTS(10))/( 2.00000*CONSTS(11)))))
      ALGBRC(2) = 1.00000/(1.00000+EXP((CONSTS(10) - STATES(1))/CONSTS(11)))
      RATES(2) = (ALGBRC(2) - STATES(2))/ALGBRC(6)
      ALGBRC(7) = 1.00000/( CONSTS(15)*(EXP((CONSTS(16) - STATES(1))/( 2.00000*CONSTS(17)))+EXP((STATES(1) - CONSTS(16))/( 2.00000*CONSTS(17)))))
      ALGBRC(3) = 1.00000/(1.00000+EXP((CONSTS(16) - STATES(1))/CONSTS(17)))
      RATES(4) = (ALGBRC(3) - STATES(4))/ALGBRC(7)
      ALGBRC(4) = 1.00000/(1.00000+EXP((CONSTS(24) - STATES(1))/CONSTS(25)))
      ALGBRC(8) = 1.00000/( CONSTS(23)*(EXP((CONSTS(24) - STATES(1))/( 2.00000*CONSTS(25)))+EXP((STATES(1) - CONSTS(24))/( 2.00000*CONSTS(25)))))
      RATES(6) = (ALGBRC(4) - STATES(6))/ALGBRC(8)
      ALGBRC(9) = CONSTS(12)/(CONSTS(12)+STATES(3))
      ALGBRC(10) = ( (( CONSTS(13)*STATES(4)*ALGBRC(9)*2.00000*CONSTS(3)*STATES(1))/( CONSTS(1)*CONSTS(2)))*(CONSTS(14) -  STATES(3)*EXP(( 2.00000*CONSTS(3)*STATES(1))/( CONSTS(1)*CONSTS(2)))))/(1.00000 - EXP(( 2.00000*CONSTS(3)*STATES(1))/( CONSTS(1)*CONSTS(2))))
      RATES(3) =  CONSTS(30)*(STATES(5) - STATES(3)) - ( CONSTS(33)*ALGBRC(10)+ CONSTS(31)*STATES(3)+ CONSTS(32)*STATES(3))
      ALGBRC(12) =  CONSTS(22)*STATES(6) ** 4.00000*(STATES(1) - CONSTS(21))
      ALGBRC(13) =  (( CONSTS(26)*STATES(3) ** 3.00000)/(CONSTS(12) ** 3.00000+STATES(3) ** 3.00000))*(STATES(1) - CONSTS(21))
      ALGBRC(14) =  CONSTS(27)*(STATES(1) - CONSTS(21))
      ALGBRC(1) = 1.00000/(1.00000+EXP((CONSTS(7) - STATES(1))/CONSTS(8)))
      ALGBRC(5) =  CONSTS(5)*ALGBRC(1) ** 3.00000*STATES(2)*(STATES(1) - CONSTS(6))
      ALGBRC(11) =  (( CONSTS(18)*CONSTS(19) ** 2.00000)/(CONSTS(19) ** 2.00000+STATES(5) ** 2.00000))*((STATES(1) - CONSTS(20))/(1.00000 - EXP( 0.100000*(CONSTS(20) - STATES(1)))) - 10.0000)
      ALGBRC(15) =  CONSTS(28)*(STATES(1) - CONSTS(29))
      RATES(1) = - (ALGBRC(12)+ALGBRC(13)+ALGBRC(14)+ALGBRC(5)+ALGBRC(10)+ALGBRC(11)+ALGBRC(15))/CONSTS(4)
      RETURN
      END
      SUBROUTINE computeVariables(VOI, CONSTS, RATES, STATES, ALGBRC)
      REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*)
      ALGBRC(6) = 1.00000/( CONSTS(9)*(EXP((CONSTS(10) - STATES(1))/( 2.00000*CONSTS(11)))+EXP((STATES(1) - CONSTS(10))/( 2.00000*CONSTS(11)))))
      ALGBRC(2) = 1.00000/(1.00000+EXP((CONSTS(10) - STATES(1))/CONSTS(11)))
      ALGBRC(7) = 1.00000/( CONSTS(15)*(EXP((CONSTS(16) - STATES(1))/( 2.00000*CONSTS(17)))+EXP((STATES(1) - CONSTS(16))/( 2.00000*CONSTS(17)))))
      ALGBRC(3) = 1.00000/(1.00000+EXP((CONSTS(16) - STATES(1))/CONSTS(17)))
      ALGBRC(4) = 1.00000/(1.00000+EXP((CONSTS(24) - STATES(1))/CONSTS(25)))
      ALGBRC(8) = 1.00000/( CONSTS(23)*(EXP((CONSTS(24) - STATES(1))/( 2.00000*CONSTS(25)))+EXP((STATES(1) - CONSTS(24))/( 2.00000*CONSTS(25)))))
      ALGBRC(9) = CONSTS(12)/(CONSTS(12)+STATES(3))
      ALGBRC(10) = ( (( CONSTS(13)*STATES(4)*ALGBRC(9)*2.00000*CONSTS(3)*STATES(1))/( CONSTS(1)*CONSTS(2)))*(CONSTS(14) -  STATES(3)*EXP(( 2.00000*CONSTS(3)*STATES(1))/( CONSTS(1)*CONSTS(2)))))/(1.00000 - EXP(( 2.00000*CONSTS(3)*STATES(1))/( CONSTS(1)*CONSTS(2))))
      ALGBRC(12) =  CONSTS(22)*STATES(6) ** 4.00000*(STATES(1) - CONSTS(21))
      ALGBRC(13) =  (( CONSTS(26)*STATES(3) ** 3.00000)/(CONSTS(12) ** 3.00000+STATES(3) ** 3.00000))*(STATES(1) - CONSTS(21))
      ALGBRC(14) =  CONSTS(27)*(STATES(1) - CONSTS(21))
      ALGBRC(1) = 1.00000/(1.00000+EXP((CONSTS(7) - STATES(1))/CONSTS(8)))
      ALGBRC(5) =  CONSTS(5)*ALGBRC(1) ** 3.00000*STATES(2)*(STATES(1) - CONSTS(6))
      ALGBRC(11) =  (( CONSTS(18)*CONSTS(19) ** 2.00000)/(CONSTS(19) ** 2.00000+STATES(5) ** 2.00000))*((STATES(1) - CONSTS(20))/(1.00000 - EXP( 0.100000*(CONSTS(20) - STATES(1)))) - 10.0000)
      ALGBRC(15) =  CONSTS(28)*(STATES(1) - CONSTS(29))
      RETURN
      END