📄 module1.bas
字号:
Attribute VB_Name = "Exm_4"
'*****************************************************************
'*
'*----------------- EXAMPLE FOUR ----------------------------
'*
'* -=中国石油大学=-
'******************************************************************
Option Explicit
Public AMU As Double
Public DEN As Double, WBAR As Double, COND As Double, CP As Double, RHOCP As Double
Public DPDZ As Double, DTBDZ As Double
Public ASUM#, TSUM#, WSUM#, TW#, AR#, WR#, TB#, DH#, RE#, FRE#, QW#, ANU#
Dim j As Long, i As Long
Dim THEAT#, DTDZ#, PI#, WP#, TBULK#, HTP#, HTC#
Sub GRID()
LSolve(4) = True
LPrint(4) = True
LPrint(5) = True
Title(4) = ".W/WBAR."
Title(5) = ".THETA."
NTIMES(4) = 4
NTIMES(5) = 4
LAST = 6
MODE = 3
PI = 3.14159
XL = 15# * PI / 180#
YL = 1#
R(1) = 1#
L1 = 7
M1 = 7
Call UGRID
End Sub
Sub START()
TW = 1#
For j = 1 To M1
For i = 1 To L1
F(i, j, 4) = 0#
F(i, j, 5) = TW
Next i
Next j
AMU = 1#
DPDZ = -2000#
RHOCP = 1#
COND = 1#
DTDZ = 100#
End Sub
Sub DENSE()
End Sub
Sub BOUND()
ASUM = 0#
WSUM = 0#
TSUM = 0#
For j = 2 To M2
For i = 2 To L2
If Not (i = 2# And j <= 4) Then
AR = YCVR(j) * XCV(i)
WSUM = WSUM + F(i, j, 4) * AR
TSUM = TSUM + AR * F(i, j, 4) * F(i, j, 5)
ASUM = ASUM + AR
End If
Next i
Next j
WBAR = WSUM / ASUM
WP = (R(1) + R(M1)) * XL + (1# + XCV(2)) * (RMN(5) - R(1))
DH = 4# * ASUM / WP
RE = RHOCON * WBAR * DH / AMU
FRE = -2# * DPDZ * DH / (RHOCON * WBAR ^ 2 + 1E-30) * RE
TBULK = TSUM / (WSUM + 1E-30)
HTP = WP - R(M1) * XL
HTC = RHOCP * WSUM * DTDZ / ((TW - TBULK + 1E-30) * HTP)
ANU = HTC * DH / COND
If (ITER < 3) Then Exit Sub
LSolve(5) = True
LSolve(4) = False
End Sub
Sub OUTPUT()
If (ITER = 0#) Then
Print #1,
Print #1, " ITER"; Space(8); "F.RE"; Space(8); "NU"
End If
' 400 WRITE(8,402) ITER,FRE,ANU
'402 FORMAT(1X,I6,1P2E20.4)
Print #1,
Print #1, Format(ITER, "0# "); Format(FRE, "0.###E+##"), Format(ANU, "0.###E+##")
If (ITER <> LAST) Then Exit Sub
For j = 1 To M1
For i = 1 To L1
F(i, j, 4) = F(i, j, 4) / WBAR
F(i, j, 5) = (F(i, j, 5) - TW) / (TBULK - TW + 1E-30)
Next i
Next j
Call ToPrint
End Sub
Sub GAMSOR()
For i = 1 To L1
For j = 1 To M1
GAM(i, j) = AMU
If (NF <> 5) Then GAM(i, j) = COND
GAM(1, j) = 0#
GAM(L1, j) = 0#
If (NF = 5) Then GAM(i, M1) = 0#
If (j <= 4) Then GAM(2, j) = 10000000000#
If (NF = 5 And j <= 4) Then GAM(2, j) = 10# * COND
Next j
Next i
For j = 2 To M2
For i = 2 To L2
CON(i, j) = -DPDZ
If (NF = 5) Then CON(i, j) = -DTDZ * F(i, j, 4) * RHOCP
Next i
Next j
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -