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
