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

📄 exm_6.bas

📁 VB版本_SIMPLE算法和11各个算例
💻 BAS
字号:
Attribute VB_Name = "Exm_6"
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#, RHOT#
Dim j As Long, i As Long
Dim THEAT#, DTDZ#, PI#, WP#, TBULK#, HTP#, HTC#, TIN#, VOUT#, VIN#, PR#, AMUP#, TREF#, RHOREF#
'*****************************************************************
'*
'*----------------- EXAMPLE SIX -----------------------------
'*
'*****************************************************************


      Sub GRID()
      LAST = 60
      For i = 1 To 4
            LSolve(i) = True
            LPrint(i) = True
      Next
      LPrint(11) = True
      LPrint(12) = True
      Title(1) = ".VEL  U."
      Title(2) = ".VEL  V."
      Title(3) = ".STR FN."
      Title(4) = ". TEMP ."
      Title(11) = "PRESSURE"
      Title(12) = "DENSITY"
      RELAX(1) = 0.5
      RELAX(2) = 0.5
      RELAX(11) = 0.8
      XL = 0.5
      YL = 2#
      L1 = 7
      M1 = 12
      Call UGRID
      End Sub

      Sub START()
      TIN = 500
      TW = 300#
      VIN = 100#
      VOUT = VIN * XCV(L2) / X(L1) * TW / TIN
      For j = 1 To M1
           For i = 1 To L1
                F(i, j, 1) = 0
                F(i, j, 2) = VOUT
                F(i, 2, 2) = 0
                F(1, j, 2) = 0#
                F(i, j, 4) = TW
           Next
      Next
      F(L2, 2, 2) = VIN
      F(L2, 1, 4) = TIN
      PR = 0.7
      AMU = 1#
      AMUP = AMU / PR
      TREF = 300#
      RHOREF = 1#
      RHOT = RHOREF * TREF
      End Sub
      Sub DENSE()
      For j = 1 To M1
           For i = 1 To L1
               RHO(i, j) = RHOT / F(i, j, 4)
           Next
      Next
      End Sub
      Sub BOUND()
      Dim FLOWIN#, FL#, FACTOR#
      If (ITER = 0) Then
              FLOWIN = RHO(L2, 1) * F(L2, 2, 2) * XCV(L2)
      End If
      FL = 0#
      For i = 2 To L2
              FL = FL + RHO(i, M1) * F(i, M2, 2) * XCV(i)
      Next
      FACTOR = FLOWIN / FL
      For i = 2 To L2
             F(i, M1, 2) = F(i, M2, 2) * FACTOR
             F(i, M1, 4) = F(i, M2, 4)
      Next i
      End Sub
      Sub OUTPUT()
      If (ITER = 0) Then
      'WRITE(8,401)
  '401 FORMAT(1X,'   ITER',7X,'SMAX',11X,'SSUM',10X,'V(4,7)',
   '  &  9X,'T(4,7)')
       Print #1,
       Print #1, "   ITER"; Space(7); "SMAX"; Space(11); "SSUM"; Space(10); "V(4,7)"; Space(10); "T(4,7)"
      End If
  '400 WRITE(8,403) ITER,SMAX,SSUM,V(4,7),T(4,7)
  '403 FORMAT(1X,I6,1P4E15.3)
      Print #1,
      Print #1, ITER; Space(6); Format(SMAX, "#.000E+00"); Space(6); _
            Format(SSUM, "#.000E+00"); Space(6); Format(F(4, 7, 2), "#.000E+00"); _
            Space(6); Format(F(4, 7, 4), "#.000E+00")
      If (ITER = LAST) Then 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
                 If (NF <> 1) Then GAM(L1, j) = 0#
                 GAM(i, M1) = 0#
            Next i
      Next j
      End Sub

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -