⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 p8.for

📁 关于simple算法
💻 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 + -