duopoly.f 848 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. SUBROUTINE DUOPOLY (PRFT,PRFR,TC,USCT,UCET,USET,FSC,FCE,AA,
  2. 1 PSC,PCE,BB,TAUSC,TAUCE,TAUSE)
  3. IMPLICIT REAL*8 (A-H,O-Z)
  4. DIMENSION W(3000), IACT(51)
  5. INCLUDE 'param.inc'
  6. COMMON /PB/ NPROB
  7. COMMON /VARS/ Z
  8. NMAX = 50
  9. EPS = 1.0D-6
  10. DO 10, I=1, NMAX
  11. USCT0 = USCT
  12. UCET0 = UCET
  13. USET0 = USET
  14. C PRINT '(I5,3F8.3)', I, USCT, UCET,USET
  15. CALL PRFROAD (PRFR,TC,USCT,UCET,USET,FSC,FCE,AA,
  16. 1 PSC,PCE,BB,TAUSC,TAUCE,TAUSE)
  17. CALL PRFTRAIN (PRFT,TC,USCT,UCET,USET,FSC,FCE,AA,
  18. 1 PSC,PCE,BB,TAUSC,TAUCE,TAUSE)
  19. DU = (USCT-USCT0)**2+(UCET-UCET0)**2+(USET-USET0)**2
  20. IF (DU.LT.EPS) GOTO 15
  21. 10 CONTINUE
  22. PRINT *, 'No convergence after ', NMAX, ' iterations'
  23. 15 CONTINUE
  24. RETURN
  25. END