📄 exm_7.bas
字号:
Attribute VB_Name = "Exm_7"
'*****************************************************************
'*
'*----------------- EXAMPLE SEVEN -----------------------------
'*
'*****************************************************************
Option Explicit
Dim GBR#, DPDZ As Double
Dim TM As Double
Dim i%, j As Integer, PR#, AMU#, AMUP#, FRE#, WBAR#
Sub GRID()
For i = 1 To 4
LSolve(i) = True
LPrint(i) = True
Next i
LPrint(5) = True
LPrint(11) = True
Title(1) = ".VEL U."
Title(2) = ".VEL V."
Title(3) = ".STR FN."
Title(4) = ". TEMP ."
Title(5) = ".W/WBAR."
Title(11) = "PRESSURE"
RELAX(1) = 0.5
RELAX(2) = 0.5
RELAX(11) = 0.8
LAST = 25
XL = 1#
YL = 1#
L1 = 7
M1 = 7
Call UGRID
End Sub
Sub START()
GBR = 10000#
DPDZ = -3000#
For j = 1 To M1
For i = 1 To L1
f(i, j, 1) = 0#
f(i, j, 2) = 0#
f(i, j, 4) = 0#
f(L1, j, 4) = 1#
f(i, j, 5) = 100#
If (i = 1 Or i = L1) Then f(i, j, 5) = 0#
If (j = 1 Or j = M1) Then f(i, j, 5) = 0#
Next i
Next j
PR = 0.7
AMU = 1#
AMUP = AMU / PR
End Sub
Sub DENSE()
End Sub
Sub BOUND()
FRE = 0#
If ITER < 20 Then
Exit Sub
End If
If Not LSolve(5) Then
For NF = 1 To 4
LSolve(NF) = False
Next NF
LSolve(5) = True
End If
WBAR = 0#
For j = 2 To M2
For i = 2 To L2
WBAR = WBAR + f(i, j, 5) * XCV(i) * YCV(j)
Next i
Next j
FRE = -DPDZ * 2# * XL * YL / (WBAR * AMU)
End Sub
Sub OUTPUT()
If (ITER = 0) Then
Print #1,
Print #1, " ITER"; Space(6); "SMAX"; Space(8); "SSUM"; Space(7); "V(6,4)"; Space(8); "T(2,6)"; Space(8); " F.RE"
End If
Print #1,
Print #1, Format(ITER, "0# "); Format(SMAX, "#.000E+###"); Space(4); Format(SSUM, "#.000E+###"); _
Space(4); Format(f(6, 4, 2), "#.000E+###"); Space(4); Format(f(2, 6, 4), "#.000E+###"); Space(4); Format(FRE, "#.000E+###");
If (ITER <> LAST) Then Exit Sub
For j = 1 To M1
For i = 1 To L1
f(i, j, 5) = f(i, j, 5) / WBAR
Next i
Next j
Call ToPrint
End Sub
Sub GAMSOR()
For j = 1 To M1
For i = 1 To L1
GAM(i, j) = AMU
If (NF = 4) Then
GAM(i, j) = AMUP
GAM(i, 1) = 0#
GAM(i, M1) = 0#
End If
Next i
Next j
For j = 2 To M2
For i = 2 To L2
If (NF = 2) Then
If (j <> 2) Then
TM = (f(i, j, 4) + f(i, j - 1, 4)) * 0.5
CON(i, j) = TM * GBR
End If
Else
If (NF = 5) Then
CON(i, j) = -DPDZ
End If
End If
Next i
Next j
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -