📄 exm_8.bas
字号:
Attribute VB_Name = "Exm_8"
'
' DIMENSION U(22, 22), V(22, 22), PC(22, 22)
' EQUIVALENCE (F(1,1,1),U(1,1)),(F(1,1,2),V(1,1)),(F(1,1,3),PC(1,1))
' DIMENSION TH(22), THU(22), THDIF(22), THCV(22), THCVS(22)
' EQUIVALENCE(X,TH),(XU,THU),(XDIF,THDIF),(XCV,THCV)
' & ,(XCVS,THCVS),(XL,THL)
'*****************************************************************
'*
'*----------------- EXAMPLE EIGHT -----------------------------
'*
'*****************************************************************
Option Explicit
Dim i%, j%, OMEGA#, UIN#, AMU#, FLOWIN#, FL#, AR#, FLT#, Add#, RSWM#
Dim RHOM#
Sub GRID()
For i = 1 To 4
LSolve(i) = True
LPrint(i) = True
Next
LPrint(11) = True
Title(1) = ".VEL U."
Title(2) = ".VEL V."
Title(3) = ".STR FN."
Title(11) = "PRESSURE"
RELAX(1) = 0.5
RELAX(2) = 0.5
RELAX(11) = 0.8
LAST = 25
MODE = 2
XL = 0.5
YL = 0.5
L1 = 7
M1 = 7
R(1) = 0#
Call UGRID
End Sub
Sub START()
OMEGA = 100#
UIN = 100#
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) = R(j) ^ 2 * OMEGA
Next i
Next j
F(2, 2, 1) = UIN
AMU = 1#
End Sub
Sub DENSE()
End Sub
Sub BOUND()
If (ITER = 0) Then
FLOWIN = RHO(1, 2) * F(2, 2, 1) * YCVR(2)
End If
FL = 0#
AR = 0#
For i = L3 To L2
FLT = R(M1) * XCV(i) * RHO(i, M1)
AR = AR + FLT
FL = FL + FLT * F(i, M2, 2)
Next i
Add = (FLOWIN - FL) / AR
For i = L3 To L2
F(i, M1, 2) = F(i, M2, 2) + Add
Next
End Sub
Sub OUTPUT()
If (ITER = 0) Then
Print #1,
Print #1, " ITER"; Space(7); "SMAX"; Space(11); "SSUM"; Space(10); "U(4,4)"; Space(9); "V(4,4)"
End If
Print #1,
Print #1, Format(ITER, "0# "); Format(SMAX, "#.000E+###"); Space(4); _
Format(SSUM, "#.000E+###"); Space(4); Format(F(4, 4, 1), "#.000E+###"); _
Space(4); Format(F(4, 4, 2), "#.000E+###")
If (ITER = LAST) Then
Call ToPrint
End If
End Sub
Sub GAMSOR()
If (ITER = 0) Then
For j = 1 To M1
For i = 1 To L1
GAM(i, j) = AMU
Next i
Next j
GAM(L3, M1) = 0#
GAM(L2, M1) = 0#
End If
If (NF = 2) Then
For j = 3 To M2
For i = 2 To 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
AP(i, j) = -AMU / RMN(j) ^ 2
Next i
Next j
End If
If (NF <> 4) Then Exit Sub
For j = 2 To M2
For i = 2 To L2
AR = 2# * AMU / YCVR(j)
CON(i, j) = AR * F(i, j - 1, 4)
AP(i, j) = -AR
Next i
Next j
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -