📄 fluid_initial.f90
字号:
subroutine initial()
use varible
integer I,J,K
ENTRY GRID
LSOLVE(4)=.TRUE.
LAST=22
XL=0.5
YL=0.5
CALL UGRID
RETURN
ENTRY START
TW=0.
DO 100 J=1,M1
DO 100 I=1,L1
W(I,J)=0.
T(I,J)=1.
T(I,M1)=TW
T(L1,J)=TW
100 CONTINUE
AMU=1.
DEN=1.
COND=1.
CP=1.
RHOCP=DEN*CP
DPDZ=-100.
DTBDZ=5.
RETURN
ENTRY DENSE
RETURN
ENTRY BOUND
ASUM=0.
WSUM=0.
TSUM=0.
DO 300 J=2,M2
DO 300 I=2,L2
AR=XCV(I)*YCV(J)
WR=W(I,J)*AR
WSUM=WSUM+WR
ASUM=ASUM+AR
300 TSUM=TSUM+WR*T(I,J)
WBAR=WSUM/ASUM
TB=TSUM/(WSUM+1.E-30)
DH=4.*XL*YL/(XL+YL)
RE=DEN*WBAR*DH/AMU
FRE=-2.*DPDZ*DH/(DEN*WBAR**2+1.E-30)*RE
QW=DTBDZ*RHOCP*WSUM/(XL+YL)
ANU=QW*DH/(COND*(TW-TB)+1.E-30)
IF(ITER.NE.10) GOTO 301
LSOLVE(5)=.TRUE.
LSOLVE(4)=.FALSE.
301 CONTINUE
RETURN
ENTRY GAMSOR
DO 500 I=1,L1
DO 500 J=1,M1
GAM(I,J)=AMU
IF(NF.EQ.5) GAM(I,J)=COND
GAM(I,1)=0.
GAM(1,J)=0.
500 CONTINUE
IF(NF.EQ.5) GOTO 511
DO 510 J=2,M2
DO 510 I=2,L2
CON(I,J)=-DPDZ
510 CONTINUE
RETURN
511 DO 520 J=2,M2
DO 520 I=2,L2
THEAT=(T(I,J)-TW)/(TB-TW+1.E-30)
DTDZ=THEAT*DTBDZ
520 CON(I,J)=-RHOCP*W(I,J)*DTDZ
RETURN
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -