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 33 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 47 entries in the constant variable array.
C
C
C VOI is time in component Environment (ms).
C STATES(1) is NADHm in component Mitochondrial_variables (mM).
C ALGBRC(16) is Jpdh in component J_variables (uM_per_ms).
C ALGBRC(9) is Jo in component J_variables (uM_per_ms).
C CONSTS(1) is gamma in component Mitochondrial_variables (dimensionless).
C ALGBRC(1) is NADm in component Mitochondrial_variables (mM).
C STATES(2) is ADPm in component Mitochondrial_variables (mM).
C STATES(3) is PSIm in component Mitochondrial_variables (mV).
C STATES(4) is Cam in component Mitochondrial_variables (uM).
C CONSTS(2) is NADtot in component Mitochondrial_variables (mM).
C CONSTS(3) is fm in component Mitochondrial_variables (dimensionless).
C CONSTS(4) is Cmito in component Mitochondrial_variables (uM_per_mV).
C CONSTS(5) is Amtot in component Mitochondrial_variables (mM).
C ALGBRC(2) is ATPm in component Mitochondrial_variables (mM).
C ALGBRC(6) is RATm in component Mitochondrial_variables (dimensionless).
C ALGBRC(33) is Jant in component J_variables (uM_per_ms).
C ALGBRC(32) is Jf1f0 in component J_variables (uM_per_ms).
C ALGBRC(26) is Jh_res in component J_variables (uM_per_ms).
C ALGBRC(30) is Jh_atp in component J_variables (uM_per_ms).
C ALGBRC(21) is Jh_leak in component J_variables (uM_per_ms).
C ALGBRC(19) is Jnaca in component J_variables (uM_per_ms).
C ALGBRC(17) is Juni in component J_variables (uM_per_ms).
C ALGBRC(22) is Jmito in component J_variables (uM_per_ms).
C STATES(5) is c in component Clamp_protocol (uM).
C ALGBRC(10) is ATPc in component Cytosol (mM).
C STATES(6) is ADPc in component Cytosol (uM).
C CONSTS(6) is Ac_tot in component Cytosol (uM).
C CONSTS(7) is khyd in component Cytosol (dimensionless).
C CONSTS(8) is Jhydbas in component Cytosol (mM).
C ALGBRC(14) is Jh_yd in component Cytosol (mM).
C CONSTS(47) is delta in component Cytosol (dimensionless).
C ALGBRC(11) is Fproto in component Clamp_parameters (uM).
C ALGBRC(29) is Cproto in component Clamp_parameters (uM).
C STATES(7) is FBP in component Clamp_protocol (uM).
C CONSTS(9) is Fhold in component Clamp_parameters (uM).
C CONSTS(10) is Ftest in component Clamp_parameters (uM).
C CONSTS(11) is Fton in component Clamp_parameters (ms).
C CONSTS(12) is Ftoff in component Clamp_parameters (ms).
C CONSTS(13) is Chold in component Clamp_parameters (uM).
C CONSTS(14) is Ctest in component Clamp_parameters (uM).
C CONSTS(15) is Cton1 in component Clamp_parameters (ms).
C CONSTS(16) is Cton2 in component Clamp_parameters (ms).
C CONSTS(17) is Cton3 in component Clamp_parameters (ms).
C CONSTS(18) is Ctoff1 in component Clamp_parameters (ms).
C CONSTS(19) is Ctoff2 in component Clamp_parameters (ms).
C CONSTS(20) is Ctoff3 in component Clamp_parameters (ms).
C ALGBRC(18) is pulse1 in component Clamp_parameters (uM).
C ALGBRC(23) is pulse2 in component Clamp_parameters (uM).
C ALGBRC(27) is pulse3 in component Clamp_parameters (uM).
C ALGBRC(3) is heav_on in component Clamp_parameters (dimensionless).
C ALGBRC(7) is heav_off in component Clamp_parameters (dimensionless).
C ALGBRC(4) is heav_Cton1 in component Clamp_parameters (dimensionless).
C ALGBRC(8) is heav_Cton2 in component Clamp_parameters (dimensionless).
C ALGBRC(12) is heav_Cton3 in component Clamp_parameters (dimensionless).
C ALGBRC(15) is heav_Ctoff1 in component Clamp_parameters (dimensionless).
C ALGBRC(20) is heav_Ctoff2 in component Clamp_parameters (dimensionless).
C ALGBRC(25) is heav_Ctoff3 in component Clamp_parameters (dimensionless).
C ALGBRC(13) is Jgpdh in component J_variables (uM_per_ms).
C CONSTS(21) is p1 in component Parameters (dimensionless).
C CONSTS(22) is p2 in component Parameters (dimensionless).
C CONSTS(23) is p3 in component Parameters (uM).
C CONSTS(24) is p21 in component Parameters (per_uM_per_ms_per_mV).
C CONSTS(25) is p22 in component Parameters (per_uM_per_ms).
C CONSTS(26) is p23 in component Parameters (uM_per_ms).
C CONSTS(27) is p24 in component Parameters (per_mV).
C CONSTS(28) is p4 in component Parameters (uM_per_ms).
C CONSTS(29) is p5 in component Parameters (mM).
C CONSTS(30) is p6 in component Parameters (mV).
C CONSTS(31) is p7 in component Parameters (mV).
C CONSTS(32) is p8 in component Parameters (uM_per_ms).
C CONSTS(33) is p9 in component Parameters (mM).
C CONSTS(34) is p10 in component Parameters (mV).
C CONSTS(35) is p11 in component Parameters (mV).
C CONSTS(36) is p12 in component Parameters (uM_per_ms).
C CONSTS(37) is p13 in component Parameters (mM).
C CONSTS(38) is p14 in component Parameters (mV).
C CONSTS(39) is p15 in component Parameters (mV).
C CONSTS(40) is p16 in component Parameters (uM_per_ms).
C CONSTS(41) is p17 in component Parameters (uM_per_ms_per_mV).
C CONSTS(42) is p18 in component Parameters (uM_per_ms).
C CONSTS(43) is p19 in component Parameters (uM_per_ms).
C CONSTS(44) is p20 in component Parameters (dimensionless).
C ALGBRC(5) is MM1 in component J_variables (uM_per_ms).
C ALGBRC(24) is MM2 in component J_variables (uM_per_ms).
C ALGBRC(28) is b13 in component J_variables (uM_per_ms).
C ALGBRC(31) is b2 in component J_variables (uM_per_ms).
C CONSTS(45) is FRT in component J_variables (per_mV).
C CONSTS(46) is kgpdh in component J_variables (uM_per_ms).
C RATES(1) is d/dt NADHm in component Mitochondrial_variables (mM).
C RATES(2) is d/dt ADPm in component Mitochondrial_variables (mM).
C RATES(3) is d/dt PSIm in component Mitochondrial_variables (mV).
C RATES(4) is d/dt Cam in component Mitochondrial_variables (uM).
C RATES(6) is d/dt ADPc in component Cytosol (uM).
C RATES(7) is d/dt FBP in component Clamp_protocol (uM).
C RATES(5) is d/dt c in component Clamp_protocol (uM).
C
      SUBROUTINE initConsts(CONSTS, RATES, STATES)
      REAL CONSTS(*), RATES(*), STATES(*)
      STATES(1) = 0.6
      CONSTS(1) = 0.001
      STATES(2) = 7.4
      STATES(3) = 93
      STATES(4) = 0.1
      CONSTS(2) = 10
      CONSTS(3) = 0.01
      CONSTS(4) = 1.8
      CONSTS(5) = 15
      STATES(5) = 0.1
      STATES(6) = 1850
      CONSTS(6) = 2500
      CONSTS(7) = 0.00005
      CONSTS(8) = 0.00005
      STATES(7) = 0.5
      CONSTS(9) = 1
      CONSTS(10) = 5
      CONSTS(11) = 90000
      CONSTS(12) = 330000
      CONSTS(13) = 0.1
      CONSTS(14) = 0.1
      CONSTS(15) = 120000
      CONSTS(16) = 180000
      CONSTS(17) = 240000
      CONSTS(18) = 150000
      CONSTS(19) = 210000
      CONSTS(20) = 270000
      CONSTS(21) = 400
      CONSTS(22) = 1
      CONSTS(23) = 0.01
      CONSTS(24) = 0.01
      CONSTS(25) = 1.1
      CONSTS(26) = 0.001
      CONSTS(27) = 0.016
      CONSTS(28) = 0.6
      CONSTS(29) = 0.1
      CONSTS(30) = 177
      CONSTS(31) = 5
      CONSTS(32) = 7
      CONSTS(33) = 0.1
      CONSTS(34) = 177
      CONSTS(35) = 5
      CONSTS(36) = 120
      CONSTS(37) = 10
      CONSTS(38) = 190
      CONSTS(39) = 8.5
      CONSTS(40) = 35
      CONSTS(41) = 0.002
      CONSTS(42) = -0.03
      CONSTS(43) = 0.35
      CONSTS(44) = 2
      CONSTS(45) = 0.037
      CONSTS(46) = 0.0005
      CONSTS(47) = 3.90000/53.2000
      RETURN
      END
      SUBROUTINE computeRates(VOI, CONSTS,  RATES, STATES, ALGBRC)
      REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*)
      ALGBRC(3) = TERNRY(VOI - CONSTS(11).GE.0.00000, 1.00000, 0.00000)
      ALGBRC(7) = TERNRY(VOI - CONSTS(12).GE.0.00000, 1.00000, 0.00000)
      ALGBRC(11) = CONSTS(9)+ (CONSTS(10) - CONSTS(9))*(ALGBRC(3) - ALGBRC(7))
      RATES(7) = (ALGBRC(11) - STATES(7))/0.100000
      ALGBRC(1) = CONSTS(2) - STATES(1)
      ALGBRC(13) =  CONSTS(46)* (STATES(7)/1.00000) ** (1.0 / 2)
      ALGBRC(16) =  (CONSTS(21)/(CONSTS(22)+STATES(1)/ALGBRC(1)))*(STATES(4)/(CONSTS(23)+STATES(4)))*ALGBRC(13)
      ALGBRC(5) = ( CONSTS(28)*STATES(1))/(CONSTS(29)+STATES(1))
      ALGBRC(9) = ALGBRC(5)/(1.00000+EXP((STATES(3) - CONSTS(30))/CONSTS(31)))
      RATES(1) =  CONSTS(1)*(ALGBRC(16) - ALGBRC(9))
      ALGBRC(19) =  (( CONSTS(26)*STATES(4))/STATES(5))*EXP( CONSTS(27)*STATES(3))
      ALGBRC(17) =  ( CONSTS(24)*STATES(3) - CONSTS(25))*STATES(5) ** 2.00000
      ALGBRC(22) = ALGBRC(19) - ALGBRC(17)
      RATES(4) =  - CONSTS(3)*ALGBRC(22)
      ALGBRC(4) = TERNRY(VOI - CONSTS(15).GE.0.00000, 1.00000, 0.00000)
      ALGBRC(15) = TERNRY(VOI - CONSTS(18).GE.0.00000, 1.00000, 0.00000)
      ALGBRC(18) =  (CONSTS(14) - CONSTS(13))*(ALGBRC(4) - ALGBRC(15))
      ALGBRC(8) = TERNRY(VOI - CONSTS(16).GE.0.00000, 1.00000, 0.00000)
      ALGBRC(20) = TERNRY(VOI - CONSTS(19).GE.0.00000, 1.00000, 0.00000)
      ALGBRC(23) =  (CONSTS(14) - CONSTS(13))*(ALGBRC(8) - ALGBRC(20))
      ALGBRC(12) = TERNRY(VOI - CONSTS(17).GE.0.00000, 1.00000, 0.00000)
      ALGBRC(25) = TERNRY(VOI - CONSTS(20).GE.0.00000, 1.00000, 0.00000)
      ALGBRC(27) =  (CONSTS(14) - CONSTS(13))*(ALGBRC(12) - ALGBRC(25))
      ALGBRC(29) = CONSTS(13)+ALGBRC(18)+ALGBRC(23)+ALGBRC(27)
      RATES(5) = (ALGBRC(29) - STATES(5))/0.100000
      ALGBRC(2) = CONSTS(5) - STATES(2)
      ALGBRC(6) = ALGBRC(2)/STATES(2)
      ALGBRC(33) = (( CONSTS(43)*ALGBRC(6))/(ALGBRC(6)+CONSTS(44)))/EXP( - 0.500000*CONSTS(45)*STATES(3))
      ALGBRC(31) = ( CONSTS(40)*CONSTS(37))/(CONSTS(37)+ALGBRC(2))
      ALGBRC(32) = ALGBRC(31)/(1.00000+EXP((CONSTS(38) - STATES(3))/CONSTS(39)))
      RATES(2) =  CONSTS(1)*(ALGBRC(33) - ALGBRC(32))
      ALGBRC(24) = ( CONSTS(32)*STATES(1))/(CONSTS(33)+STATES(1))
      ALGBRC(26) = ALGBRC(24)/(1.00000+EXP((STATES(3) - CONSTS(34))/CONSTS(35)))
      ALGBRC(28) = ( CONSTS(36)*CONSTS(37))/(CONSTS(37)+ALGBRC(2))
      ALGBRC(30) = ALGBRC(28)/(1.00000+EXP((CONSTS(38) - STATES(3))/CONSTS(39)))
      ALGBRC(21) =  CONSTS(41)*STATES(3)+CONSTS(42)
      RATES(3) = (((((ALGBRC(26) - ALGBRC(30)) - ALGBRC(33)) - ALGBRC(21)) - ALGBRC(19)) -  ALGBRC(17)*2.00000)/CONSTS(4)
      ALGBRC(10) = CONSTS(6) - STATES(6)
      ALGBRC(14) = ( ( CONSTS(7)*STATES(5)+CONSTS(8))*ALGBRC(10))/1.00000
      RATES(6) =  - CONSTS(47)*ALGBRC(33)+ ALGBRC(14)*1.00000
      RETURN
      END
      SUBROUTINE computeVariables(VOI, CONSTS, RATES, STATES, ALGBRC)
      REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*)
      ALGBRC(3) = TERNRY(VOI - CONSTS(11).GE.0.00000, 1.00000, 0.00000)
      ALGBRC(7) = TERNRY(VOI - CONSTS(12).GE.0.00000, 1.00000, 0.00000)
      ALGBRC(11) = CONSTS(9)+ (CONSTS(10) - CONSTS(9))*(ALGBRC(3) - ALGBRC(7))
      ALGBRC(1) = CONSTS(2) - STATES(1)
      ALGBRC(13) =  CONSTS(46)* (STATES(7)/1.00000) ** (1.0 / 2)
      ALGBRC(16) =  (CONSTS(21)/(CONSTS(22)+STATES(1)/ALGBRC(1)))*(STATES(4)/(CONSTS(23)+STATES(4)))*ALGBRC(13)
      ALGBRC(5) = ( CONSTS(28)*STATES(1))/(CONSTS(29)+STATES(1))
      ALGBRC(9) = ALGBRC(5)/(1.00000+EXP((STATES(3) - CONSTS(30))/CONSTS(31)))
      ALGBRC(19) =  (( CONSTS(26)*STATES(4))/STATES(5))*EXP( CONSTS(27)*STATES(3))
      ALGBRC(17) =  ( CONSTS(24)*STATES(3) - CONSTS(25))*STATES(5) ** 2.00000
      ALGBRC(22) = ALGBRC(19) - ALGBRC(17)
      ALGBRC(4) = TERNRY(VOI - CONSTS(15).GE.0.00000, 1.00000, 0.00000)
      ALGBRC(15) = TERNRY(VOI - CONSTS(18).GE.0.00000, 1.00000, 0.00000)
      ALGBRC(18) =  (CONSTS(14) - CONSTS(13))*(ALGBRC(4) - ALGBRC(15))
      ALGBRC(8) = TERNRY(VOI - CONSTS(16).GE.0.00000, 1.00000, 0.00000)
      ALGBRC(20) = TERNRY(VOI - CONSTS(19).GE.0.00000, 1.00000, 0.00000)
      ALGBRC(23) =  (CONSTS(14) - CONSTS(13))*(ALGBRC(8) - ALGBRC(20))
      ALGBRC(12) = TERNRY(VOI - CONSTS(17).GE.0.00000, 1.00000, 0.00000)
      ALGBRC(25) = TERNRY(VOI - CONSTS(20).GE.0.00000, 1.00000, 0.00000)
      ALGBRC(27) =  (CONSTS(14) - CONSTS(13))*(ALGBRC(12) - ALGBRC(25))
      ALGBRC(29) = CONSTS(13)+ALGBRC(18)+ALGBRC(23)+ALGBRC(27)
      ALGBRC(2) = CONSTS(5) - STATES(2)
      ALGBRC(6) = ALGBRC(2)/STATES(2)
      ALGBRC(33) = (( CONSTS(43)*ALGBRC(6))/(ALGBRC(6)+CONSTS(44)))/EXP( - 0.500000*CONSTS(45)*STATES(3))
      ALGBRC(31) = ( CONSTS(40)*CONSTS(37))/(CONSTS(37)+ALGBRC(2))
      ALGBRC(32) = ALGBRC(31)/(1.00000+EXP((CONSTS(38) - STATES(3))/CONSTS(39)))
      ALGBRC(24) = ( CONSTS(32)*STATES(1))/(CONSTS(33)+STATES(1))
      ALGBRC(26) = ALGBRC(24)/(1.00000+EXP((STATES(3) - CONSTS(34))/CONSTS(35)))
      ALGBRC(28) = ( CONSTS(36)*CONSTS(37))/(CONSTS(37)+ALGBRC(2))
      ALGBRC(30) = ALGBRC(28)/(1.00000+EXP((CONSTS(38) - STATES(3))/CONSTS(39)))
      ALGBRC(21) =  CONSTS(41)*STATES(3)+CONSTS(42)
      ALGBRC(10) = CONSTS(6) - STATES(6)
      ALGBRC(14) = ( ( CONSTS(7)*STATES(5)+CONSTS(8))*ALGBRC(10))/1.00000
      RETURN
      END
      REAL FUNCTION TERNRY(TEST, VALA, VALB)
      LOGICAL TEST
      REAL VALA, VALB
      IF (TEST) THEN
        TERNRY = VALA
      ELSE
        TERNRY = VALB
      ENDIF
      RETURN
      END