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 1 entries in the algebraic variable array.
C There are a total of 20 entries in each of the rate and state variable arrays.
C There are a total of 17 entries in the constant variable array.
C
C
C VOI is time in component environment (second).
C STATES(1) is Py in component Py (nanomolar).
C STATES(2) is Zn in component Zn (nanomolar).
C STATES(3) is Py1 in component Py1 (nanomolar).
C CONSTS(1) is r3 in component model_parameters (third_order_rate_constant).
C CONSTS(2) is r4 in component model_parameters (first_order_rate_constant).
C STATES(4) is Dw in component Dw (nanomolar).
C STATES(5) is Qw2 in component Qw2 (nanomolar).
C CONSTS(3) is k_1 in component model_parameters (first_order_rate_constant).
C CONSTS(4) is k1a in component model_parameters (second_order_rate_constant).
C STATES(6) is Qw1 in component Qw1 (nanomolar).
C STATES(7) is Rw in component Rw (nanomolar).
C CONSTS(5) is k2 in component model_parameters (second_order_rate_constant).
C CONSTS(6) is k_2 in component model_parameters (first_order_rate_constant).
C ALGBRC(1) is k3 in component model_parameters (first_order_rate_constant).
C STATES(8) is Mw in component Mw (nanomolar).
C STATES(9) is Px in component Px (nanomolar).
C STATES(10) is Px1 in component Px1 (nanomolar).
C STATES(11) is Dz in component Dz (nanomolar).
C STATES(12) is Qz4 in component Qz4 (nanomolar).
C CONSTS(7) is r1 in component model_parameters (second_order_rate_constant).
C CONSTS(8) is r2 in component model_parameters (first_order_rate_constant).
C CONSTS(9) is k1b in component model_parameters (second_order_rate_constant).
C STATES(13) is Qz2 in component Qz2 (nanomolar).
C CONSTS(10) is k1 in component model_parameters (second_order_rate_constant).
C STATES(14) is Tp in component Tp (nanomolar).
C STATES(15) is Tp1 in component Tp1 (nanomolar).
C CONSTS(11) is r5 in component model_parameters (second_order_rate_constant).
C CONSTS(12) is r6 in component model_parameters (first_order_rate_constant).
C STATES(16) is Qz1 in component Qz1 (nanomolar).
C STATES(17) is Rz in component Rz (nanomolar).
C CONSTS(13) is k2a in component model_parameters (second_order_rate_constant).
C STATES(18) is Qz3 in component Qz3 (nanomolar).
C STATES(19) is Qz5 in component Qz5 (nanomolar).
C CONSTS(14) is k2b in component model_parameters (second_order_rate_constant).
C CONSTS(15) is k2c in component model_parameters (second_order_rate_constant).
C STATES(20) is Mz in component Mz (nanomolar).
C CONSTS(16) is td0 in component model_parameters (second).
C CONSTS(17) is td in component model_parameters (second).
C RATES(1) is d/dt Py in component Py (nanomolar).
C RATES(3) is d/dt Py1 in component Py1 (nanomolar).
C RATES(4) is d/dt Dw in component Dw (nanomolar).
C RATES(7) is d/dt Rw in component Rw (nanomolar).
C RATES(6) is d/dt Qw1 in component Qw1 (nanomolar).
C RATES(5) is d/dt Qw2 in component Qw2 (nanomolar).
C RATES(8) is d/dt Mw in component Mw (nanomolar).
C RATES(9) is d/dt Px in component Px (nanomolar).
C RATES(10) is d/dt Px1 in component Px1 (nanomolar).
C RATES(14) is d/dt Tp in component Tp (nanomolar).
C RATES(15) is d/dt Tp1 in component Tp1 (nanomolar).
C RATES(2) is d/dt Zn in component Zn (nanomolar).
C RATES(11) is d/dt Dz in component Dz (nanomolar).
C RATES(17) is d/dt Rz in component Rz (nanomolar).
C RATES(16) is d/dt Qz1 in component Qz1 (nanomolar).
C RATES(13) is d/dt Qz2 in component Qz2 (nanomolar).
C RATES(18) is d/dt Qz3 in component Qz3 (nanomolar).
C RATES(12) is d/dt Qz4 in component Qz4 (nanomolar).
C RATES(19) is d/dt Qz5 in component Qz5 (nanomolar).
C RATES(20) is d/dt Mz in component Mz (nanomolar).
C
      SUBROUTINE initConsts(CONSTS, RATES, STATES)
      REAL CONSTS(*), RATES(*), STATES(*)
      STATES(1) = 25.0
      STATES(2) = 10000.0
      STATES(3) = 0.0
      CONSTS(1) = 4.41E10
      CONSTS(2) = 9E-3
      STATES(4) = 4.0
      STATES(5) = 0.0
      CONSTS(3) = 0.9
      CONSTS(4) = 1.0
      STATES(6) = 0.0
      STATES(7) = 50.0
      CONSTS(5) = 0.02
      CONSTS(6) = 0.3
      STATES(8) = 0.0
      STATES(9) = 50.0
      STATES(10) = 0.0
      STATES(11) = 2.0
      STATES(12) = 0.0
      CONSTS(7) = 2.73E2
      CONSTS(8) = 3.437E-4
      CONSTS(9) = 1.253E-2
      STATES(13) = 0.0
      CONSTS(10) = 0.025
      STATES(14) = 10000.0
      STATES(15) = 0.0
      CONSTS(11) = 3E4
      CONSTS(12) = 1.506E-2
      STATES(16) = 0.0
      STATES(17) = 100.0
      CONSTS(13) = 0.00005
      STATES(18) = 0.0
      STATES(19) = 0.0
      CONSTS(14) = 0.0002
      CONSTS(15) = 0.0037
      STATES(20) = 0.0
      CONSTS(16) = 1800.0
      CONSTS(17) = 2700
      RETURN
      END
      SUBROUTINE computeRates(VOI, CONSTS,  RATES, STATES, ALGBRC)
      REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*)
      RATES(1) =  CONSTS(2)*STATES(3) -  CONSTS(1)*STATES(2) ** 2.00000*STATES(1)
      RATES(3) = ( CONSTS(1)*STATES(2) ** 2.00000*STATES(1)+ CONSTS(3)*STATES(5)) - ( CONSTS(2)*STATES(3)+ CONSTS(4)*STATES(4)*STATES(3))
      RATES(5) =  CONSTS(4)*STATES(4)*STATES(3) -  CONSTS(3)*STATES(5)
      RATES(9) = ( CONSTS(8)*STATES(10)+ CONSTS(3)*STATES(12)) - ( CONSTS(7)*STATES(2)*STATES(9)+ CONSTS(9)*STATES(11)*STATES(9))
      RATES(10) = ( CONSTS(7)*STATES(2)*STATES(9)+ CONSTS(3)*STATES(13)) - ( CONSTS(8)*STATES(10)+ CONSTS(10)*STATES(11)*STATES(10))
      RATES(14) =  CONSTS(12)*STATES(15) -  CONSTS(11)*STATES(2)*STATES(14)
      RATES(15) =  CONSTS(11)*STATES(2)*STATES(14) -  CONSTS(12)*STATES(15)
      RATES(2) = ( CONSTS(8)*STATES(10)+ CONSTS(12)*STATES(15)) - ( CONSTS(7)*STATES(2)*STATES(9)+ CONSTS(11)*STATES(2)*STATES(14))
      ALGBRC(1) = TERNRY(VOI.GE.0.00000.AND.VOI.LT.CONSTS(16), 0.00000, TERNRY(VOI.GE.CONSTS(16).AND.VOI.LT.CONSTS(17), 0.0110000, 0.0/0.0)
      RATES(4) = ( CONSTS(3)*STATES(5)+ ALGBRC(1)*STATES(6)+ CONSTS(6)*STATES(6)) - ( CONSTS(4)*STATES(4)*STATES(3)+ CONSTS(5)*STATES(4)*STATES(7))
      RATES(7) = ( ALGBRC(1)*STATES(6)+ CONSTS(6)*STATES(6)) -  CONSTS(5)*STATES(4)*STATES(7)
      RATES(6) =  CONSTS(5)*STATES(4)*STATES(7) - ( ALGBRC(1)*STATES(6)+ CONSTS(6)*STATES(6))
      RATES(8) =  ALGBRC(1)*STATES(6)
      RATES(11) = ( CONSTS(3)*STATES(13)+ ALGBRC(1)*STATES(16)+ CONSTS(6)*STATES(16)+ CONSTS(3)*STATES(12)) - ( CONSTS(9)*STATES(11)*STATES(9)+ CONSTS(10)*STATES(11)*STATES(10)+ CONSTS(13)*STATES(11)*STATES(17))
      RATES(17) = ( ALGBRC(1)*STATES(16)+ CONSTS(6)*STATES(16)+ ALGBRC(1)*STATES(18)+ CONSTS(6)*STATES(18)+ ALGBRC(1)*STATES(19)+ CONSTS(6)*STATES(19)) - ( CONSTS(13)*STATES(11)*STATES(17)+ CONSTS(14)*STATES(12)*STATES(17)+ CONSTS(15)*STATES(13)*STATES(17))
      RATES(16) =  CONSTS(13)*STATES(11)*STATES(17) - ( ALGBRC(1)*STATES(16)+ CONSTS(6)*STATES(16))
      RATES(13) = ( CONSTS(10)*STATES(11)*STATES(10)+ ALGBRC(1)*STATES(18)+ CONSTS(6)*STATES(18)) - ( CONSTS(3)*STATES(13)+ CONSTS(15)*STATES(13)*STATES(17))
      RATES(18) =  CONSTS(15)*STATES(13)*STATES(17) - ( ALGBRC(1)*STATES(18)+ CONSTS(6)*STATES(18))
      RATES(12) = ( CONSTS(9)*STATES(11)*STATES(9)+ ALGBRC(1)*STATES(19)+ CONSTS(6)*STATES(19)) - ( CONSTS(3)*STATES(12)+ CONSTS(14)*STATES(12)*STATES(17))
      RATES(19) =  CONSTS(14)*STATES(12)*STATES(17) - ( ALGBRC(1)*STATES(19)+ CONSTS(6)*STATES(19))
      RATES(20) =  ALGBRC(1)*STATES(16)+ ALGBRC(1)*STATES(18)+ ALGBRC(1)*STATES(19)
      RETURN
      END
      SUBROUTINE computeVariables(VOI, CONSTS, RATES, STATES, ALGBRC)
      REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*)
      ALGBRC(1) = TERNRY(VOI.GE.0.00000.AND.VOI.LT.CONSTS(16), 0.00000, TERNRY(VOI.GE.CONSTS(16).AND.VOI.LT.CONSTS(17), 0.0110000, 0.0/0.0)
      RETURN
      END
      REAL FUNCTION TERNRY(TEST, VALA, VALB)
      LOGICAL TEST
      REAL VALA, VALB
      IF (TEST) THEN
        TERNRY = VALA
      ELSE
        TERNRY = VALB
      ENDIF
      RETURN
      END