⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 module1.bas

📁 VB版本_SIMPLE算法和11各个算例
💻 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 + -