equilibrium.f 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. SUBROUTINE EQUILIBRIUM (TC,USCT,UCET,USET,FSC,FCE,FSE,AA,
  2. 1 PSC,PCE,BB,TAUSC,TAUCE,TAUSE,ID)
  3. C ID = 2, Equilibrium without direct train SE
  4. C ID = 11, Equilibrium with direct train SE
  5. IMPLICIT REAL*8 (A-H,O-Z)
  6. DIMENSION Z(14), X(3), XL(3), XU(3)
  7. DIMENSION W(3000), IACT(51)
  8. INCLUDE 'param.inc'
  9. COMMON /PB/ NPROB
  10. COMMON /VARS/ Z
  11. ZERO = 0.0D0
  12. ONE = 1.0D0
  13. TWO = 2.0D0
  14. NPROB=ID
  15. Z(4) = TAUSC
  16. Z(5) = TAUCE
  17. Z(6) = TAUSE
  18. Z(7) = PSC
  19. Z(8) = PCE
  20. Z(14) = BB
  21. Z(10) = FSC
  22. Z(11) = FCE
  23. Z(12) = FSE
  24. Z(13) = AA
  25. N=3
  26. NPT=N+2
  27. C INITIAL CONDITION
  28. X(1)=POPSC/TWO
  29. X(2)=POPCE/TWO
  30. X(3)=POPSE/TWO
  31. C SET BOUNDS FOR VARIABLES
  32. XL(1)=ZERO
  33. XL(2)=ZERO
  34. XL(3)=ZERO
  35. XU(1)=POPSC
  36. XU(2)=POPCE
  37. XU(3)=POPSE
  38. C SET PARAMETERS FOR BOBYQA
  39. RHOBEG=5.0D-1
  40. RHOEND=1.0D-6
  41. IPRINT=0
  42. MAXFUN=2000
  43. CALL BOBYQA (N,NPT,X,XL,XU,RHOBEG,RHOEND,IPRINT,MAXFUN,W,IACT)
  44. USCT = X(1)
  45. UCET = X(2)
  46. USET = X(3)
  47. NPROB = ID - 1
  48. CALL CALFUN(N,X,F)
  49. TC = F
  50. RETURN
  51. END