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
