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

📄 sample.bas

📁 一个关于物性计算的软件
💻 BAS
📖 第 1 页 / 共 2 页
字号:
Public k1 As Long, k2 As Long, k3 As Long
Public t1 As Double, p1 As Double, d1 As Double
Public t2 As Double, p2 As Double, d2 As Double
Public t3 As Double, p3 As Double, d3 As Double
Public wmm As Double, ttrp As Double, tnbpt As Double, Zc As Double, acf As Double, dip As Double, Rgas As Double

Sub Example()
  'Pure fluid:
  nc = 1
  hfld = "fluids\nitrogen.fld"
  
  'Mixture:
  nc = 3
  hfld = "fluids\nitrogen.fld|fluids\argon.fld|fluids\oxygen.fld|"
  x(1) = 0.7812
  x(2) = 0.0092
  x(3) = 0.2096
  
  'See fortran for inputs:
  'Call SETMODdll(nc, htype, hmix, hcomp, ierr, herr, 3&, 3&, 255&, 255&)
  
  hfmix = "fluids\hmx.bnc"
  hrf = "DEF"
  Call SETUPdll(nc, hfld, hfmix, hrf, ierr, herr, 10000&, 255&, 3&, 255&)
  
  'See fortran for inputs:
  'Call SETREFdll(hrf, ix, x(1), hRef, sRef, Tref, pref, ierr, herr, 3&, 255&)
  
  t = 100    'K
  p = 1000   'kPa
  
  'Get fluid info for component 1
  Call INFOdll(1, wmm, ttrp, tnbpt, tc, pc, dc, Zc, acf, dip, Rgas)
  
  'Get mixture critical parameters:
  Call CRITPdll(x(1), tc, pc, dc, ierr, herr, 255&)
  
  'Get molecular weight:
  Call WMOLdll(x(1), wm)
  
  'Get limits:
  htyp = "EOS"
  Call LIMITXdll(htyp, t, d, p, x(1), tmin, tmax, dmax, pmax, ierr, herr, 3&, 255&)
  
  'Get d from t,p if phase is known:
  'Fourth input: 1 - liquid, 2 - vapor
  'Fourth and fifth inputs must be LONG values!  (include the &)
  Call TPRHOdll(t, p, x(1), 1&, 0&, d, ierr, herr, 255&)
  
  'Get d from t,p if phase is not known:
  Call TPFLSHdll(t, p, x(1), d, Dl, Dv, xliq(1), xvap(1), q, e, h, s, cv, cp, w, ierr, herr, 255&)
  
  'Calculate properties given T and d:
  Call PRESSdll(t, d, x(1), p)
  Call THERM2dll(t, d, x(1), p, e, h, s, cv, cp, w, z, hjt, a, g, xkappa, beta, dPdD, d2PdD2, dPdT, dDdT, dDdP, spare1, spare2, spare3, spare4)
  Call VIRBdll(t, x(1), b)
  Call VIRCdll(t, x(1), c)
  Call DIELECdll(t, d, x(1), de)
  Call FGCTYdll(t, d, x(1), f(1))
  Call SURTENdll(t, d, rhov, x(1), xv(1), sigma, ierr, herr, 255&)
  Call TRNPRPdll(t, d, x(1), eta, tcx, ierr, herr, 255&)
  
  'Saturation routines:
  'Third input for Satt and Satp is:  1 - bubble point, 2 - dew point
  Call SATTdll(t, x(1), 1&, p, Dl, Dv, xliq(1), xvap(1), ierr, herr, 255&)
  Call SATPdll(p, x(1), 1&, t, Dl, Dv, xliq(1), xvap(1), ierr, herr, 255&)
  'Call SATDdll(d, x(1), 1&, kr, t, p, Dl, Dv, xliq(1), xvap(1), ierr, herr, 255&)
  'Call SATHdll(h, x(1), 0&, nroot, k1, t, p1, d1, k2, t2, p2, d2, ierr, herr, 255&)
  'Call SATSdll(s, x(1), 0&, nroot, k1, t1, p1, d1, k2, t2, p2, d2, k3, t3, p3, d3, ierr, herr, 255&)
  
  'Routines to calculate properties when T and d are not both known:
  'Call DEFLSHdll(d, e, x(1), t, p, Dl, Dv, xliq(1), xvap(1), q, h, s, cv, cp, w, ierr, herr, 255&)
  'Call DHFLSHdll(d, h, x(1), t, p, Dl, Dv, xliq(1), xvap(1), q, e, s, cv, cp, w, ierr, herr, 255&)
  'Call DSFLSHdll(d, s, x(1), t, p, Dl, Dv, xliq(1), xvap(1), q, e, h, cv, cp, w, ierr, herr, 255&)
  'Call PDFLSHdll(p, d, x(1), t, Dl, Dv, xliq(1), xvap(1), q, e, h, s, cv, cp, w, ierr, herr, 255&)
  'Call PEFLSHdll(p, e, x(1), t, d, Dl, Dv, xliq(1), xvap(1), q, e, h, cv, cp, w, ierr, herr, 255&)
  'Call PHFLSHdll(p, h, x(1), t, d, Dl, Dv, xliq(1), xvap(1), q, e, s, cv, cp, w, ierr, herr, 255&)
  'Call PQFLSHdll(p, q, x(1), 1&, t, d, Dl, Dv, xliq(1), xvap(1), e, h, s, cv, cp, w, ierr, herr, 255&)
  'Call PSFLSHdll(p, s, x(1), t, d, Dl, Dv, xliq(1), xvap(1), q, e, h, cv, cp, w, ierr, herr, 255&)
  'Call TDFLSHdll(t, d, x(1), p, Dl, Dv, xliq(1), xvap(1), q, e, h, s, cv, cp, w, ierr, herr, 255&)
  'Call TEFLSHdll(t, e, x(1), 1&, p, d, Dl, Dv, xliq(1), xvap(1), q, h, s, cv, cp, w, ierr, herr, 255&)
  'Call THFLSHdll(t, h, x(1), 1&, p, d, Dl, Dv, xliq(1), xvap(1), q, e, s, cv, cp, w, ierr, herr, 255&)
  'Call TQFLSHdll(t, q, x(1), 1&, p, d, Dl, Dv, xliq(1), xvap(1), e, h, s, cv, cp, w, ierr, herr, 255&)
  'Call TSFLSHdll(t, s, x(1), 1&, p, d, Dl, Dv, xliq(1), xvap(1), q, e, h, cv, cp, w, ierr, herr, 255&)
  
  'Melting and sublimation routines:
  'Call MELTPdll(p, x(1), t, ierr, herr, 255&)
  'Call MELTTdll(t, x(1), p, ierr, herr, 255&)
  'Call SUBLTdll(t, x(1), p, ierr, herr, 255&)
  'Call SUBLPdll(p, x(1), t, ierr, herr, 255&)
  
  'Convert mole fraction to/from mass fraction:
  'Call XMASSdll(x(1), xmm(1), wm)
  'Call XMOLEdll(x(1), xmm(1), wm)
End Sub

⌨️ 快捷键说明

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