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 26 entries in the algebraic variable array.
C There are a total of 4 entries in each of the rate and state variable arrays.
C There are a total of 27 entries in the constant variable array.
C
C
C VOI is time in component environment (minute).
C CONSTS(1) is VEC in component capillary_dynamics (litre).
C CONSTS(2) is PPD in component capillary_dynamics (gram_per_minute).
C CONSTS(3) is RVS in component capillary_dynamics (mmHg_minute_per_L).
C CONSTS(4) is DFP in component capillary_dynamics (L_per_minute).
C CONSTS(5) is VPF in component capillary_dynamics (litre).
C CONSTS(6) is BFN in component capillary_dynamics (L_per_minute).
C CONSTS(7) is PVS in component capillary_dynamics (mmHg).
C CONSTS(25) is PC in component capillary_pressure (mmHg).
C ALGBRC(16) is PGH in component hydrostatic_pressure_of_tissue_gel (mmHg).
C ALGBRC(14) is PTC in component total_osmotic_pressure_of_tissue_gel (mmHg).
C ALGBRC(4) is PPC in component plasma_colloid_osmotic_pressure (mmHg).
C CONSTS(27) is VTCPL in component plasma_leakage (L_per_minute).
C ALGBRC(17) is VTC in component rate_of_fluid_out_of_capillaries (L_per_minute).
C CONSTS(8) is CFC in component parameter_values (L_per_minute_per_mmHg).
C ALGBRC(22) is VTL in component lymph_flow (L_per_minute).
C STATES(1) is VP in component plasma_volume (litre).
C CONSTS(9) is TRPL in component parameter_values (L_per_minute).
C ALGBRC(23) is VPD in component plasma_volume (L_per_minute).
C STATES(2) is PRP in component total_plasma_protein (gram).
C ALGBRC(1) is CPP in component plasma_protein_concentration (gram_per_L).
C ALGBRC(3) is DLP in component protein_destruction_and_formation (gram_per_minute).
C CONSTS(10) is CPR in component parameter_values (gram_per_L).
C CONSTS(11) is LPPR in component parameter_values (gram_per_minute).
C CONSTS(12) is LPDE in component parameter_values (dimensionless).
C CONSTS(13) is LPK in component parameter_values (L_per_minute).
C ALGBRC(2) is CPPD in component protein_destruction_and_formation (gram_per_L).
C CONSTS(14) is PCR in component parameter_values (mmHg).
C CONSTS(15) is CPK in component parameter_values (L_per_minute_per_mmHg).
C CONSTS(16) is PCE in component parameter_values (dimensionless).
C CONSTS(26) is PRCD in component plasma_leakage (mmHg).
C ALGBRC(8) is CPI in component interstitial_protein_concentration (gram_per_L).
C ALGBRC(10) is DPC in component protein_influx_into_interstitium (gram_per_minute).
C ALGBRC(24) is DPL in component lymph_protein_flow (gram_per_minute).
C ALGBRC(25) is DPP in component total_plasma_protein (gram_per_minute).
C ALGBRC(5) is VTS in component total_systemic_fluid_volume (litre).
C ALGBRC(6) is VTS1 in component interstitial_fluid_volume (litre).
C CONSTS(17) is TSSLML in component parameter_values (dimensionless).
C CONSTS(18) is TSSLTC in component parameter_values (per_minute).
C STATES(3) is VTS2 in component interstitial_fluid_volume (litre).
C STATES(4) is TSP in component total_interstitial_protein (gram).
C ALGBRC(26) is DPI in component total_interstitial_protein (gram_per_minute).
C ALGBRC(11) is PTCPR in component interstitial_colloid_osmotic_pressure (mmHg).
C ALGBRC(15) is PTT in component total_tissue_pressure (mmHg).
C ALGBRC(12) is CHY in component hydrostatic_pressure_of_tissue_gel (gram_per_L).
C CONSTS(19) is HYL in component parameter_values (gram).
C CONSTS(20) is CMPTSS in component parameter_values (dimensionless).
C CONSTS(21) is PGHF in component parameter_values (L_mmHg_per_gram).
C ALGBRC(13) is POSHYL in component total_osmotic_pressure_of_tissue_gel (mmHg).
C CONSTS(22) is GCOPF in component parameter_values (per_mmHg).
C CONSTS(23) is VTSF in component parameter_values (litre).
C ALGBRC(18) is PIF in component interstial_free_fluid_pressure (mmHg).
C ALGBRC(20) is PTS in component interstitial_solid_tissue_pressure (mmHg).
C CONSTS(24) is PLDF in component parameter_values (mmHg).
C ALGBRC(19) is PLD1 in component lymph_flow (mmHg).
C ALGBRC(21) is PLD in component lymph_flow (mmHg).
C ALGBRC(7) is VG in component interstitial_gel_volume (litre).
C ALGBRC(9) is VIF in component interstitial_free_fluid_volume (litre).
C RATES(1) is d/dt VP in component plasma_volume (litre).
C RATES(2) is d/dt PRP in component total_plasma_protein (gram).
C RATES(3) is d/dt VTS2 in component interstitial_fluid_volume (litre).
C RATES(4) is d/dt TSP in component total_interstitial_protein (gram).
C
      SUBROUTINE initConsts(CONSTS, RATES, STATES)
      REAL CONSTS(*), RATES(*), STATES(*)
      CONSTS(1) = 14.8548
      CONSTS(2) = 4.4805e-06
      CONSTS(3) = 2.77751
      CONSTS(4) = -4.078e-07
      CONSTS(5) = 0.0123238
      CONSTS(6) = 2.79521
      CONSTS(7) = 3.71612
      CONSTS(8) = 0.01167
      STATES(1) = 3.00449
      CONSTS(9) = 0
      STATES(2) = 216.243
      CONSTS(10) = 40
      CONSTS(11) = 0.03
      CONSTS(12) = 8
      CONSTS(13) = 2.728e-14
      CONSTS(14) = 15
      CONSTS(15) = 0.000253
      CONSTS(16) = 1
      CONSTS(17) = 0.15
      CONSTS(18) = 0.005
      STATES(3) = 0.0
      STATES(4) = 279.945
      CONSTS(19) = 60
      CONSTS(20) = 2
      CONSTS(21) = -2
      CONSTS(22) = 0.8092
      CONSTS(23) = 6
      CONSTS(24) = 4.2
      CONSTS(25) =  CONSTS(3)*1.70000*CONSTS(6)+CONSTS(7)
      CONSTS(26) = TERNRY(CONSTS(25) - CONSTS(14).LT.0.00000, 0.00000, CONSTS(25) - CONSTS(14))
      CONSTS(27) =  CONSTS(26)*CONSTS(15) ** CONSTS(16)
      RETURN
      END
      SUBROUTINE computeRates(VOI, CONSTS,  RATES, STATES, ALGBRC)
      REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*)
      ALGBRC(5) = (CONSTS(1) - STATES(1)) - CONSTS(5)
      RATES(3) =  ( (ALGBRC(5) - 12.0000)*CONSTS(17) - STATES(3))*CONSTS(18)
      ALGBRC(6) = ALGBRC(5) - STATES(3)
      ALGBRC(15) =  (ALGBRC(6) - CONSTS(23))/CONSTS(23) ** 2.00000*1.00000
      ALGBRC(12) = (CONSTS(19)/ALGBRC(5))/5.00000 ** CONSTS(20)
      ALGBRC(16) =  ALGBRC(12)*CONSTS(21)+ALGBRC(15)
      ALGBRC(8) = STATES(4)/ALGBRC(5)
      ALGBRC(11) =  0.280000*ALGBRC(8)+ 0.00190000*ALGBRC(8) ** 2.00000
      ALGBRC(13) =  ALGBRC(12)*2.00000
      ALGBRC(14) =  ALGBRC(13)*ALGBRC(11)*CONSTS(22)
      ALGBRC(1) = STATES(2)/STATES(1)
      ALGBRC(4) =  0.280000*ALGBRC(1)+ 0.00190000*ALGBRC(1) ** 2.00000
      ALGBRC(17) =  (((CONSTS(25) - ALGBRC(4)) - ALGBRC(16))+ALGBRC(14))*CONSTS(8)+CONSTS(27)
      ALGBRC(18) = ALGBRC(16) - ALGBRC(13)
      ALGBRC(19) = (ALGBRC(18)+CONSTS(24)) - ALGBRC(15)
      ALGBRC(21) = TERNRY(ALGBRC(19).GT.7.00000, 7.00000, ALGBRC(19))
      ALGBRC(22) = TERNRY(ALGBRC(21).LT.0.00000, 0.00000,  ALGBRC(21)*0.0200000)
      ALGBRC(23) = ((ALGBRC(22) - ALGBRC(17)) - CONSTS(4))+CONSTS(9)
      RATES(1) = ALGBRC(23)
      ALGBRC(2) = TERNRY(ALGBRC(1) - CONSTS(10).LT.0.00000, 0.00000, ALGBRC(1) - CONSTS(10))
      ALGBRC(3) = CONSTS(11) -  ALGBRC(2) ** CONSTS(12)*CONSTS(13)
      ALGBRC(10) =  CONSTS(27)*ALGBRC(1)+ (ALGBRC(1) - ALGBRC(8))*0.00104000
      ALGBRC(24) =  ALGBRC(8)*ALGBRC(22)
      ALGBRC(25) = (((ALGBRC(3)+ALGBRC(24)) - ALGBRC(10)) - CONSTS(2))+ CONSTS(9)*72.0000
      RATES(2) = ALGBRC(25)
      ALGBRC(26) = ALGBRC(10) - ALGBRC(24)
      RATES(4) = ALGBRC(26)
      RETURN
      END
      SUBROUTINE computeVariables(VOI, CONSTS, RATES, STATES, ALGBRC)
      REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*)
      ALGBRC(5) = (CONSTS(1) - STATES(1)) - CONSTS(5)
      ALGBRC(6) = ALGBRC(5) - STATES(3)
      ALGBRC(15) =  (ALGBRC(6) - CONSTS(23))/CONSTS(23) ** 2.00000*1.00000
      ALGBRC(12) = (CONSTS(19)/ALGBRC(5))/5.00000 ** CONSTS(20)
      ALGBRC(16) =  ALGBRC(12)*CONSTS(21)+ALGBRC(15)
      ALGBRC(8) = STATES(4)/ALGBRC(5)
      ALGBRC(11) =  0.280000*ALGBRC(8)+ 0.00190000*ALGBRC(8) ** 2.00000
      ALGBRC(13) =  ALGBRC(12)*2.00000
      ALGBRC(14) =  ALGBRC(13)*ALGBRC(11)*CONSTS(22)
      ALGBRC(1) = STATES(2)/STATES(1)
      ALGBRC(4) =  0.280000*ALGBRC(1)+ 0.00190000*ALGBRC(1) ** 2.00000
      ALGBRC(17) =  (((CONSTS(25) - ALGBRC(4)) - ALGBRC(16))+ALGBRC(14))*CONSTS(8)+CONSTS(27)
      ALGBRC(18) = ALGBRC(16) - ALGBRC(13)
      ALGBRC(19) = (ALGBRC(18)+CONSTS(24)) - ALGBRC(15)
      ALGBRC(21) = TERNRY(ALGBRC(19).GT.7.00000, 7.00000, ALGBRC(19))
      ALGBRC(22) = TERNRY(ALGBRC(21).LT.0.00000, 0.00000,  ALGBRC(21)*0.0200000)
      ALGBRC(23) = ((ALGBRC(22) - ALGBRC(17)) - CONSTS(4))+CONSTS(9)
      ALGBRC(2) = TERNRY(ALGBRC(1) - CONSTS(10).LT.0.00000, 0.00000, ALGBRC(1) - CONSTS(10))
      ALGBRC(3) = CONSTS(11) -  ALGBRC(2) ** CONSTS(12)*CONSTS(13)
      ALGBRC(10) =  CONSTS(27)*ALGBRC(1)+ (ALGBRC(1) - ALGBRC(8))*0.00104000
      ALGBRC(24) =  ALGBRC(8)*ALGBRC(22)
      ALGBRC(25) = (((ALGBRC(3)+ALGBRC(24)) - ALGBRC(10)) - CONSTS(2))+ CONSTS(9)*72.0000
      ALGBRC(26) = ALGBRC(10) - ALGBRC(24)
      ALGBRC(7) = TERNRY(ALGBRC(5).LE.0.00000, 0.00000, TERNRY(ALGBRC(5).GT.0.00000.AND.ALGBRC(5).LE.12.0000, 0.00000+( (11.4000 - 0.00000)*(ALGBRC(5) - 0.00000))/(12.0000 - 0.00000), TERNRY(ALGBRC(5).GT.12.0000.AND.ALGBRC(5).LE.15.0000, 11.4000+( (14.0000 - 11.4000)*(ALGBRC(5) - 12.0000))/(15.0000 - 12.0000), TERNRY(ALGBRC(5).GT.15.0000.AND.ALGBRC(5).LE.18.0000, 14.0000+( (16.0000 - 14.0000)*(ALGBRC(5) - 15.0000))/(18.0000 - 15.0000), TERNRY(ALGBRC(5).GT.18.0000.AND.ALGBRC(5).LE.21.0000, 16.0000+( (17.3000 - 16.0000)*(ALGBRC(5) - 18.0000))/(21.0000 - 18.0000), TERNRY(ALGBRC(5).GT.21.0000.AND.ALGBRC(5).LE.24.0000, 17.3000+( (18.0000 - 17.3000)*(ALGBRC(5) - 21.0000))/(24.0000 - 21.0000), 18.0000)
      ALGBRC(9) = ALGBRC(5) - ALGBRC(7)
      ALGBRC(20) = ALGBRC(15) - ALGBRC(18)
      RETURN
      END
      REAL FUNCTION TERNRY(TEST, VALA, VALB)
      LOGICAL TEST
      REAL VALA, VALB
      IF (TEST) THEN
        TERNRY = VALA
      ELSE
        TERNRY = VALB
      ENDIF
      RETURN
      END