?? p8.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 8 ----------------------------
*-----------------------------------------------------------------------
GOTO (1,2,3,4,5,6),K
*-----------------------------------------------------------------------
* ENTRY GRID
1 XL=0.5
YL=0.5
L1=7
M1=7
R(1)=0.
MODE=2
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)=' R.VTH '
TITLE(11)='PRESSURE'
RELAX(1)=0.5
RELAX(2)=0.5
RELAX(11)=0.8
LPRINT(11)=.TRUE.
LAST=25
OMEGA=100.
UIN=100.
DO 100 J=1,M1
DO 100 I=1,L1
U(I,J)=0.
V(I,J)=0.
F(I,J,4)=0.
F(L1,J,4)=R(J)**2*OMEGA
100 CONTINUE
U(2,2)=UIN
AMU=1.
RETURN
*-----------------------------------------------------------------------
* ENTRY DENSE
3 CONTINUE
RETURN
*-----------------------------------------------------------------------
* ENTRY BOUND
4 CONTINUE
IF(ITER.NE.0)GOTO 300
FLOWIN=RHO(1,2)*U(2,2)*YCVR(2)
300 FL=0.
AR=0.
DO 301 I=L3,L2
FLT=R(M1)*XCV(I)*RHO(I,M1)
AR=AR+FLT
301 FL=FL+FLT*V(I,M2)
ADD=(FLOWIN-FL)/AR
DO 302 I=L3,L2
302 V(I,M1)=V(I,M2)+ADD
RETURN
*-----------------------------------------------------------------------
* ENTRY OUTPUT
5 CONTINUE
IF(ITER.NE.0) GO TO 400
WRITE(*,401)
401 FORMAT(' ITER',7X,'SMAX',11X,'SSUM',10X,'U(4,4)',9X,'V(4,4)')
400 WRITE(*,403) ITER,SMAX,SSUM,U(4,4),V(4,4)
403 FORMAT(I6,1P4E15.4)
IF(ITER.EQ.LAST)CALL SUPPLY(2)
RETURN
*-----------------------------------------------------------------------
* ENTRY GAMSOR
6 CONTINUE
IF(ITER.NE.0)GOTO 501
DO 500 J=1,M1
DO 500 I=1,L1
GAM(I,J)=AMU
500 CONTINUE
GAM(L3,M1)=0.
GAM(L2,M1)=0.
501 CONTINUE
IF(NF.NE.2)GOTO 510
DO 502 J=3,M2
DO 502 I=2,L2
RSWM=FY(J)*F(I,J,4)+FYM(J)*F(I,J-1,4)
RHOM=FY(J)*RHO(I,J)+FYM(J)*RHO(I,J-1)
CON(I,J)=RHOM*RSWM**2/RMN(J)**3
502 AP(I,J)=-AMU/RMN(J)**2
510 IF(NF.NE.4)RETURN
DO 512 J=2,M2
DO 512 I=2,L2
AR=2.*AMU/YCVR(J)
CON(I,J)=AR*F(I,J-1,4)
512 AP(I,J)=-AR
RETURN
END
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -