exm_3.bas
来自「VB版本_SIMPLE算法和11各个算例」· BAS 代码 · 共 120 行
BAS
120 行
Attribute VB_Name = "Exm_3"
'*****************************************************************
'*
'*----------------- EXAMPLE THREE ----------------------------
'*
'*****************************************************************
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#
Sub GRID()
LSolve(4) = True
LPrint(4) = True
LPrint(5) = True
Title(4) = ".W/WBAR."
Title(5) = ".THETA."
LAST = 22
XL = 0.5
YL = 0.5
L1 = 7
M1 = 7
Call UGRID
End Sub
Sub START()
TW = 0#
For j = 1 To M1
For i = 1 To L1
f(i, j, 4) = 1#
f(i, M1, 0.5) = TW
f(L1, j, 5) = TW
Next i
Next j
AMU = 1#
DEN = 1#
COND = 1#
CP = 1#
RHOCP = DEN * CP
DPDZ = -100#
DTBDZ = 5#
End Sub
Sub DENSE()
End Sub
Sub BOUND()
ASUM = 0#
WSUM = 0#
TSUM = 0#
For j = 2 To M2
For i = 2 To L2
AR = XCV(i) * YCV(j)
WR = f(i, j, 4) * AR
WSUM = WSUM + WR
ASUM = ASUM + AR
TSUM = TSUM + WR * f(i, j, 5)
Next i
Next j
WBAR = WSUM / ASUM
'MsgBox CStr(TSUM)
TB = TSUM / (WSUM + 1E-30)
DH = 4# * XL * YL / (XL + YL)
RE = DEN * WBAR * DH / AMU
FRE = -2 * DPDZ * DH / (DEN * WBAR ^ 2 + 1E-30) * RE
QW = DTBDZ * RHOCP * WSUM / (XL + YL)
ANU = QW * DH / (COND * (TW - TB) + 1E-30)
If (ITER = 0.1) Then
LSolve(5) = True
LSolve(4) = False
End If
End Sub
Sub OUTPUT()
If (ITER = 0) Then
Print #1,
Print #1, "ITER"; Space(12); "F.RE"; Space(17); "NU"
End If
Print #1,
Print #1, Format(ITER, "######"); FRE, ANU
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) / (TB - TW)
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(i, 1) = 0#
GAM(1, j) = 0#
Next j
Next i
If (NF <> 5) Then
For j = 2 To M2
For i = 2 To L2
CON(i, j) = -DPDZ
Next i
Next j
Exit Sub
Else
For j = 2 To M2
For i = 2 To L2
THEAT = (f(i, j, 5) - TW) / (TB - TW + 1E-30)
DTDZ = THEAT * DTBDZ
CON(i, j) = -RHOCP * f(i, j, 4) * DTDZ
Next i
Next j
End If
End Sub
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?