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 32 entries in the algebraic variable array.
C There are a total of 9 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 t in component main (second).
C CONSTS(1) is pulse_time in component main (second).
C CONSTS(2) is RT in component main (J_per_mol).
C CONSTS(3) is F in component main (C_per_mol).
C CONSTS(4) is q_w_gut in component main (litre).
C CONSTS(5) is q_w_epi in component main (litre).
C CONSTS(6) is q_w_cap in component main (litre).
C CONSTS(37) is q_w_tot in component main (litre).
C STATES(1) is q_Na_gut in component main (mole).
C STATES(2) is q_Na_epi in component main (mole).
C ALGBRC(1) is q_Na_cap in component main (mole).
C CONSTS(7) is q_Na_cap_init in component main (mole).
C CONSTS(8) is q_Na_cap_scale in component main (dimensionless).
C ALGBRC(3) is c_Na_gut in component main (mM).
C ALGBRC(5) is c_Na_epi in component main (mM).
C ALGBRC(6) is c_Na_cap in component main (mM).
C CONSTS(9) is K_mm in component main (millimols_per_mol).
C ALGBRC(4) is q_Na_tot in component main (mole).
C STATES(3) is q_K_epi in component main (mole).
C CONSTS(10) is q_K_cap in component main (mole).
C ALGBRC(8) is c_K_epi in component main (mM).
C CONSTS(38) is c_K_cap in component main (mM).
C STATES(4) is q_Cl_epi in component main (mole).
C CONSTS(11) is q_Cl_cap in component main (mole).
C ALGBRC(11) is c_Cl_epi in component main (mM).
C CONSTS(39) is c_Cl_cap in component main (mM).
C STATES(5) is q_e in component main (coulomb).
C CONSTS(12) is u_ee in component main (J_per_C).
C ALGBRC(14) is u_e in component main (J_per_C).
C CONSTS(13) is C_m in component main (C2_per_J).
C ALGBRC(15) is q_Glc_gut in component main (mole).
C STATES(6) is q_Glc_epi in component main (mole).
C CONSTS(14) is q_Glc_cap in component main (mole).
C CONSTS(15) is q_Glc_gut_init in component main (mole).
C CONSTS(16) is q_Glc_gut_scale in component main (dimensionless).
C ALGBRC(16) is c_Glc_gut in component main (mM).
C ALGBRC(17) is c_Glc_epi in component main (mM).
C CONSTS(40) is c_Glc_cap in component main (mM).
C CONSTS(17) is u_w_gut in component main (kPa).
C CONSTS(41) is u_w_epi in component main (kPa).
C CONSTS(18) is u_w_cap in component main (kPa).
C CONSTS(19) is E_w_epi in component main (joule).
C CONSTS(20) is U_w_epi in component main (litre).
C CONSTS(21) is L_w_epi in component main (litre).
C ALGBRC(7) is v_w_epiApex in component main (L_per_s).
C ALGBRC(9) is v_w_epiBase in component main (L_per_s).
C CONSTS(22) is k_w_m in component main (L_per_s_per_kPa).
C CONSTS(23) is c_O2 in component main (mM).
C CONSTS(24) is c_CO2 in component main (mM).
C CONSTS(25) is c_HCO3 in component main (mM).
C STATES(7) is q_ATP in component main (mole).
C STATES(8) is q_ADP in component main (mole).
C STATES(9) is q_Pi in component main (mole).
C CONSTS(26) is q_H in component main (mole).
C ALGBRC(2) is q_adenosine in component main (mole).
C ALGBRC(18) is c_ATP in component main (mM).
C ALGBRC(21) is c_ADP in component main (mM).
C ALGBRC(22) is c_Pi in component main (mM).
C CONSTS(42) is c_H in component main (mM).
C CONSTS(27) is kappa_SGLT1 in component main (mol_per_s).
C ALGBRC(23) is v_SGLT1 in component main (mol_per_s).
C CONSTS(28) is kappa_GLUT2 in component main (mol_per_s).
C ALGBRC(25) is v_GLUT2 in component main (mol_per_s).
C CONSTS(29) is k_ATP_eq in component main (mM2).
C CONSTS(30) is kappa_NKE in component main (mol_per_s).
C ALGBRC(26) is v_NKE in component main (mol_per_s).
C CONSTS(31) is kappa_NKCC1 in component main (mol_per_s).
C ALGBRC(27) is v_NKCC1 in component main (mol_per_s).
C CONSTS(32) is kappa_KCC1 in component main (mol_per_s).
C ALGBRC(29) is v_KCC1 in component main (mol_per_s).
C CONSTS(33) is kappa_K in component main (C_per_J_per_s).
C ALGBRC(31) is v_K in component main (mol_per_s).
C ALGBRC(30) is GHKterm in component main (J_per_C).
C CONSTS(34) is kappa_Na in component main (per_s_per_V).
C ALGBRC(32) is v_Na in component main (mol_per_s).
C CONSTS(35) is k_AM_eq in component main (per_mM).
C CONSTS(36) is kappa_AM in component main (mol_per_s).
C ALGBRC(28) is v_AM in component main (mol_per_s).
C ALGBRC(19) is u_SGLT1_reversal in component main (J_per_C).
C ALGBRC(12) is u_K_reversal in component main (J_per_C).
C ALGBRC(10) is u_Na_reversal in component main (J_per_C).
C ALGBRC(20) is c_Na_gutThreshold in component main (mM).
C ALGBRC(24) is c_Na_epiEquilibrium in component main (mM).
C ALGBRC(13) is c_Cl_epiEquilibrium in component main (mM).
C RATES(1) is d/dt q_Na_gut in component main (mole).
C RATES(2) is d/dt q_Na_epi in component main (mole).
C RATES(3) is d/dt q_K_epi in component main (mole).
C RATES(4) is d/dt q_Cl_epi in component main (mole).
C RATES(5) is d/dt q_e in component main (coulomb).
C RATES(6) is d/dt q_Glc_epi in component main (mole).
C RATES(7) is d/dt q_ATP in component main (mole).
C RATES(8) is d/dt q_ADP in component main (mole).
C RATES(9) is d/dt q_Pi in component main (mole).
C
      SUBROUTINE initConsts(CONSTS, RATES, STATES)
      REAL CONSTS(*), RATES(*), STATES(*)
      CONSTS(1) = 0.1
      CONSTS(2) = 2.5e3
      CONSTS(3) = 0.965e5
      CONSTS(4) = 1
      CONSTS(5) = 1
      CONSTS(6) = 1
      STATES(1) = 0.1
      STATES(2) = 0.001
      CONSTS(7) = 0.140
      CONSTS(8) = 1.0
      CONSTS(9) = 1.e3
      STATES(3) = 0.130
      CONSTS(10) = 0.004
      STATES(4) = 0.001
      CONSTS(11) = 0.100
      STATES(5) = 1e-5
      CONSTS(12) = -0.08
      CONSTS(13) = 5e4
      STATES(6) = 0.001
      CONSTS(14) = 0.01
      CONSTS(15) = 0.01
      CONSTS(16) = 1.0
      CONSTS(17) = 1
      CONSTS(18) = 1
      CONSTS(19) = 1
      CONSTS(20) = 0.5
      CONSTS(21) = 5
      CONSTS(22) = 1e-4
      CONSTS(23) = 9.25
      CONSTS(24) = 1.20
      CONSTS(25) = 25.0
      STATES(7) = 0.003
      STATES(8) = 0.0025
      STATES(9) = 0.003
      CONSTS(26) = 1e-7
      CONSTS(27) = 1e-2
      CONSTS(28) = 1e1
      CONSTS(29) = 2e4
      CONSTS(30) = 1e2
      CONSTS(31) = 1e-1
      CONSTS(32) = 1e-1
      CONSTS(33) = 2e3
      CONSTS(34) = 0
      CONSTS(35) = 1e0
      CONSTS(36) = 1e1
      CONSTS(37) = CONSTS(4)+CONSTS(5)+CONSTS(6)
      CONSTS(38) = ( CONSTS(10)*CONSTS(9))/CONSTS(6)
      CONSTS(39) = ( CONSTS(11)*CONSTS(9))/CONSTS(6)
      CONSTS(40) = ( CONSTS(14)*CONSTS(9))/CONSTS(6)
      CONSTS(41) = ( CONSTS(19)*(CONSTS(5) - CONSTS(20)))/CONSTS(21) - CONSTS(5) ** 2.00000
      CONSTS(42) = ( CONSTS(26)*CONSTS(9))/CONSTS(5)
      RETURN
      END
      SUBROUTINE computeRates(VOI, CONSTS,  RATES, STATES, ALGBRC)
      REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*)
      ALGBRC(3) = ( STATES(1)*CONSTS(9))/CONSTS(4)
      ALGBRC(5) = ( STATES(2)*CONSTS(9))/CONSTS(5)
      ALGBRC(14) = STATES(5)/CONSTS(13)
      ALGBRC(15) = TERNRY(VOI.GT.CONSTS(1),  CONSTS(15)*CONSTS(16), CONSTS(15))
      ALGBRC(16) = ( ALGBRC(15)*CONSTS(9))/CONSTS(4)
      ALGBRC(17) = ( STATES(6)*CONSTS(9))/CONSTS(5)
      ALGBRC(23) = ( CONSTS(27)*(( ALGBRC(3)/ALGBRC(5) ** 2.00000*ALGBRC(16))/ALGBRC(17) - EXP(( 2.00000*CONSTS(3)*ALGBRC(14))/CONSTS(2))))/( (1.00000+ALGBRC(3)/20.0000 ** 2.00000)*(1.00000+ALGBRC(5)/100.000 ** 2.00000))
      RATES(1) =  - 2.00000*ALGBRC(23)
      ALGBRC(25) = ( CONSTS(28)*(ALGBRC(17)/CONSTS(40) - 1.00000))/(1.00000+ALGBRC(17)/5.00000+CONSTS(40)/10.0000+( ALGBRC(17)*CONSTS(40))/100.000)
      ALGBRC(18) = ( STATES(7)*CONSTS(9))/CONSTS(5)
      ALGBRC(21) = ( STATES(8)*CONSTS(9))/CONSTS(5)
      ALGBRC(28) =  CONSTS(36)*(( CONSTS(35)*ALGBRC(17)*ALGBRC(21))/ALGBRC(18) - 1.00000)
      RATES(6) = (ALGBRC(23) - ALGBRC(25)) - ALGBRC(28)
      ALGBRC(1) = TERNRY(VOI.GT.CONSTS(1),  CONSTS(7)*CONSTS(8), CONSTS(7))
      ALGBRC(6) = ( ALGBRC(1)*CONSTS(9))/CONSTS(6)
      ALGBRC(8) = ( STATES(3)*CONSTS(9))/CONSTS(5)
      ALGBRC(22) = ( STATES(9)*CONSTS(9))/CONSTS(5)
      ALGBRC(26) = ( CONSTS(30)*(( ALGBRC(5)/ALGBRC(6) ** 3.00000*ALGBRC(18)*CONSTS(29))/( ALGBRC(21)*ALGBRC(22)*CONSTS(42)) -  ALGBRC(8)/CONSTS(38) ** 2.00000*EXP(( CONSTS(3)*ALGBRC(14))/CONSTS(2))))/( (1.00000+ALGBRC(5)/1.00000 ** 3.00000)*(1.00000+ALGBRC(6)/100.000 ** 3.00000))
      RATES(7) = - ALGBRC(26)+ 32.0000*ALGBRC(28)
      RATES(8) = ALGBRC(26) -  32.0000*ALGBRC(28)
      RATES(9) = ALGBRC(26) -  32.0000*ALGBRC(28)
      ALGBRC(11) = ( STATES(4)*CONSTS(9))/CONSTS(5)
      ALGBRC(27) = ( CONSTS(31)*( (( (ALGBRC(6)/ALGBRC(5))*CONSTS(38))/ALGBRC(8))*CONSTS(39)/ALGBRC(11) ** 2.00000 - 1.00000))/( (1.00000+ALGBRC(6)/70.0000)*(1.00000+ALGBRC(5)/5.00000)*(1.00000+CONSTS(38)/2.00000)*(1.00000+ALGBRC(8)/60.0000)*(1.00000+CONSTS(39)/50.0000 ** 2.00000)*(1.00000+ALGBRC(11)/10.0000 ** 2.00000))
      ALGBRC(29) = ( CONSTS(32)*(( (ALGBRC(8)/CONSTS(38))*ALGBRC(11))/CONSTS(39) - 1.00000))/( (1.00000+CONSTS(39)/50.0000)*(1.00000+CONSTS(38)/2.00000)*(1.00000+ALGBRC(11)/10.0000)*(1.00000+ALGBRC(8)/60.0000))
      RATES(4) =  2.00000*ALGBRC(27) - ALGBRC(29)
      ALGBRC(30) = ALGBRC(14)/(EXP(( CONSTS(3)*ALGBRC(14))/CONSTS(2)) - 1.00000)
      ALGBRC(31) =  CONSTS(33)*( STATES(3)*EXP(( CONSTS(3)*ALGBRC(14))/CONSTS(2)) - CONSTS(10))*ALGBRC(30)
      RATES(3) = (( 2.00000*ALGBRC(26) - ALGBRC(31))+ALGBRC(27)) - ALGBRC(29)
      ALGBRC(32) =  CONSTS(34)*(ALGBRC(1) -  STATES(2)*EXP(( CONSTS(3)*ALGBRC(14))/CONSTS(2)))*ALGBRC(30)
      RATES(2) = ( 2.00000*ALGBRC(23) -  3.00000*ALGBRC(26))+ALGBRC(27)+ALGBRC(32)
      RATES(5) =  CONSTS(3)*((( 2.00000*ALGBRC(23) - ALGBRC(26)) - ALGBRC(31))+ALGBRC(32))
      RETURN
      END
      SUBROUTINE computeVariables(VOI, CONSTS, RATES, STATES, ALGBRC)
      REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*)
      ALGBRC(3) = ( STATES(1)*CONSTS(9))/CONSTS(4)
      ALGBRC(5) = ( STATES(2)*CONSTS(9))/CONSTS(5)
      ALGBRC(14) = STATES(5)/CONSTS(13)
      ALGBRC(15) = TERNRY(VOI.GT.CONSTS(1),  CONSTS(15)*CONSTS(16), CONSTS(15))
      ALGBRC(16) = ( ALGBRC(15)*CONSTS(9))/CONSTS(4)
      ALGBRC(17) = ( STATES(6)*CONSTS(9))/CONSTS(5)
      ALGBRC(23) = ( CONSTS(27)*(( ALGBRC(3)/ALGBRC(5) ** 2.00000*ALGBRC(16))/ALGBRC(17) - EXP(( 2.00000*CONSTS(3)*ALGBRC(14))/CONSTS(2))))/( (1.00000+ALGBRC(3)/20.0000 ** 2.00000)*(1.00000+ALGBRC(5)/100.000 ** 2.00000))
      ALGBRC(25) = ( CONSTS(28)*(ALGBRC(17)/CONSTS(40) - 1.00000))/(1.00000+ALGBRC(17)/5.00000+CONSTS(40)/10.0000+( ALGBRC(17)*CONSTS(40))/100.000)
      ALGBRC(18) = ( STATES(7)*CONSTS(9))/CONSTS(5)
      ALGBRC(21) = ( STATES(8)*CONSTS(9))/CONSTS(5)
      ALGBRC(28) =  CONSTS(36)*(( CONSTS(35)*ALGBRC(17)*ALGBRC(21))/ALGBRC(18) - 1.00000)
      ALGBRC(1) = TERNRY(VOI.GT.CONSTS(1),  CONSTS(7)*CONSTS(8), CONSTS(7))
      ALGBRC(6) = ( ALGBRC(1)*CONSTS(9))/CONSTS(6)
      ALGBRC(8) = ( STATES(3)*CONSTS(9))/CONSTS(5)
      ALGBRC(22) = ( STATES(9)*CONSTS(9))/CONSTS(5)
      ALGBRC(26) = ( CONSTS(30)*(( ALGBRC(5)/ALGBRC(6) ** 3.00000*ALGBRC(18)*CONSTS(29))/( ALGBRC(21)*ALGBRC(22)*CONSTS(42)) -  ALGBRC(8)/CONSTS(38) ** 2.00000*EXP(( CONSTS(3)*ALGBRC(14))/CONSTS(2))))/( (1.00000+ALGBRC(5)/1.00000 ** 3.00000)*(1.00000+ALGBRC(6)/100.000 ** 3.00000))
      ALGBRC(11) = ( STATES(4)*CONSTS(9))/CONSTS(5)
      ALGBRC(27) = ( CONSTS(31)*( (( (ALGBRC(6)/ALGBRC(5))*CONSTS(38))/ALGBRC(8))*CONSTS(39)/ALGBRC(11) ** 2.00000 - 1.00000))/( (1.00000+ALGBRC(6)/70.0000)*(1.00000+ALGBRC(5)/5.00000)*(1.00000+CONSTS(38)/2.00000)*(1.00000+ALGBRC(8)/60.0000)*(1.00000+CONSTS(39)/50.0000 ** 2.00000)*(1.00000+ALGBRC(11)/10.0000 ** 2.00000))
      ALGBRC(29) = ( CONSTS(32)*(( (ALGBRC(8)/CONSTS(38))*ALGBRC(11))/CONSTS(39) - 1.00000))/( (1.00000+CONSTS(39)/50.0000)*(1.00000+CONSTS(38)/2.00000)*(1.00000+ALGBRC(11)/10.0000)*(1.00000+ALGBRC(8)/60.0000))
      ALGBRC(30) = ALGBRC(14)/(EXP(( CONSTS(3)*ALGBRC(14))/CONSTS(2)) - 1.00000)
      ALGBRC(31) =  CONSTS(33)*( STATES(3)*EXP(( CONSTS(3)*ALGBRC(14))/CONSTS(2)) - CONSTS(10))*ALGBRC(30)
      ALGBRC(32) =  CONSTS(34)*(ALGBRC(1) -  STATES(2)*EXP(( CONSTS(3)*ALGBRC(14))/CONSTS(2)))*ALGBRC(30)
      ALGBRC(2) = STATES(7)+STATES(8)
      ALGBRC(4) = STATES(1)+STATES(2)+ALGBRC(1)
      ALGBRC(7) =  CONSTS(22)*((CONSTS(17) - CONSTS(41)) -  (CONSTS(2)/CONSTS(9))*(ALGBRC(3) - ALGBRC(5)))
      ALGBRC(9) =  CONSTS(22)*((CONSTS(41) - CONSTS(18)) -  (CONSTS(2)/CONSTS(9))*(ALGBRC(5) - ALGBRC(6)))
      ALGBRC(10) =  (CONSTS(2)/CONSTS(3))*log(ALGBRC(6)/ALGBRC(5))
      ALGBRC(12) =  (CONSTS(2)/CONSTS(3))*log(CONSTS(38)/ALGBRC(8))
      ALGBRC(13) =  CONSTS(39)* (( (ALGBRC(6)/ALGBRC(5))*CONSTS(38))/ALGBRC(8)) ** (1.0 / 2)
      ALGBRC(19) =  (CONSTS(2)/( 2.00000*CONSTS(3)))*log(( ALGBRC(3)/ALGBRC(5) ** 2.00000*ALGBRC(16))/ALGBRC(17))
      ALGBRC(20) =  ALGBRC(5)* (ALGBRC(17)/ALGBRC(16)) ** (1.0 / 2)*EXP(( CONSTS(3)*ALGBRC(14))/CONSTS(2))
      ALGBRC(24) =  ALGBRC(6)*( (ALGBRC(21)/ALGBRC(18))*ALGBRC(22)*CONSTS(42))/CONSTS(29) ** 0.333340*ALGBRC(8)/CONSTS(38) ** 0.666670*EXP(( CONSTS(3)*ALGBRC(14))/( 3.00000*CONSTS(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