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 19 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 42 entries in the constant variable array.
C
C
C VOI is time in component environment (s).
C STATES(1) is F6P in component F6P (mM).
C ALGBRC(1) is V_hk in component V_hk (mM_per_s).
C ALGBRC(13) is V_pfk in component V_pfk (mM_per_s).
C ALGBRC(19) is V_pfk2 in component V_pfk2 (mM_per_s).
C STATES(2) is F26P in component F26P (mM).
C STATES(3) is GAP in component GAP (mM).
C ALGBRC(11) is V_pk in component V_pk (mM_per_s).
C STATES(4) is PYR in component PYR (mM).
C ALGBRC(2) is V_ldh in component V_ldh (mM_per_s).
C ALGBRC(6) is V_op in component V_op (mM_per_s).
C STATES(5) is LAC in component LAC (mM).
C ALGBRC(17) is V_lac in component V_lac (mM_per_s).
C STATES(6) is ATP in component ATP (mM).
C ALGBRC(16) is V_ATPase in component V_ATPase (mM_per_s).
C ALGBRC(7) is V_ck in component V_ck (mM_per_s).
C ALGBRC(8) is dAMP_dATP in component dAMP_dATP (dimensionless).
C STATES(7) is PCr in component PCr (mM).
C CONSTS(1) is Vmax_hk in component V_hk (mM_per_s).
C CONSTS(2) is Km_ATP_hk in component V_hk (mM).
C CONSTS(3) is KI_F6P in component V_hk (mM).
C CONSTS(4) is Vmax_pfk in component V_pfk (mM_per_s).
C CONSTS(5) is Km_ATP_pfk in component V_pfk (mM).
C CONSTS(6) is Km_F6P_pfk in component V_pfk (mM).
C CONSTS(7) is Km_F26P_pfk in component V_pfk (mM).
C ALGBRC(12) is AMP_act in component AMP_act (dimensionless).
C ALGBRC(10) is ATP_inh in component ATP_inh (dimensionless).
C CONSTS(8) is Vmaxf_pfk2 in component V_pfk2 (mM_per_s).
C CONSTS(9) is Vmaxr_pfk2 in component V_pfk2 (mM_per_s).
C CONSTS(10) is Km_ATP_pfk2 in component V_pfk2 (mM).
C CONSTS(11) is Km_F6P_pfk2 in component V_pfk2 (mM).
C CONSTS(12) is Km_F26P_pfk2 in component V_pfk2 (mM).
C ALGBRC(18) is AMP_pfk2 in component AMP_pfk2 (dimensionless).
C CONSTS(13) is Vmax_pk in component V_pk (mM_per_s).
C CONSTS(14) is Km_ADP_pk in component V_pk (mM).
C CONSTS(15) is Km_GAP_pk in component V_pk (mM).
C ALGBRC(5) is ADP in component ADP (mM).
C CONSTS(16) is Vmax_op in component V_op (mM_per_s).
C CONSTS(17) is Km_ADP_op in component V_op (mM).
C CONSTS(18) is Km_PYR_op in component V_op (mM).
C CONSTS(19) is kf_ldh in component V_ldh (per_s).
C CONSTS(20) is kr_ldh in component V_ldh (per_s).
C CONSTS(21) is kf_ck in component V_ck (per_mM_s).
C CONSTS(22) is kr_ck in component V_ck (per_mM_s).
C ALGBRC(3) is Cr in component Cr (mM).
C CONSTS(23) is PCrtot in component Cr (mM).
C CONSTS(24) is Vmax_ATPase in component V_ATPase (mM_per_s).
C CONSTS(25) is Km_ATP in component V_ATPase (mM).
C ALGBRC(15) is v_stim in component v_stim (dimensionless).
C CONSTS(26) is Vlac_0 in component V_lac (mM_per_s).
C CONSTS(27) is K_LAC_eff in component V_lac (per_s).
C CONSTS(28) is K_LAC in component V_lac (dimensionless).
C ALGBRC(4) is u in component ADP (dimensionless).
C CONSTS(29) is ANP in component model_parameters (mM).
C CONSTS(30) is Q_adk in component model_parameters (dimensionless).
C ALGBRC(9) is AMP in component AMP (mM).
C CONSTS(31) is nATP in component ATP_inh (dimensionless).
C CONSTS(32) is KI_ATP in component ATP_inh (mM).
C CONSTS(33) is nAMP in component AMP_act (dimensionless).
C CONSTS(34) is Ka_AMP in component AMP_act (mM).
C ALGBRC(14) is unitpulseSB in component v_stim (dimensionless).
C CONSTS(35) is stim in component v_stim (dimensionless).
C CONSTS(36) is to in component v_stim (s).
C CONSTS(37) is tend in component v_stim (s).
C CONSTS(38) is v1_n in component v_stim (dimensionless).
C CONSTS(39) is v2_n in component v_stim (dimensionless).
C CONSTS(40) is t_n_stim in component v_stim (s).
C CONSTS(41) is Kamp_pfk2 in component AMP_pfk2 (mM).
C CONSTS(42) is nh_amp in component AMP_pfk2 (dimensionless).
C RATES(1) is d/dt F6P in component F6P (mM).
C RATES(2) is d/dt F26P in component F26P (mM).
C RATES(3) is d/dt GAP in component GAP (mM).
C RATES(4) is d/dt PYR in component PYR (mM).
C RATES(5) is d/dt LAC in component LAC (mM).
C RATES(6) is d/dt ATP in component ATP (mM).
C RATES(7) is d/dt PCr in component PCr (mM).
C
      SUBROUTINE initConsts(CONSTS, RATES, STATES)
      REAL CONSTS(*), RATES(*), STATES(*)
      STATES(1) = 0.2
      STATES(2) = 0.001
      STATES(3) = 0.0405
      STATES(4) = 0.1
      STATES(5) = 0.5
      STATES(6) = 2.402
      STATES(7) = 18.14
      CONSTS(1) = 2.5
      CONSTS(2) = 0.5
      CONSTS(3) = 0.068
      CONSTS(4) = 3.85
      CONSTS(5) = 0.05
      CONSTS(6) = 0.18
      CONSTS(7) = 0.01
      CONSTS(8) = 0
      CONSTS(9) = 0
      CONSTS(10) = 0.05
      CONSTS(11) = 0.01
      CONSTS(12) = 0.0001
      CONSTS(13) = 5.0
      CONSTS(14) = 0.005
      CONSTS(15) = 0.4
      CONSTS(16) = 1.0
      CONSTS(17) = 0.005
      CONSTS(18) = 0.5
      CONSTS(19) = 0
      CONSTS(20) = 0
      CONSTS(21) = 0
      CONSTS(22) = 0
      CONSTS(23) = 20.0
      CONSTS(24) = 0.9355
      CONSTS(25) = 0.5
      CONSTS(26) = 0.355
      CONSTS(27) = 0.71
      CONSTS(28) = 0.641
      CONSTS(29) = 2.51
      CONSTS(30) = 0.92
      CONSTS(31) = 0.4
      CONSTS(32) = 1.0
      CONSTS(33) = 0.5
      CONSTS(34) = 0.05
      CONSTS(35) = 1
      CONSTS(36) = 50
      CONSTS(37) = 200
      CONSTS(38) = 0.5
      CONSTS(39) = 0.0
      CONSTS(40) = 2
      CONSTS(41) = 0.005
      CONSTS(42) = 2
      RETURN
      END
      SUBROUTINE computeRates(VOI, CONSTS,  RATES, STATES, ALGBRC)
      REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*)
      ALGBRC(4) = CONSTS(30) ** 2.00000+ 4.00000*CONSTS(30)*(CONSTS(29)/STATES(6) - 1.00000)
      ALGBRC(5) =  (STATES(6)/2.00000)*(- CONSTS(30)+ ALGBRC(4) ** (1.0 / 2))
      ALGBRC(3) = CONSTS(23) - STATES(7)
      ALGBRC(7) =  CONSTS(21)*STATES(7)*ALGBRC(5) -  CONSTS(22)*ALGBRC(3)*STATES(6)
      RATES(7) = - ALGBRC(7)
      ALGBRC(10) = (1.00000+ CONSTS(31)*(STATES(6)/CONSTS(32)))/(1.00000+STATES(6)/CONSTS(32)) ** 4.00000
      ALGBRC(11) =  CONSTS(13)*(STATES(3)/(STATES(3)+CONSTS(15)))*(ALGBRC(5)/(ALGBRC(5)+CONSTS(14)))*ALGBRC(10)
      ALGBRC(2) =  CONSTS(19)*STATES(4) -  CONSTS(20)*STATES(5)
      ALGBRC(6) =  CONSTS(16)*(STATES(4)/(STATES(4)+CONSTS(18)))*(ALGBRC(5)/(ALGBRC(5)+CONSTS(17)))*(1.00000/(1.00000+ 0.100000*24.0000))
      RATES(4) = ALGBRC(11) - (ALGBRC(6)+ALGBRC(2))
      ALGBRC(9) = CONSTS(29) - (STATES(6)+ALGBRC(5))
      ALGBRC(12) = (1.00000+ALGBRC(9)/CONSTS(34))/(1.00000+ CONSTS(33)*(ALGBRC(9)/CONSTS(34))) ** 4.00000
      ALGBRC(13) =  CONSTS(4)*(STATES(1)/(STATES(1)+CONSTS(6)))*(STATES(6)/(STATES(6)+CONSTS(5)))*(STATES(2)/(STATES(2)+CONSTS(7)))*ALGBRC(10)*ALGBRC(12)
      RATES(3) =  2.00000*ALGBRC(13) - ALGBRC(11)
      ALGBRC(14) = TERNRY(VOI.GE.CONSTS(36).AND.VOI.LE.CONSTS(36)+CONSTS(37), 1.00000, 0.00000)
      ALGBRC(15) =  CONSTS(35)*(CONSTS(38)+ CONSTS(39)*((VOI - CONSTS(36))/CONSTS(40))*EXP(- ( (VOI - CONSTS(36))*(ALGBRC(14)/CONSTS(40)))))*ALGBRC(14)
      ALGBRC(17) =  CONSTS(26)*(1.00000+ ALGBRC(15)*CONSTS(28)) -  CONSTS(27)*STATES(5)
      RATES(5) =  2.25000*ALGBRC(2)+ALGBRC(17)
      ALGBRC(1) =  CONSTS(1)*(STATES(6)/(STATES(6)+CONSTS(2)))*1.00000+STATES(1)/CONSTS(3) ** 4.00000 ** -1.00000
      ALGBRC(18) = ALGBRC(9)/CONSTS(41) ** CONSTS(42)/(1.00000+ALGBRC(9)/CONSTS(41) ** CONSTS(42))
      ALGBRC(19) =  CONSTS(8)*(STATES(6)/(STATES(6)+CONSTS(10)))*(STATES(1)/(STATES(1)+CONSTS(11)))*ALGBRC(18) -  CONSTS(9)*(STATES(2)/(STATES(2)+CONSTS(12)))
      RATES(1) = ALGBRC(1) - (ALGBRC(13) - ALGBRC(19))
      RATES(2) = ALGBRC(19)
      ALGBRC(16) =  CONSTS(24)*(STATES(6)/(STATES(6)+CONSTS(25)))*(1.00000+ALGBRC(15))
      ALGBRC(8) = - 1.00000+CONSTS(30)/2.00000+- ( 0.500000* ALGBRC(4) ** (1.0 / 2))+ CONSTS(30)*(CONSTS(29)/( STATES(6)* ALGBRC(4) ** (1.0 / 2)))
      RATES(6) =  (( 2.00000*ALGBRC(11)+ 15.0000*ALGBRC(6)+ALGBRC(7)) - (ALGBRC(1)+ALGBRC(13)+ALGBRC(19)+ALGBRC(16)))*1.00000 - ALGBRC(8) ** -1.00000
      RETURN
      END
      SUBROUTINE computeVariables(VOI, CONSTS, RATES, STATES, ALGBRC)
      REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*)
      ALGBRC(4) = CONSTS(30) ** 2.00000+ 4.00000*CONSTS(30)*(CONSTS(29)/STATES(6) - 1.00000)
      ALGBRC(5) =  (STATES(6)/2.00000)*(- CONSTS(30)+ ALGBRC(4) ** (1.0 / 2))
      ALGBRC(3) = CONSTS(23) - STATES(7)
      ALGBRC(7) =  CONSTS(21)*STATES(7)*ALGBRC(5) -  CONSTS(22)*ALGBRC(3)*STATES(6)
      ALGBRC(10) = (1.00000+ CONSTS(31)*(STATES(6)/CONSTS(32)))/(1.00000+STATES(6)/CONSTS(32)) ** 4.00000
      ALGBRC(11) =  CONSTS(13)*(STATES(3)/(STATES(3)+CONSTS(15)))*(ALGBRC(5)/(ALGBRC(5)+CONSTS(14)))*ALGBRC(10)
      ALGBRC(2) =  CONSTS(19)*STATES(4) -  CONSTS(20)*STATES(5)
      ALGBRC(6) =  CONSTS(16)*(STATES(4)/(STATES(4)+CONSTS(18)))*(ALGBRC(5)/(ALGBRC(5)+CONSTS(17)))*(1.00000/(1.00000+ 0.100000*24.0000))
      ALGBRC(9) = CONSTS(29) - (STATES(6)+ALGBRC(5))
      ALGBRC(12) = (1.00000+ALGBRC(9)/CONSTS(34))/(1.00000+ CONSTS(33)*(ALGBRC(9)/CONSTS(34))) ** 4.00000
      ALGBRC(13) =  CONSTS(4)*(STATES(1)/(STATES(1)+CONSTS(6)))*(STATES(6)/(STATES(6)+CONSTS(5)))*(STATES(2)/(STATES(2)+CONSTS(7)))*ALGBRC(10)*ALGBRC(12)
      ALGBRC(14) = TERNRY(VOI.GE.CONSTS(36).AND.VOI.LE.CONSTS(36)+CONSTS(37), 1.00000, 0.00000)
      ALGBRC(15) =  CONSTS(35)*(CONSTS(38)+ CONSTS(39)*((VOI - CONSTS(36))/CONSTS(40))*EXP(- ( (VOI - CONSTS(36))*(ALGBRC(14)/CONSTS(40)))))*ALGBRC(14)
      ALGBRC(17) =  CONSTS(26)*(1.00000+ ALGBRC(15)*CONSTS(28)) -  CONSTS(27)*STATES(5)
      ALGBRC(1) =  CONSTS(1)*(STATES(6)/(STATES(6)+CONSTS(2)))*1.00000+STATES(1)/CONSTS(3) ** 4.00000 ** -1.00000
      ALGBRC(18) = ALGBRC(9)/CONSTS(41) ** CONSTS(42)/(1.00000+ALGBRC(9)/CONSTS(41) ** CONSTS(42))
      ALGBRC(19) =  CONSTS(8)*(STATES(6)/(STATES(6)+CONSTS(10)))*(STATES(1)/(STATES(1)+CONSTS(11)))*ALGBRC(18) -  CONSTS(9)*(STATES(2)/(STATES(2)+CONSTS(12)))
      ALGBRC(16) =  CONSTS(24)*(STATES(6)/(STATES(6)+CONSTS(25)))*(1.00000+ALGBRC(15))
      ALGBRC(8) = - 1.00000+CONSTS(30)/2.00000+- ( 0.500000* ALGBRC(4) ** (1.0 / 2))+ CONSTS(30)*(CONSTS(29)/( STATES(6)* ALGBRC(4) ** (1.0 / 2)))
      RETURN
      END
      REAL FUNCTION TERNRY(TEST, VALA, VALB)
      LOGICAL TEST
      REAL VALA, VALB
      IF (TEST) THEN
        TERNRY = VALA
      ELSE
        TERNRY = VALB
      ENDIF
      RETURN
      END