📄 module1.bas
字号:
Attribute VB_Name = "Exm_11"
'*****************************************************************
'*
'*----------------- EXAMPLE ELEVEN -----------------------------
'*
'*****************************************************************
'Option Explicit
Dim i%, j%, DEPTH#, UIN#, TIN#, TAIR#, HTC#, PR#, CP#, AMU#, AMUP#, FDZ#
Sub GRID()
For i = 1 To 2
LSolve(i) = True
LPrint(i) = True
Next i
LSolve(3) = True
LPrint(4) = True
LPrint(11) = True
Title(1) = ".VEL U."
Title(2) = ".VEL V."
Title(4) = ". TEMP ."
Title(11) = "PRESSURE"
RELAX(1) = 0.5
RELAX(2) = 0.5
RELAX(11) = 1#
LAST = 40
XL = 1#
YL = 2#
L1 = 7
M1 = 12
Call UGRID
End Sub
Sub START()
DEPTH = 0.2
FLOW = 4#
UIN = 100#
TIN = 500#
TAIR = 100#
HTC = 2#
PR = 5#
CP = 1.2
AMU = 1#
AMUP = AMU / PR
FDZ = FLOW / DEPTH
For j = 1 To M1
For i = 1 To L1
f(i, j, 1) = 0#
f(i, j, 2) = 0#
f(i, j, 4) = TAIR
Next i
Next j
End Sub
Sub DENSE()
End Sub
Sub BOUND()
If (ITER < 35) Then Exit Sub
For NF = 1 To 3
LSolve(NF) = False
Next NF
LSolve(4) = True
End Sub
Sub OUTPUT()
If (ITER = 0) Then
'WRITE(8,401)
'401 FORMAT(1X,' ITER',6X,'SMAX',8X,'SSUM',7X,'V(4,7)', 6X,'U(6,4)',6X,'T(5,9)')
Print #1,
Print #1, " ITER"; Space(6); "SMAX"; Space(8); "SSUM"; Space(7); "V(4,7)"; Space(6); "U(6,4)"; Space(6); "T(5,9)"
End If
'400 WRITE(8,403) ITER,SMAX,SSUM,V(4,7),U(6,4),T(5,9)
'403 FORMAT(1X,I6,1P5E12.3)
Print #1,
Print #1, Format(ITER, "0# "); Format(SMAX, "#.000E+###"); Space(4); Format(SSUM, "#.000E+###"); _
Space(4); Format(f(4, 7, 2), "#.000E+###"); Space(4); Format(f(6, 4, 1), "#.000E+###"); Space(4); Format(f(5, 9, 4), "#.000E+###");
If (ITER <> LAST) Then Exit Sub
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#
GAM(1, j) = 0#
GAM(L1, j) = 0#
End If
Next i
Next j
If (NF = 1) Then
SOR = 0.5 * FDZ / (XCVS(4) * YCV(4))
CON(4, 4) = SOR * UIN
AP(4, 4) = -SOR
SOR = 0.5 * FDZ / (XCVS(5) * YCV(4))
CON(5, 4) = SOR * UIN
AP(5, 4) = -SOR
Exit Sub
End If
If (NF = 2) Then
SOR = 0.5 * FDZ / (XCV(4) * YCVS(4))
AP(4, 4) = -SOR
SOR = 0.5 * FDZ / (XCV(4) * YCVS(5))
AP(4, 5) = -SOR
Exit Sub
End If
If (NF = 3) Then
CON(4, 4) = FDZ / (XCV(4) * YCV(4))
CON(5, 9) = -FDZ / (XCV(5) * YCV(9))
Exit Sub
End If
If (NF = 4) Then
SOR = HTC / (CP * DEPTH)
For j = 2 To M2
For i = 2 To L2
CON(i, j) = SOR * TAIR
AP(i, j) = -SOR
Next i
Next j
SOR = FDZ / (XCV(4) * YCV(4))
CON(4, 4) = CON(4, 4) + SOR * TIN
AP(4, 4) = AP(4, 4) - SOR
End If
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -