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 13 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 43 entries in the constant variable array.
C
C
C VOI is time in component environment (day).
C STATES(1) is OB_p in component OB_p (dimensionless).
C CONSTS(1) is D_OB_u in component OB_p (first_order_rate_constant).
C CONSTS(2) is K_D1_TGF_beta in component OB_p (pM).
C CONSTS(3) is K_D2_TGF_beta in component model_parameters (pM).
C CONSTS(4) is D_OB_p in component model_parameters (first_order_rate_constant).
C ALGBRC(4) is TGF_beta in component TGF_beta (pM).
C STATES(2) is OB_a in component OB_a (dimensionless).
C CONSTS(5) is A_OB_a in component OB_a (first_order_rate_constant).
C STATES(3) is OC_a in component OC_a (dimensionless).
C ALGBRC(2) is D_OC_p in component OC_a (first_order_rate_constant).
C CONSTS(6) is A_OC_a in component OC_a (first_order_rate_constant).
C CONSTS(7) is K_D3_TGF_beta in component OC_a (pM).
C CONSTS(8) is OC_p in component OC_a (dimensionless).
C ALGBRC(8) is RANKL in component RANKL (pM).
C ALGBRC(9) is pi_RANKL_act_OC_p in component RANKL (dimensionless).
C STATES(4) is BV in component BV (dimensionless).
C ALGBRC(1) is OC_a_tilde in component BV (dimensionless).
C ALGBRC(3) is OB_a_tilde in component BV (dimensionless).
C CONSTS(9) is OC_a_initial in component BV (dimensionless).
C CONSTS(10) is OB_a_initial in component BV (dimensionless).
C CONSTS(11) is k_form in component BV (first_order_rate_constant).
C CONSTS(12) is k_res in component model_parameters (first_order_rate_constant).
C CONSTS(13) is alpha in component TGF_beta (pM).
C CONSTS(14) is D_TGF_beta_tilde in component TGF_beta (first_order_rate_constant).
C CONSTS(15) is S_TGF_beta in component TGF_beta (flux).
C CONSTS(37) is PTH in component PTH (pM).
C CONSTS(38) is pi_PTH_rep_OB_p in component PTH (dimensionless).
C CONSTS(39) is pi_PTH_act_OB_p in component PTH (dimensionless).
C CONSTS(16) is beta_PTH in component PTH (flux).
C CONSTS(17) is D_PTH_tilde in component PTH (first_order_rate_constant).
C CONSTS(18) is P_PTH_d in component PTH (flux).
C CONSTS(19) is K_D4_PTH in component PTH (pM).
C CONSTS(20) is K_D5_PTH in component PTH (pM).
C CONSTS(21) is K_D6_PTH in component PTH (pM).
C CONSTS(22) is K_D7_PTH in component PTH (pM).
C CONSTS(40) is pi_PTH_act_OB_a in component PTH (dimensionless).
C CONSTS(41) is pi_PTH_rep_OB_a in component PTH (dimensionless).
C ALGBRC(5) is OPG in component OPG (pM).
C CONSTS(23) is beta1_OPG in component OPG (flux).
C CONSTS(24) is beta2_OPG in component OPG (flux).
C CONSTS(25) is OPG_max in component OPG (pM).
C ALGBRC(6) is P_OPG_e in component OPG (flux).
C CONSTS(26) is P_OPG_d in component OPG (flux).
C CONSTS(27) is D_OPG_tilde in component OPG (first_order_rate_constant).
C CONSTS(42) is pi_PTH_rep_OB in component OPG (dimensionless).
C CONSTS(28) is K_A2_RANKL in component RANKL (per_pM).
C CONSTS(29) is K_A1_RANKL in component RANKL (per_pM).
C CONSTS(30) is RANK in component RANKL (pM).
C ALGBRC(7) is RANKL_eff in component RANKL (pM).
C ALGBRC(10) is RANKL_tot in component RANKL (pM).
C ALGBRC(13) is P_RANKL in component RANKL (flux).
C ALGBRC(11) is P_RANKL_e in component RANKL (flux).
C CONSTS(31) is P_RANKL_d in component RANKL (flux).
C CONSTS(32) is R1_RANKL in component RANKL (pM).
C CONSTS(33) is R2_RANKL in component RANKL (pM).
C CONSTS(34) is beta_RANKL in component RANKL (flux).
C ALGBRC(12) is D_RANKL in component RANKL (flux).
C CONSTS(35) is D_RANKL_tilde in component RANKL (first_order_rate_constant).
C CONSTS(43) is pi_PTH_act_OB in component RANKL (dimensionless).
C CONSTS(36) is K_D8_RANKL in component RANKL (pM).
C RATES(1) is d/dt OB_p in component OB_p (dimensionless).
C RATES(2) is d/dt OB_a in component OB_a (dimensionless).
C RATES(3) is d/dt OC_a in component OC_a (dimensionless).
C RATES(4) is d/dt BV in component BV (dimensionless).
C
      SUBROUTINE initConsts(CONSTS, RATES, STATES)
      REAL CONSTS(*), RATES(*), STATES(*)
      STATES(1) = 1.0
      CONSTS(1) = 7.000e-4
      CONSTS(2) = 4.545e-3
      CONSTS(3) = 1.416e-3
      CONSTS(4) = 5.348e-0
      STATES(2) = 1.0
      CONSTS(5) = 1.890e-1
      STATES(3) = 1.0
      CONSTS(6) = 7.000e-1
      CONSTS(7) = 1.416e-3
      CONSTS(8) = 1.0
      STATES(4) = 100.0
      CONSTS(9) = 1.0
      CONSTS(10) = 1.0
      CONSTS(11) = 1.571e0
      CONSTS(12) = 1.000e0
      CONSTS(13) = 1.000e0
      CONSTS(14) = 1.000e0
      CONSTS(15) = 0.0
      CONSTS(16) = 2.500e2
      CONSTS(17) = 8.600e1
      CONSTS(18) = 0.0
      CONSTS(19) = 1.5e2
      CONSTS(20) = 1.5e2
      CONSTS(21) = 2.226e-1
      CONSTS(22) = 2.226e-1
      CONSTS(23) = 1.0
      CONSTS(24) = 0.0
      CONSTS(25) = 2.000e8
      CONSTS(26) = 0.0
      CONSTS(27) = 3.500e-1
      CONSTS(28) = 3.412e-2
      CONSTS(29) = 1.000e-3
      CONSTS(30) = 1.000e1
      CONSTS(31) = 0.0
      CONSTS(32) = 0.0
      CONSTS(33) = 1.0
      CONSTS(34) = 1.684e4
      CONSTS(35) = 1.013e1
      CONSTS(36) = 1.306e1
      CONSTS(37) = (CONSTS(16)+CONSTS(18))/CONSTS(17)
      CONSTS(38) = 1.00000/(1.00000+CONSTS(37)/CONSTS(21))
      CONSTS(39) = CONSTS(37)/(CONSTS(19)+CONSTS(37))
      CONSTS(40) = CONSTS(37)/(CONSTS(20)+CONSTS(37))
      CONSTS(41) = 1.00000/(1.00000+CONSTS(37)/CONSTS(22))
      CONSTS(42) = CONSTS(38)
      CONSTS(43) = CONSTS(39)
      RETURN
      END
      SUBROUTINE computeRates(VOI, CONSTS,  RATES, STATES, ALGBRC)
      REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*)
      ALGBRC(4) = ( CONSTS(13)*CONSTS(12)*STATES(3)+CONSTS(15))/CONSTS(14)
      RATES(1) =  CONSTS(1)*(ALGBRC(4)/(CONSTS(2)+ALGBRC(4))) -  CONSTS(4)*STATES(1)*(1.00000/(1.00000+ALGBRC(4)/CONSTS(3)))
      RATES(2) =  CONSTS(4)*STATES(1)*(1.00000/(1.00000+ALGBRC(4)/CONSTS(3))) -  CONSTS(5)*STATES(2)
      ALGBRC(1) = STATES(3) - CONSTS(9)
      ALGBRC(3) = STATES(2) - CONSTS(10)
      RATES(4) =  CONSTS(11)*ALGBRC(3) -  CONSTS(12)*ALGBRC(1)
      ALGBRC(2) = TERNRY(VOI.GT.0.00000.AND.VOI.LE.100.000, 0.0210000, 0.00210000)
      ALGBRC(5) = ( ( CONSTS(23)*STATES(1)+ CONSTS(24)*STATES(2))*CONSTS(42)+CONSTS(26))/(( ( CONSTS(23)*STATES(1)+ CONSTS(24)*STATES(2))*CONSTS(42))/CONSTS(25)+CONSTS(27))
      ALGBRC(7) =  ( CONSTS(32)*STATES(1)+ CONSTS(33)*STATES(2))*CONSTS(43)
      ALGBRC(8) =  (ALGBRC(7)/(1.00000+ CONSTS(29)*ALGBRC(5)+ CONSTS(28)*CONSTS(30)))*((CONSTS(34)+CONSTS(31))/(CONSTS(34)+ CONSTS(35)*ALGBRC(7)))
      ALGBRC(9) = ALGBRC(8)/(CONSTS(36)+ALGBRC(8))
      RATES(3) =  ALGBRC(2)*CONSTS(8)*ALGBRC(9) -  CONSTS(6)*STATES(3)*(ALGBRC(4)/(CONSTS(7)+ALGBRC(4)))
      RETURN
      END
      SUBROUTINE computeVariables(VOI, CONSTS, RATES, STATES, ALGBRC)
      REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*)
      ALGBRC(4) = ( CONSTS(13)*CONSTS(12)*STATES(3)+CONSTS(15))/CONSTS(14)
      ALGBRC(1) = STATES(3) - CONSTS(9)
      ALGBRC(3) = STATES(2) - CONSTS(10)
      ALGBRC(2) = TERNRY(VOI.GT.0.00000.AND.VOI.LE.100.000, 0.0210000, 0.00210000)
      ALGBRC(5) = ( ( CONSTS(23)*STATES(1)+ CONSTS(24)*STATES(2))*CONSTS(42)+CONSTS(26))/(( ( CONSTS(23)*STATES(1)+ CONSTS(24)*STATES(2))*CONSTS(42))/CONSTS(25)+CONSTS(27))
      ALGBRC(7) =  ( CONSTS(32)*STATES(1)+ CONSTS(33)*STATES(2))*CONSTS(43)
      ALGBRC(8) =  (ALGBRC(7)/(1.00000+ CONSTS(29)*ALGBRC(5)+ CONSTS(28)*CONSTS(30)))*((CONSTS(34)+CONSTS(31))/(CONSTS(34)+ CONSTS(35)*ALGBRC(7)))
      ALGBRC(9) = ALGBRC(8)/(CONSTS(36)+ALGBRC(8))
      ALGBRC(6) =  ( CONSTS(23)*STATES(1)+ CONSTS(24)*STATES(2))*CONSTS(42)*(1.00000 - ALGBRC(5)/CONSTS(25))
      ALGBRC(10) =  ALGBRC(8)*(1.00000+ CONSTS(29)*ALGBRC(5)+ CONSTS(28)*CONSTS(30))
      ALGBRC(11) =  CONSTS(34)*(1.00000 - ALGBRC(10)/ALGBRC(7))
      ALGBRC(12) =  - CONSTS(35)*ALGBRC(10)
      ALGBRC(13) = ALGBRC(11)+CONSTS(31)
      RETURN
      END
      REAL FUNCTION TERNRY(TEST, VALA, VALB)
      LOGICAL TEST
      REAL VALA, VALB
      IF (TEST) THEN
        TERNRY = VALA
      ELSE
        TERNRY = VALB
      ENDIF
      RETURN
      END