stway.f 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. *DECK STWAY
  2. SUBROUTINE STWAY (U, V, YHP, INOUT, STOWA)
  3. C***BEGIN PROLOGUE STWAY
  4. C***SUBSIDIARY
  5. C***PURPOSE Subsidiary to BVSUP
  6. C***LIBRARY SLATEC
  7. C***TYPE SINGLE PRECISION (STWAY-S, DSTWAY-D)
  8. C***AUTHOR Watts, H. A., (SNLA)
  9. C***DESCRIPTION
  10. C
  11. C This subroutine stores (recalls) integration data in the event
  12. C that a restart is needed (the homogeneous solution vectors become
  13. C too dependent to continue)
  14. C
  15. C***SEE ALSO BVSUP
  16. C***ROUTINES CALLED STOR1
  17. C***COMMON BLOCKS ML15TO, ML18JR, ML8SZ
  18. C***REVISION HISTORY (YYMMDD)
  19. C 750601 DATE WRITTEN
  20. C 890921 Realigned order of variables in certain COMMON blocks.
  21. C (WRB)
  22. C 891214 Prologue converted to Version 4.0 format. (BAB)
  23. C 900328 Added TYPE section. (WRB)
  24. C 910722 Updated AUTHOR section. (ALS)
  25. C***END PROLOGUE STWAY
  26. C
  27. DIMENSION U(*),V(*),YHP(*),STOWA(*)
  28. C
  29. COMMON /ML8SZ/ C,XSAV,IGOFX,INHOMO,IVP,NCOMP,NFC
  30. COMMON /ML15TO/ PX,PWCND,TND,X,XBEG,XEND,XOT,XOP,INFO(15),ISTKOP,
  31. 1 KNSWOT,KOP,LOTJP,MNSWOT,NSWOT
  32. COMMON /ML18JR/ AE,RE,TOL,NXPTS,NIC,NOPG,MXNON,NDISK,NTAPE,NEQ,
  33. 1 INDPVT,INTEG,NPS,NTP,NEQIVP,NUMORT,NFCC,
  34. 2 ICOCO
  35. C
  36. C***FIRST EXECUTABLE STATEMENT STWAY
  37. IF (INOUT .EQ. 1) GO TO 100
  38. C
  39. C SAVE IN STOWA ARRAY AND ISTKOP
  40. C
  41. KS=NFC*NCOMP
  42. CALL STOR1(STOWA,U,STOWA(KS+1),V,1,0,0)
  43. KS=KS+NCOMP
  44. IF (NEQIVP .EQ. 0) GO TO 50
  45. DO 25 J=1,NEQIVP
  46. KSJ=KS+J
  47. 25 STOWA(KSJ)=YHP(KSJ)
  48. 50 KS=KS+NEQIVP
  49. STOWA(KS+1)=X
  50. ISTKOP=KOP
  51. IF (XOP .EQ. X) ISTKOP=KOP+1
  52. RETURN
  53. C
  54. C RECALL FROM STOWA ARRAY AND ISTKOP
  55. C
  56. 100 KS=NFC*NCOMP
  57. CALL STOR1(YHP,STOWA,YHP(KS+1),STOWA(KS+1),1,0,0)
  58. KS=KS+NCOMP
  59. IF (NEQIVP .EQ. 0) GO TO 150
  60. DO 125 J=1,NEQIVP
  61. KSJ=KS+J
  62. 125 YHP(KSJ)=STOWA(KSJ)
  63. 150 KS=KS+NEQIVP
  64. X=STOWA(KS+1)
  65. INFO(1)=0
  66. KO=KOP-ISTKOP
  67. KOP=ISTKOP
  68. IF (NDISK .EQ. 0 .OR. KO .EQ. 0) RETURN
  69. DO 175 K=1,KO
  70. 175 BACKSPACE NTAPE
  71. RETURN
  72. END