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 6 entries in each of the rate and state variable arrays.
C There are a total of 13 entries in the constant variable array.
C
C
C VOI is time in component environment (second).
C STATES(1) is D in component equations (dimensionless).
C STATES(2) is A_1 in component equations (dimensionless).
C STATES(3) is A_2 in component equations (dimensionless).
C ALGBRC(1) is R_off in component equations (dimensionless).
C CONSTS(1) is x_0 in component equations (dimensionless).
C STATES(4) is x_1 in component equations (dimensionless).
C STATES(5) is x_2 in component equations (dimensionless).
C ALGBRC(8) is g in component equations (per_second).
C ALGBRC(12) is f in component equations (per_second).
C ALGBRC(9) is h in component equations (per_second).
C ALGBRC(4) is lambda_A1 in component equations (dimensionless).
C ALGBRC(6) is lambda_A2 in component equations (dimensionless).
C ALGBRC(5) is F_t in component equations (dimensionless).
C ALGBRC(2) is E_1 in component equations (dimensionless).
C ALGBRC(3) is E_2 in component equations (dimensionless).
C ALGBRC(13) is dSL_dt in component equations (per_second).
C STATES(6) is SL in component equations (dimensionless).
C CONSTS(2) is k_on in component equations (per_second).
C CONSTS(3) is k_off in component equations (per_second).
C CONSTS(4) is f_r in component equations (per_second).
C ALGBRC(10) is f_prime in component equations (per_second).
C CONSTS(5) is f_prime_0 in component equations (per_second).
C CONSTS(6) is h_0 in component equations (per_second).
C ALGBRC(11) is h_prime in component equations (per_second).
C CONSTS(7) is h_prime_0 in component equations (per_second).
C CONSTS(8) is g_0 in component equations (per_second).
C CONSTS(9) is nu in component equations (dimensionless).
C ALGBRC(7) is sigma in component equations (dimensionless).
C CONSTS(10) is sigma_minus in component equations (dimensionless).
C CONSTS(11) is sigma_plus in component equations (dimensionless).
C CONSTS(12) is R_T in component equations (dimensionless).
C CONSTS(13) is e_cb in component equations (dimensionless).
C RATES(1) is d/dt D in component equations (dimensionless).
C RATES(2) is d/dt A_1 in component equations (dimensionless).
C RATES(3) is d/dt A_2 in component equations (dimensionless).
C RATES(5) is d/dt x_2 in component equations (dimensionless).
C RATES(4) is d/dt x_1 in component equations (dimensionless).
C RATES(6) is d/dt SL in component equations (dimensionless).
C
      SUBROUTINE initConsts(CONSTS, RATES, STATES)
      REAL CONSTS(*), RATES(*), STATES(*)
      STATES(1) = 0.005
      STATES(2) = 0.005
      STATES(3) = 0.005
      CONSTS(1) = 1e-16
      STATES(4) = 1e-16
      STATES(5) = 1e-16
      STATES(6) = 2
      CONSTS(2) = 120
      CONSTS(3) = 50
      CONSTS(4) = 50
      CONSTS(5) = 400
      CONSTS(6) = 8
      CONSTS(7) = 6
      CONSTS(8) = 4
      CONSTS(9) = 3
      CONSTS(10) = 1
      CONSTS(11) = 8
      CONSTS(12) = 1
      CONSTS(13) = 1.5
      RETURN
      END
      SUBROUTINE computeRates(VOI, CONSTS,  RATES, STATES, ALGBRC)
      REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*)
      ALGBRC(7) = TERNRY(STATES(5).GT.CONSTS(1), CONSTS(11), TERNRY(STATES(5).LT.CONSTS(1), CONSTS(10), 0.00000)
      ALGBRC(8) =  CONSTS(8)*EXP( ALGBRC(7)*STATES(5) - CONSTS(1) ** 2.00000)
      ALGBRC(9) =  CONSTS(6)*EXP( ALGBRC(7)*STATES(4) ** 2.00000)
      ALGBRC(11) =  CONSTS(7)*EXP( ALGBRC(7)*(STATES(5) ** 2.00000 - STATES(4) ** 2.00000))
      RATES(3) =  ALGBRC(9)*STATES(2) -  (ALGBRC(11)+ALGBRC(8))*STATES(3)
      ALGBRC(1) = ((CONSTS(12) - STATES(1)) - STATES(2)) - STATES(3)
      ALGBRC(4) = STATES(2)/CONSTS(12)
      ALGBRC(6) = STATES(3)/CONSTS(12)
      ALGBRC(12) =  CONSTS(4)*1.00000+ ALGBRC(4)*(EXP( (STATES(4)/CONSTS(1))*(CONSTS(9) - 1.00000)) - 1.00000)+ ALGBRC(6)*(EXP( (STATES(5)/CONSTS(1))*(CONSTS(9) - 1.00000)) - 1.00000) ** 2.00000
      ALGBRC(10) =  CONSTS(5)*EXP( ALGBRC(7)*STATES(4) ** 2.00000)
      RATES(1) = ( CONSTS(2)*ALGBRC(1)+ ALGBRC(10)*STATES(2)+ ALGBRC(8)*STATES(3)) -  (CONSTS(3)+ALGBRC(12))*STATES(1)
      RATES(2) = ( ALGBRC(12)*STATES(1)+ ALGBRC(11)*STATES(3)) -  (ALGBRC(10)+ALGBRC(9))*STATES(2)
      ALGBRC(13) = TERNRY(VOI.GT.0.00100000.AND.VOI.LT.0.00200000, 21.2000, 0.00000)
      RATES(5) = TERNRY(STATES(3).EQ.0.00000, ALGBRC(13),  (( - ALGBRC(9)*STATES(2))/STATES(3))*(STATES(5) - CONSTS(1))+ALGBRC(13))
      RATES(4) = TERNRY(STATES(2).EQ.0.00000, ALGBRC(13),  - (( ALGBRC(12)*STATES(1))/STATES(2)+( ALGBRC(11)*STATES(3))/STATES(2))*STATES(4)+ALGBRC(13))
      RATES(6) = ALGBRC(13)
      RETURN
      END
      SUBROUTINE computeVariables(VOI, CONSTS, RATES, STATES, ALGBRC)
      REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*)
      ALGBRC(7) = TERNRY(STATES(5).GT.CONSTS(1), CONSTS(11), TERNRY(STATES(5).LT.CONSTS(1), CONSTS(10), 0.00000)
      ALGBRC(8) =  CONSTS(8)*EXP( ALGBRC(7)*STATES(5) - CONSTS(1) ** 2.00000)
      ALGBRC(9) =  CONSTS(6)*EXP( ALGBRC(7)*STATES(4) ** 2.00000)
      ALGBRC(11) =  CONSTS(7)*EXP( ALGBRC(7)*(STATES(5) ** 2.00000 - STATES(4) ** 2.00000))
      ALGBRC(1) = ((CONSTS(12) - STATES(1)) - STATES(2)) - STATES(3)
      ALGBRC(4) = STATES(2)/CONSTS(12)
      ALGBRC(6) = STATES(3)/CONSTS(12)
      ALGBRC(12) =  CONSTS(4)*1.00000+ ALGBRC(4)*(EXP( (STATES(4)/CONSTS(1))*(CONSTS(9) - 1.00000)) - 1.00000)+ ALGBRC(6)*(EXP( (STATES(5)/CONSTS(1))*(CONSTS(9) - 1.00000)) - 1.00000) ** 2.00000
      ALGBRC(10) =  CONSTS(5)*EXP( ALGBRC(7)*STATES(4) ** 2.00000)
      ALGBRC(13) = TERNRY(VOI.GT.0.00100000.AND.VOI.LT.0.00200000, 21.2000, 0.00000)
      ALGBRC(2) =  CONSTS(13)*STATES(2)
      ALGBRC(3) =  CONSTS(13)*STATES(3)
      ALGBRC(5) =  ALGBRC(2)*STATES(4)+ ALGBRC(3)*STATES(5)
      RETURN
      END
      REAL FUNCTION TERNRY(TEST, VALA, VALB)
      LOGICAL TEST
      REAL VALA, VALB
      IF (TEST) THEN
        TERNRY = VALA
      ELSE
        TERNRY = VALB
      ENDIF
      RETURN
      END