?? p7.for
字號:
*=======================================================================
SUBROUTINE USER(K)
*-----------------------------------------------------------------------
$INCLUDE:'SIMPLE.INC'
DIMENSION TH(22),THU(22),THDIF(22),THCV(22),THCVS(22)
EQUIVALENCE(X,TH),(XU,THU),(XDIF,THDIF),(XCV,THCV),
+ (XCVS,THCVS),(XL,THL)
*-----------------------------------------------------------------------
COMMON/CNTL/LSTOP
COMMON/SORC/SMAX,SSUM
COMMON/COEF/FLOW,DIFF,ACOF
*-----------------------------------------------------------------------
*--------------------------- PROBLEM 7 ----------------------------
*-----------------------------------------------------------------------
DIMENSION T(22,22)
EQUIVALENCE (F(1,1,4),T(1,1))
*-----------------------------------------------------------------------
GOTO (1,2,3,4,5,6),K
*-----------------------------------------------------------------------
* ENTRY GRID
1 XL=1.
YL=1.
L1=7
M1=7
MODE=1
CALL SUPPLY(1)
RETURN
*-----------------------------------------------------------------------
* ENTRY START
2 CONTINUE
DO 14 I=1,4
LSOLVE(I)=.TRUE.
14 LPRINT(I)=.TRUE.
TITLE(1)=' VEL U '
TITLE(2)=' VEL V '
TITLE(3)=' STR FN'
TITLE(4)=' TEMP '
TITLE(11)='PRESSURE'
TITLE(5)=' W/WBAR '
RELAX(1)=0.5
RELAX(2)=0.5
RELAX(11)=0.8
LPRINT(11)=.TRUE.
LPRINT(5)=.TRUE.
LAST=25
GBR=1.E+4
DPDZ=-3000.
DO 100 J=1,M1
DO 100 I=1,L1
U(I,J)=0.
V(I,J)=0.
T(I,J)=0.
T(L1,J)=1.
F(I,J,5)=100.
IF(I.EQ.1.OR.I.EQ.L1)F(I,J,5)=0.
IF(J.EQ.1.OR.J.EQ.M1)F(I,J,5)=0.
100 CONTINUE
PR=.7
AMU=1.
AMUP=AMU/PR
RETURN
*-----------------------------------------------------------------------
* ENTRY DENSE
3 CONTINUE
RETURN
*-----------------------------------------------------------------------
* ENTRY BOUND
4 CONTINUE
FRE=0.
IF(ITER.LT.20)RETURN
IF(LSOLVE(5))GOTO 301
DO 300 NF=1,4
300 LSOLVE(NF)=.FALSE.
LSOLVE(5)=.TRUE.
301 WBAR=0.
DO 302 J=2,M2
DO 302 I=2,L2
302 WBAR=WBAR+F(I,J,5)*XCV(I)*YCV(J)
FRE=-DPDZ*2.*XL*YL/(WBAR*AMU)
RETURN
*-----------------------------------------------------------------------
* ENTRY OUTPUT
5 CONTINUE
IF(ITER.NE.0) GO TO 400
WRITE(*,401)
401 FORMAT(' ITER',6X,'SMAX',8X,'SSUM',7X,'V(6,4)',6X,
+ 'T(2,6)',6X,'F.RE')
400 WRITE(*,403) ITER,SMAX,SSUM,V(6,4),T(2,6),FRE
403 FORMAT(I6,1P5E12.3)
IF(ITER.NE.LAST)RETURN
DO 410 J=1,M1
DO 410 I=1,L1
410 F(I,J,5)=F(I,J,5)/WBAR
CALL SUPPLY(2)
RETURN
*-----------------------------------------------------------------------
* ENTRY GAMSOR
6 CONTINUE
DO 500 J=1,M1
DO 500 I=1,L1
GAM(I,J)=AMU
IF(NF.NE.4) GO TO 500
GAM(I,J)=AMUP
GAM(I,1)=0.
GAM(I,M1)=0.
500 CONTINUE
DO 510 J=2,M2
DO 510 I=2,L2
IF(NF.NE.2) GOTO 503
IF(J.EQ.2)GOTO 510
TM=0.5*(T(I,J)+T(I,J-1))
CON(I,J)=TM*GBR
GOTO 510
503 IF(NF.NE.5)GOTO 510
CON(I,J)=-DPDZ
510 CONTINUE
RETURN
END
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -