General Information FluidProp is a standard interface to several software libraries for the calculation of thermodynamic and transport properties of fluids. This program is developed by P. Colonna and T.P. van der Stelt , Energy Technology Section, Delft University of Technology. Each thermodynamic library implements one or more thermodynamic models for a number of different fluids and mixtures. Fig. 1 schematically shows the main structure of the program.
Fig. 1: FluidProp Structure FluidProp makes it easy to obtain fluid properties in different MS Windows? programs and development environments because it is a COM server , i.e. it follows the Component Object Model standard, a software architecture developed by Microsoft to build component-based applications. COM objects are discrete components, each with a unique identity, which expose interfaces that allow applications and other components to access their features. COM objects are more versatile than Win32 DLLs because they are completely language-independent, have built-in interprocess communications capability, and easily fit into an object-oriented program design. COM was first released in 1993 with OLE2, largely to replace the interprocess communication mechanism DDE used by the initial release of OLE. ActiveX also is based on COM. Server means that it provides calculated values to a main program, which is usually defined as a client; therefore both programs implement a client-server architecture. The new Microsoft .NET runtime environment is fully compatible with the COM standard. FluidProp provides a common interface to the following thermodynamic libraries: GasMix IF97 RefProp (not included in the FluidProp package, must be obtained from NIST ) StanMix TPSI
Independently from the syntax of the client program, the procedure for the calculation of a property is as follows: First call the SetFluid procedure to define the thermodynamic library and the fluid, e.g.
SetFluid( LibName , FluidName ) This function also returns an object identifier (ObjID ) or "memory address" which defines where the input information about the chosen fluid is stored in the memory of the computer. Secondly call the procedure for the desired property and supply the object identifier, the input specification that defines the thermodynamic state and the corresponding values, e.g. Enthalpy( ObjID , InputSpecifier , Value1 , Value2 ) Many thermodynamic properties can be computed by FluidProp with a large number of combinations of input properties to define the thermodynamic state: Available Thermodynamic and Transport Properties Available Thermodynamic State Definitions One innovative feature of FluidProp is that for all thermodynamic models, except for IF97, it is possible to calculate some derived thermodynamic functions (see Table of available Thermodynamic and Transport Properties ) that are demanded e.g. by up-to-date CFD or process dynamics software. In this respect, see e.g.:
1 . Colonna, P. and Silva, P., May 2003. ''Dense Gas Thermodynamic Properties of Single and MultiComponent Fluids for Fluid Dynamics Simulations.'' J. Fluids Engrg. , 125 , pp. 414-427.
2 . Colonna, P. and Rebay, S., 2004. ''Numerical simulation of dense gas flows on unstructured grids with an implicit high resolution upwind Euler solver.'' Int. J. Numer. Meth. Fluids . Accepted for publication.
At the moment the following programs and programming environments have been tested with FluidProp: The Mathworks Matlab/Simulink (Matlab and Simulink Examples ) Microsoft Visual Basic (VB client Example ) Intel Visual Fortran (IVF client Example ) Compaq Visual Fortran (VF client Example ) Microsoft Visual C++ (VC client Example ) Borland C++ (BC client Example ) Borland C++ Builder (BCB client Example ) Microsoft Excel (Excel Example ) Maple (Maple Example ) Every program or development environment supporting the COM standard can be client of the FluidProp server. The following methods (or functions), ordered by category, are available in FluidProp:
Object creation and cleanup Working fluid definition
Simultaneous calculation of
CreateObject
SetFluid
all properties
ReleaseObjects
GetFluid
AllProps
GetFluidNames
AllPropsSat
GetCompSet (obsolete)
Solve
Primary tmd properties
Secondary tmd properties
Transport properties
Pressure
HeatCapV
Viscosity
Temperature
HeatCapP
ThermCond
SpecVolume
SoundSpeed
Density
Alpha
Enthalpy
Beta
Entropy
Chi
IntEnergy
Fi
VaporQual
Ksi
LiquidCmp
Psi
VaporCmp
Zeta Theta Kappa Gamma
Fluid info
Unit definition
Mmol
SetUnits
Tcrit
SetRefState
Pcrit Tmin Tmax AllInfo
Acknowledgements The late Prof. W.C. Reynolds is hereby greatly thanked first and foremost for his teaching and inspiration which went beyond the scientific field. His contribution is acknowledged for his guidance in the development of StanMix and for providing the first version of TPSI. The authors also gratefully acknowledge the contribution of P. Silva who developed the subroutines for several additional TPSI fluids and for the calculation of additional TPSI properties. Moreover the contribution of Dr. E.W. Lemmon (NIST) is recognized: he provided us with the RefProp source code and further information about the code. Radoslaw Gnutek produced the T-s diagrams in Excel. The library FunCustomize.dll is used to create the "FluidProp" category in the Excel function wizard, appears by courtesy of Laurent Longre (http://xcell05.free.fr/) The authors are also in debt with the late Eric Ruyg who as a student helped Teus van der Stelt developing the IF97 model.
Contact information and bug reporting The authors greatly appreciate any help and report of bugs or any other information. Please tell us also about your desires and new features you would like us to add to FluidProp. Anyone in the field of fluid properties modeling who would like to add new features or another fluid library to FluidProp is more than welcomed! If you are going to use FluidProp stand-alone or incorporate FluidProp in another program, you are required to cite and acknowledge our work as follows: P. Colonna, T.P. van der Stelt, 2004, FluidProp: a program for the estimation of thermo physical properties of fluids, Energy Technology Section, Delft University of Technology, The Netherlands (www.FluidProp.com).
Please contact us via:
[email protected] More information about FluidProp is available at: www.FluidProp.com
GasMix GasMix implements the ideal gas equation of state:
with a temperature dependent specific heat in the form:
Gas data come from the JANAF tables, as documented in:
1 . Gordon, S., McBride, B.J. Computer Program for Calcu lation Compositions. Lewis Research Center , NASA SP-273, 1971.
of
complex
Chemical
Equilibrium
and more recently in:
2 . Chase, J.M.W., J. Phys. Chem. Ref. Data, Monograph 9, 1998.
Transport properties are calculated according to the following methods: - Viscosity: Chapman &endash; Enskog - Thermal conductivity: Eucken Details of the theory and fluid data for these methods can be found in: 3. Reid, R.C., Prausnitz, J.M. and Sherwood, T.K. The Properties of Gases and Liquids, 3rd ed., McGraw-Hill, 1977.
The GasMix components can be used as pure fluids or in a mixture. GasMix provides thermodynamic and transport properties for the fluids in Table 1. The listed FluidProp names (either short or long ) must be used to specify the fluid name in the SetFluid method. For GasMix the short FluidProp name equals the chemical formula of the fluid. For a given fluid, the FluidProp name is the same in all thermodynamic libraries in which the fluid is available.
Table 1
Scientific Name
FluidProp name (short)
FluidProp name (long)
MW Tmin Tmax [g/mol] [°C] [°C]
Acetylene
C2H2
acetylene
26.0382 26.85 4726.85 300
5000
Ammonia
NH3
ammonia
17.0306 26.85 4726.85 300
5000
Argon
Ar
argon
39.948
5000
Tmin Tmax [K] [K]
26.85 4726.85 300
Borane, trichloro
BCl3
trichloro borane
117.1699 26.85 4726.85 300
5000
Borane, trifluoro
BF3
trifluoro borane
67.8061 26.85 4726.85 300
5000
Bromine
Br2
bromine
159.818 26.85 4726.85 300
5000
Carbon dioxide
CO2
carbon dioxide
44.0098 26.85 4726.85 300
5000
Carbon disulfide
CS2
carbon disulfide
76.139
26.85 4726.85 300
5000
Carbon monoxide
CO
carbon monoxide
28.0104 26.85 4726.85 300
5000
Carbon oxide sulfide
COS
carbonyl sulfide
60.0745 26.85 4726.85 300
5000
Carbon tetrachloride
CCl4
carbon tetrachloride
153.823 26.85 4726.85 300
5000
Chloride
Cl2
chloride
70.9059 26.85 4726.85 300
5000
Ethane
C2H6
ethane
30.0694 26.85 2226.85 300
2500
Ethylene
C2H4
ethylene
28.0541 26.85 4726.85 300
5000
Fluorine
F2
fluorine
37.9968 26.85 4726.85 300
5000
Helium
He
helium
4.0026
26.85 4726.85 300
5000
Hydro fluoride
HF
hydro fluoride
20.0063 26.85 4726.85 300
5000
Hydrochloric acid
HCl
hydrochloric acid
36.4609 26.85 4726.85 300
5000
Hydrogen
H2
hydrogen
2.0158
26.85 4726.85 300
5000
Hydrogen atom
H
hydrogen atom
1.0079
26.85 4726.85 300
5000
Hydrogen cyanide
HCN
hydrogen cyanide
27.0258 26.85 4726.85 300
5000
Hydrogen peroxide
H2O2
hydrogen peroxide
34.0147 26.85 4726.85 300
5000
Hydrogen sulfide
H2S
hydrogen sulfide
34.0799 26.85 4726.85 300
5000
Hydroxyl
OH
hydroxyl
17.0073 26.85 4726.85 300
5000
Methane
CH4
methane
16.0426 26.85 4726.85 300
5000
n-Butane
C4H10
butane
58.123
26.85 2226.85 300
2500
Neon
Ne
neon
20.183
26.85 4726.85 300
5000
n-Hexane
C6H14
hexane
86.1766 26.85 1226.85 300
1500
Nitric oxide
NO
nitric oxide
30.0061 26.85 4726.85 300
5000
Nitrogen
N2
nitrogen
28.0134 26.85 4726.85 300
5000
Nitrogen dioxide
NO2
nitrogen dioxide
46.0055 26.85 4726.85 300
5000
Nitrosyl chloride
NOCl
nitrosyl chloride
65.459
26.85 4726.85 300
5000
Nitrous oxide
N2O
nitrous oxide
44.0128 26.85 4726.85 300
5000
n-Pentane
C5H12
pentane
72.1498 26.85 2226.85 300
2500
Oxygen
O2
oxygen
31.9988 26.85 4726.85 300
5000
Oxygen, atomic
O
oxygen atom
15.9994 26.85 4726.85 300
5000
Propane
C3H8
propane
44.0962 26.85 2226.85 300
2500
Silane
SiH4
silane
32.1178 26.85 4726.85 300
5000
Silicon
Si
silicon
28.0855 26.85 4726.85 300
5000
Silicon tetrafluoride
SiF4
silicon tetrafluoride
104.0795 26.85 4726.85 300
5000
Sulfur
S
sulfur
32.064
26.85 4726.85 300
5000
Sulfur dioxide
SO2
sulfur dioxide
64.0627 26.85 4726.85 300
5000
Sulfur hexafluoride
SF6
sulfur hexafluoride
146.0543 26.85 4726.85 300
5000
Sulfur trioxide Water
SO3 H2O
sulfur trioxide water
80.0621 26.85 4726.85 300 18.0152 26.85 4726.85 300
5000 5000
IF97 IF97 implements models for the thermodynamic and transport properties of water and steam according to the IAPWS -IF97 industrial standard and documented in: Wagner, W., Kruse, A. Properties of Water and Steam, The Industrial Standard IAPWS-IF97 for the Thermodynamic Properties and Supplementary Equations for Other Properties, Springer-Verlag Berlin Heidelberg, 1998.
No additional fluids are available in the IF97 library. The main fluid data are:
Scientific name: FluidProp name (short): FluidProp name (long): T critical: P critical: v critical: MW: R: T min: T max: v min:
water H2O water 373.946 220.64 0.0031056 18.015257 461.526 0.01 P <= 100 bar --> Tmax = 2000 °C 100 < P <= 1000 bar --> Tmax = 800 °C 0.000957
[°C] [bar] [m3/kg] [g/mol] [J/kg.K] [°C] [°C] [m3/kg]
RefProp RefProp is developed and maintained by the National Institute of Standard and Technologies and any specific information can be found in the original distribution package. RefProp is not distributed together with the standard version of FluidProp because RefProp is owned and distributed by the National Institute of Standards and Technologies ( NIST ). To get access to RefProp via the common FluidProp interface you must own a valid license of RefProp 8 (or later). Once a valid a license has been obtained or if you have already a valid license, you can contact us about how to establish a link between FluidProp and RefProp. RefProp implements reference equations of state as well as technical equations of state for pure fluids. Reference equations of state are able to describe all experimental thermodynamic property data available for a certain fluid within their experimental uncertainty. Technical equations of state are accurate enough for most technical applications. Mixture properties can also be calculated using a generalized model described in the RefProp documentation. Mixtures can be composed from the list of available pure fluids. R efProp (version 8) provides thermodynamic and transport properties for the pure fluids listed in Table 1. The listed FluidProp names (either short or long ) must be used to specify the fluid name in the SetFluid method. For a given fluid, the FluidProp name is the same in all thermodynamic libraries in which the fluid is available. Table 1 ������
Product Name
Scientific Name
FluidProp FluidProp Name Name (long) (short)
Tc [°C]
P c T min [bar] [°C]
Tmax Pmax [°C] [bar]
dimethyl ketone propanone
C3H6O
acetone
234.95
47
276.85 7000
R-717
ammonia
NH3
ammonia
132.25
113.33 -77.655
R-740
argon
Ar
argon
-122.463 48.63 -189.3442 426.85 10000
C6H6
benzene
C6H6
benzene
288.9
48.94 9.85
361.85 780
R-600
n-butane
C4H10
butane
151.975
37.96 -138.28
315.85 690
1-butylene
1-butene
C4H8
butene
146.14
40.051 -185.35
251.85 700
R-744
carbon dioxide
CO2
carbon dioxide
30.9782
73.773 -56.558
826.85 8000
CO
carbon monoxide
CO
carbon monoxide
-140.29
34.935 -205.023 2226.85 1000
COS
carbon oxide sulfide
COS
carbonyl sulfide
105.62
63.7
-138.85
376.85 500
(Z)-2-butene
cis-2-butene
c-C4H8
cis-butene
162.6
42.255 -138.85
251.85 500
C6H12
cyclohexane
C6H12
cyclohexane
280.49
40.75 6.32
426.85 800
C3H6
cyclopropane
C3H6
cyclopropane
125.15
55.797 -0.15
199.85 280
n-decane
decane
C10H22
decane
344.55
21.03 -29.65
401.85 8000
D2
deuterium
D2
deuterium
-234.81
16.653 -254.44
149.85 3200
RE-170
dimethylether
C2H6O
dimethylether
126.95
53.702 -73.15
176.85 200
n-dodecane
dodecane
C12H26
dodecane
384.95
18.17 -9.55
1226.85 0
R-170
ethane
C2H6
ethane
32.172
48.722 -182.782 401.85 9000
C2H6O
ethyl alcohol
C2H6O
ethanol
240.78
61.309 -23.15
R-1150
ethene
C2H4
ethylene
9.2
50.418 -169.164 176.85 3000
F2
fluorine
F2
fluorine
-128.736 51.724 -219.6689 26.85
D2O
deuterium oxide
D2O
heavy water
370.74
R-704
helium-4
He
helium
-267.9547 2.275 -270.9732 1226.85 1000
n-heptane
heptane
C7H16
heptane
266.98
27.36 -90.6
326.85 1000
n-hexane
hexane
C6H14
hexane
234.67
30.34 -95.32
326.85 1000
R-702
hydrogen (normal)
H2
hydrogen (normal)
-239.96
13.15 -259.193 126.85 1210
H2S
hydrogen sulfide
H2S
hydrogen sulfide
99.95
90
-94.65
216.71 3.82
-85.45
426.85 10000
426.85 5000 200
526.85 1000
486.85 1700
R-600a
2-methylpropane
i-C4H10
isobutane
134.667
36.4
-159.59
299.85 350
methylpropene
2-methyl-1-propene
i-C4H8
isobutene
144.94
40.098 -140.75
276.85 500
i-C6H14
2-methylpentane
i-C6H14
isohexane
224.55
30.4
276.85 10000
R-601a
2-methylbutane
i-C5H12
isopentane
187.2
33.78 -160.5
226.85 10000
Kr
krypton
Kr
krypton
-63.67
55.25 -157.38
476.85 2000
R-50
methane
CH4
methane
-82.586
45.992 -182.4559 351.85 10000
methyl alcohol
methanol
CH4O
methanol
240.23
82.158 -97.54
R-720
neon
Ne
neon
-228.6582 26.786 -248.588 426.85 7000
C5H12
2,2-dimethylpropane
neo-C5H12
neopentane
160.59
R-728
nitrogen
N2
nitrogen
-146.958 33.958 -209.999 1726.85 22000
NF3
nitrogen trifluoride
NF3
nitrogen trifluoride
-39.15
44.607 -188.15
226.85 500
nitrogen oxide
dinitrogen monoxide
N2O
nitrous oxide
36.425
72.54 -90.82
201.85 400
n-nonane
nonane
C9H20
nonane
321.4
22.81 -53.45
301.85 8000
n-octane
octane
C8H18
octane
296.17
24.97 -56.78
326.85 1000
R-732
oxygen
O2
oxygen
-118.569 50.43 -218.789 726.85 820
R-702p
parahydrogen
p-H2
parahydrogen
-240.212 12.838 -259.35
126.85 1210
R-601
pentane
C5H12
pentane
196.55
33.7
326.85 1000
perfluorobutane decafluorobutane
C4F10
perfluoro butane
113.176
23.234 -84.15
226.85 300
perfluoropentane dodecafluoropentane
C5F12
perfluoro pentane
147.405
20.45 -73.15
226.85 300
R-290
propane
C3H8
propane
96.675
42.471 -187.67
349.85 1030
R-1270
propene
C3H6
propylene
92.42
46.646 -173.15
326.85 2000
methyl acetylene propyne
C3H4
propyne
129.23
56.26 -0.15
200.85 320
CFC-11
trichlorofluoromethane
R11
R11
197.96
44.076 -110.47
351.85 300
CFC-113
1,1,2-trichloro-1,2,2trifluoroethane
R113
R113
214.06
33.922 -36.22
251.85 2000
CFC-114
1,2-dichloro-1,1,2,2tetrafluoroethane
R114
R114
145.68
32.57 0
233.85 210
CFC-115
chloropentafluoroethane R115
R115
79.95
31.2
226.85 600
FC-116
hexafluoroethane
R116
19.88
30.48 -100.05
CFC-12
dichlorodifluoromethane R12
R12
111.97
41.361 -157.051 251.85 2000
HCFC-123
2,2-dichloro-1,1,1trifluoroethane
R123
R123
183.681
36.618 -107.15
326.85 400
HCFC-124
1-chloro-1,2,2,2tetrafluoroethane
R124
R124
122.275
36.243 -153.15
196.85 400
HFC-125
pentafluoroethane
R125
R125
66.023
36.177 -100.63
226.85 600
CFC-13
chlorotrifluoromethane
R13
R13
28.85
38.79 -181.15
129.85 350
HFC-134a
1,1,1,2tetrafluoroethane
R134a
R134a
101.06
40.593 -103.3
181.85 700
FC-14
tetrafluoromethane
R14
R14
-45.64
37.5
349.85 510
HCFC-141b
1,1-dichloro-1fluoroethane
R141b
R141b
204.35
42.12 -103.47
226.85 4000
HCFC-142b
1-chloro-1,1difluoroethane
R142b
R142b
137.11
40.55 -130.43
196.85 600
HFC-143a
1,1,1-trifluoroethane
R143a
R143a
72.707
37.61 -111.81
376.85 1000
HFC-152a
1,1-difluoroethane
R152a
R152a
113.261
45.168 -118.59
226.85 600
HCFC-21
dichlorofluoromethane
R21
R21
178.33
51.812 -73.15
200.04 1379
perfluoropropane octafluoropropane
R218
R218
71.87
26.4
-147.7
166.85 200
HCFC-22
chlorodifluoromethane
R22
R22
96.145
49.9
-157.42
276.85 600
HFC-227ea
1,1,1,2,3,3,3heptafluoropropane
R227ea
R227ea
102.8
29.99 -126.8
201.85 600
HFC-23
trifluoromethane
R23
R23
26.143
48.32 -155.13
201.85 1200
HFC-236ea
1,1,1,2,3,3hexafluoropropane
R236ea
R236ea
139.29
35.02 -31.15
226.85 600
HFC-236fa
1,1,1,3,3,3hexafluoropropane
R236fa
R236fa
124.92
32
-93.63
226.85 400
HFC-245ca
1,1,2,2,3pentafluoropropane
R245ca
R245ca
174.42
39.25 -73.15
226.85 600
HFC-245fa
1,1,1,3,3pentafluoropropane
R245fa
R245fa
154.05
36.4
226.85 600
R116
-153.55
31.96 -16.55
-129.68
-99.39
-174.21
-73.15
346.85 8000 276.85 2000
151.85 500
HFC-32
difluoromethane
R32
R32
78.105
57.82 -136.81
161.85 700
HFC-365mfc
1,1,1,3,3pentafluorobutane
C4H5F5
R365mfc
186.85
32.66 -34.15
226.85 350
HFC-41
fluoromethane
R41
R41
44.13
58.97 -143.33
151.85 700
FC-C318
octafluorocyclobutane
C4F8
RC318
115.23
27.775 -39.8
349.85 600
R-764
sulfur dioxide
SO2
sulfur dioxide
157.49
78.84 -75.45
251.85 350
SF6
sulfur hexafluoride
SF6
sulfur hexafluoride
45.583
37.546 -50.77
251.85 550
CH3-C6H5
methylbenzene
C7H8
toluene
318.6
41.263 -95.15
426.85 5000
(E)-2-butene
trans-2-butene
t-C4H8
trans-butene
155.46
40.273 -105.55
251.85 500
CF3I
trifluoroiodomethane
CF3I
trifluoroiodomethane 123.29
39.53 -153.15
146.85 200
R-718
water
H2O
water
373.946
220.64 0.01
1001.85 10000
Xe
xenon
Xe
xenon
16.583
58.42 -111.75
476.85 7000
The predefined mixtures of RefProp are also available through this version of the FluidProp interface. These mixtures are listed in table 2. The listed FluidProp names (either short or long ) must be used to specify the fluid name in the SetFluid method. Table 2
Product Components Name
FluidProp MW T c P c T min Tmax Name [g/mol] [°C] [bar] [°C] [°C] (short and long)
air
nitrogen/oxygen/argon
air
28.9586
-140.3 38.508 -217.44 1720.6
R401a
R22/R152a/R124
R401a
94.4384
107.34 46.08 -155.18 246.7
R401b
R22/R152a/R124
R401b
92.8361
105.57 46.858 -156.39 252.16
R401c
R22/R152a/R124
R401c
101.034
111.73 43.735 -153.27 231.67
R402a
R22/propane/R125
R402a
101.55
75.817 42.194 -145.5 244.83
R402b
R22/propane/R125
R402b
94.7091
82.891 45.156 -154.6 256.45
R403a
R22/propane/R218
R403a
91.9849
86.973 47.054 -168.91 256.07
R403b
R22/propane/R218
R403b
103.257
79.638 43.269 -170.22 234.72
R404a
R125/R134a/R143a
R404a
97.6038
72.046 37.289 -112.09 307.5
R405a
R22/R152a/R142b/RC318
R405a
111.908
106.14 42.845 -140.07 276.98
R406a
R22/isobutane/R142b
R406a
89.8574
116.85 48.566 -153.88 242.03
R407a
R32/R125/R134a
R407a
90.1107
82.257 45.152 -119.09 191.55
R407b
R32/R125/R134a
R407b
102.937
74.969 41.302 -113.09 207.54
R407c
R32/R125/R134a
R407c
86.2036
86.029 46.293 -120.76 185.13
R407d
R32/R125/R134a
R407d
90.9616
91.375 44.68 -117.06 183.55
R407e
R32/R125/R134a
R407e
83.7818
88.459 47.018 -121.8 181.18
R408a
R22/R125/R143a
R408a
87.0149
83.14 42.945 -142.75 315.03
R409a
R22/R124/R142b
R409a
97.4333
109.26 46.986 -157.96 246.96
R409b
R22/R124/R142b
R409b
96.6731
106.92 47.341 -159.22 251.3
R410a
R32/R125
R410a
72.5854
71.35 49.019 -130.26 187.15
R410b
R32/R125
R410b
75.5723
70.816 48.125 -128.62 190.46
R411a
R22/R152a/propylene
R411a
82.3642
99.106 49.519 -158.96 271.07
R411b
R22/R152a/propylene
R411b
83.0689
95.926 49.441 -163.56 275.32
R412a
R22/R142b/R218
R412a
92.1736
107.17 49.045 -156.82 250.23
R413a
R218/R134a/isobutane
R413a
103.955
96.58 40.22 -118.59 178.35
R414a
R22/R124/isobutane/R142b
R414a
96.932
112.68 46.79 -158.46 242.19
R414b
R22/R124/isobutane/R142b
R414b
101.589
110.99 45.917 -159.13 240.97
R415a
R22/R152a
R415a
81.9105
101.97 49.589 -154.57 267.53
R415b
R22/R152a
R415a
70.1946
111.37 46.537 -132.35 238.58
R416a
R134a/R124/butane
R416a
111.921
107.08 39.757 -131.65 185.11
R417a
R134a/R125/butane
R417a
106.746
87.138 40.359 -112.78 199.26
R418a
R22/propane/R152A
R418a
84.5949
96.204 49.813 -162.89 275.65
R419a
R125/R134A/dimethylether
R419a
109.338
82.065 39.385 -110.56 222.43
R420a
R134A/R142B
R420a
101.845
104.76 40.862 -112.97 182.34
R421a
R125/R134A
R421a
111.746
82.775 39.192 -106.99 203.84
R421b
R125/R134A
R421b
116.929
72.41 37.487 -106.16 217.71
R422a
R125/R134A/isobutane
R422a
113.604
71.727 37.462 -114.88 218.41
R422b
R125/R134A/isobutane
R422b
108.518
83.216 39.581 -114.27 202.95
R422c
R125/R134A/isobutane
R422c
113.399
73.07 37.762 -113.98 216.53
R422d
R125/R134A/isobutane
R422d
109.935
79.578 39.052 -115.06 207.82
R423a
R134A/R227EA
R423a
125.959
99.142 35.634 -118.45 185.66
R424a
R125/R134A/isobutane/ butane/isopentane
R424a
108.412
85.889 40.03 -112.34 200.18
R425a
R32/R134A/R227EA
R425a
90.3065
93.883 45.011 -121.54 177.33
R426a
R125/R134A/butane/isopentane R426a
101.559
99.838 40.883 -111.39 183.13
R427a
R32/R125/R143A/R134A
90.444
85.324 43.917 -117.84 201.24
R428a
R125/R143A/propane/isobutane R428a
107.528
69
R500
R12/R152a
R500
99.303
102.09 41.683 -152.94 227.57
R501
R22/R12
R501
93.0983
95.873 47.609 -163.44 266.53
R502
R22/R115
R502
111.628
81.507 40.168 -149.97 262.85
R503
R23/R13
R503
87.2467
18.415 42.803 -178.17 148.57
R504
R32/R115
R504
79.2491
62.138 44.288 -140.24 166.09
R507a
R125/R143a
R507a
98.8592
70.617 37.05 -111.79 308.37
R508a
R23/R116
R508a
100.098
10.192 36.508 -147.21 158.36
R508b
R23/R116
R508b
95.394
11.205 37.716 -150.14 162.79
R509a
R22/R218
R509a
123.962
68.416 35.962 -165.41 205.63
R427a
37.248 -115.78 259.74
StanMix The complete thermodynamic model implemented in StanMix is documented in the following references: 1. Colonna, P., June 1995. Properties of Fluid Mixtures for Thermodynamic Cycles Applications.Tech. rep., Stanford University, Stanford, CA. 2. Angelino, G. and Colonna, P., 1998. ''Multicomponent Working fluids for Organic Rankine Cycles (ORCs).'' Energy , 23 , pp. 449-463.
The PRSV cubic equation of state, which is a modified Peng Robinson equation of state particularly suited for the accurate estimation of saturation properties, is described in 3. Stryjeck, R. and Vera, J.?H., 1986. ``PRSV: An Improved Peng-Robinson Equation Of State For Pure Compounds And Mixtures.'' Can. J. Chem. Eng. , 64, pp. 323-333.
The Wong and Sandler mixing rules which are suitable for the modeling of highly non-ideal mixtures are documented e.g. in: 4. Wong, D. S. H., Sandler, S. I., and Orbey, H., 1992. ``Equation Of State Mixing Rule For Nonideal Mixtures Using Available Activity Coefficient Model Parameters And That Allows Extrapolation Over Large Ranges Of Temperature And Pressure.'' Ind. Eng. Chem. Res. , 31, pp. 2033-2039. 5. Wong, D. S. H. and Sandler, S. I., 1992. ``A Theoretically Correct Mixing Rule for Cubic Equations of State.'' AIChE Journal , 38, pp. 671-680. 6. Huang, H. and Sandler, S. I., 1993. ``Prediction of Vapor-Liquid Equilibria at High Pressures Using Activity Coefficient Parameters Obtained from Low Pressure Data: A comparison of Two Equation of State Mixing Rules.'' Ind. Eng. Chem. Res. , 32, pp. 1498-1503. 7. Orbey, H. and Sandler, S. I., 1993. ``Accurate Equation of State Predictions at high temperatures and pressures using the existing UNIFAC model.'' Fluid Phase Equilib. , 85, pp. 41-54. 8. Sandler, S. I. et al. , 1994. Models For Thermodynamic And Phase Equilibria Calculations . Marcel Dekker, New York. 9. Orbey, H. and Sandler, S. I., 1995. ``On the Combination of Equation of State and Excess Free Energy Models.'' Fluid Phase Equilib. , 111, pp. 53-70. 10. Orbey, H. and Sandler, S. I., 1995. ``Reformulation of Wong-Sandler Mixing Rules for Cubic Equations of State.'' AIChE J. , 41. 11. Orbey, H. and Sandler, S. I., 1995. ``Equation of State modeling of Refrigerant Mixtures.'' Ind. Eng. Chem. Res. , 34, pp. 2520-2525. 12. Orbey, H. and Sandler, S. I., 1997. ``A Comparison of Huron-Vidal Type Mixing Rules of Mixtures of Compounds with Large Size Differences, and a New Mixing Rule.'' Fluid Phase Equilib. , 132, pp. 1-14. 13. Shiflett, M. B. and Sandler, S. I., June 1998. ``Modeling Fluorocarbon Vapor Liquid Equilibria using the WongSandler model.'' Fluid Phase Equilib. , 147, pp. 145-162.
IMPORTANT NOTE : at the moment StanMix implements a simple Successive Substitution Method for the solution of saturation calculations that is known to fail for close-to-critical states and performs worse for highly non-ideal mixtures. The critical point calculation for a mixture is implemented as the pseudo-critical point calculation if the composition is specified by the user, therefore the result is highly inaccurate, but an estimate is necessary for all other type of calculations. For predefined mixtures the critical point is calculated with a "climbing" method, that is the bubble point calculation is repeated by increasing the temperature in ever small steps until it does not converge anymore. This is also an inaccurate estimate even if much better than the pseudo-critical point calculation. We plan to improve these calculations. StanMix provides thermodynamic properties for the pure fluids listed in Table 1 and 2. The listed
FluidProp names (either short or long ) must be used to specify the fluid name the SetFluid method. For a given fluid, the FluidProp name is the same in all thermodynamic libraries in which the fluid is available. Table 1
Product Name Scientific Name
Tc Chemical FluidProp FluidProp Formula Name Name (long) [°C] (short)
1-Propanol
1propanol
C3H8O
1-C3H8O
1-propanol
263.56 51.6955 60.096
59.85
350
2-Propanol
2propanol
C3H8O
2-C3H8O
2-propanol
235.25 47.6425 60.096
51.85
350
Acetone
acetone
C3H6O
C3H6O
acetone
234.95 46.9595 58.08
-94.95 400
Ammonia
ammonia
H3N
NH3
ammonia
132.45 112.977 17.032
-78.15 600
Benzene
benzene
C6H6
C6H6
benzene
289.01 48.9795 78.114
5.85
350
Biphenyl
biphenyl
C12H10
C12H10
biphenyl
496
31.2078 154.21
19.85
350
Carbondioxide
carbon dioxide
CO2
CO2
carbon dioxide
31.04
73.81
44.011
-57.15 800
Cyclohexane
cyclohexane
C6H12
C6H12
cyclohexane
280.49 40.75
84.162
6.85
Ethane
ethane
C2H6
C2H6
ethane
29.28
Ethanol
ethanol
C2H6O
C2H6O
ethanol
240.77 61.4833 46.069
19.85
350
Ethylbenzene
ethylbenzene
C8H10
C8H10
ethylbenzene
344.05 36.06
106.168
32.85
329.85
Hexafluorobenzene hexafluorobenzene
C6F6
C6F6
hexafluoro benzene
243.52 33.378
186
0
400
Hydrogen
hydrogen
H2
H2
hydrogen
-229.55 20.47
2.016
-259.15 350
Isobutane
2-methyl-propane
C4H10
i-C4H10
isobutane
135.05 36.5
58.124
-108.15 135.05
Isopentane
2-methyl-butane
C5H12
i-C5H12
isopentane
187.25 33.9
72.151
-53.15 187.25
Methanol
methanol
CH4O
CH4O
methanol
242.43 80.9579 32.042
14.85
350
Naphthalene
naphthalene
C10H8
C10H8
naphthalene
475.2
86.85
249.85
n-Butane
n-butane
C4H10
C4H10
butane
152.01 37.9661 58.124
-91.15 400
n-Hexane
n-hexane
C6H14
C6H14
hexane
234.15 30.1236 86.178
-41.15 400
Nitrogen
nitrogen
N2
N2
nitrogen
-146.95 34
-209.15 350
n-Octane
n-octane
C8H18
C8H18
octane
295.61 24.8649 114.22
0
n-Pentane
n-pentane
C5H12
C5H12
pentane
196.55 33.6802 72.151
-77.15 400
Oxygen
oxygen
O2
O2
oxygen
-118.38 50.9
31.999
-217.15 350
PP2
PP2
C7F14
C7F14
PP2
211.85 20.6
350
0
600
PP5
perfulorodecalin
C10F18
C10F18
PP5
291.85 17.875
462
0
400
Propane
propane
C3H8
C3H8
propane
96.67
p-Xylene
1,4-dimethylbenzene
C8H10
C8H10
p-xylene
343.08 35.11
106.167
34.85
R113
1,1,2trichlorotrifluorethane
C2Cl3F3
R113
R113
214.15 34.1
187.38
-34.95 400
R114
1,2C2Cl2F4 dichlorotetrafluoroethane
R114
R114
145.75 32.7
170.94
-94
R116
hexafluroethane
R116
R116
19.85
138.012
-100.75 400
R12
dichlorodifluoromethane CCl2F2
R12
R12
111.85 40.7
120.914
-140
R125
pentafluoroethane
R125
R125
66.25
36.31
120.02
-40.15 400
R134a
1,1,1,2-tetrafluoroethane CF3CH2F
R134a
R134a
101.06 40.56
102.03
-63.15 101.06
R14
tetrafluoromethane
CF4
R14
R14
-45.55 37.4
88.005
-183.15 400
R142b
1-chloro-1,1difluoroethane
CH3CCIF2
R142b
R142b
136.45 43.3
100.496
-130.15 136.45
R22
chlorodifluoromethane
CHCLF2
R22
R22
96.05
49.8
86.48
-73.15 400
R23
trifluoromethane
CHF3
R23
R23
25.91
48.41
70.013
-163.15 400
R245fa
1,1,1,3,3pentafluoropropane
C3H3F5
R245fa
R245fa
154.05 36.4
134.055
-73.15 226.85
R32
difluoromethane
CH2F2
R32
R32
78.41
52.024
-124.15 78.41
Toluene
toluene
C7H8
C7H8
toluene
318.65 41.06
92.141
12.85
399.85
Trimethylbenzene 1,2,3-trimethylbenzene
C9H12
C9H12
trimethylbenzene 364.1
120.19
56.85
359.85
Water
H2O
H2O
water
0
750
water
C2F6 C2HF5
Pc [bar]
MW Tmin Tmax[ [g/mol] [°C] ? C]
48.7976 30.07
40.5093 128.174
28.013
42.4953 44.09
30.18
58.3 31.27
374.14 220.8975 18.015
350
-153.15 350
400
-145.15 400 329.85
400
273.15
the saturation curve and the specific heat in the ideal gas state. Moreover the mixtures listed in Table 2 are available as predefined mixtures. The listed FluidProp names (either short or long ) must be used to specify the fluid name the SetFluid method. Other mixtures can be added if pure and binary interaction data are available. A large collection of binary interaction parameters data is available, for example, on: 14. Various authors. DECHEMA Chemistry Data Series, Frankfurt am Main (1977 and thereafter). 15. DETHERM : Thermophysical properties of pure substances & mixtures 16. Infotherm : Experimental thermodynamic and physical properties of mixtures and pure substances 17. DIPPR : Evaluated Process Design Data of the AIChE Design Institute of Physical Properties
Please contact us if you need to add a fluid or a mixture. Table 2
Product Name
FluidProp Name (short)
FluidProp Name (long)
Tc Pc [°C] [bar]
Water-2Propanol
H2O/2-C3H8O
water/2-propanoll
292.4 98.70
Air
air
air
-142.1 35.89
BenzeneToluene
C6H6/C7H8
benzene/toluene
330.7 87.64
BenzeneCyclohexane
C6H6/C6H12
benzene/cyclohexane
284.7 45.89
BenzeneCyclohexaneHexane
C6H6/C6H12/C6H14 benzene/cyclohexane/hexane 254.7 36.91
BenzeneEthylbenzene
C6H6/C8H10
benzene/ethylbenzene
321.6 43.77
BenzeneHexane
C6H6/C6H14
benzene/hexane
260.7 40.03
BenzeneWater
C6H6/H2O
benzene/water
341.2 146.89
ButaneHexane
C4H10/C6H14
butane/hexane
202.1 36.84
ButanePentane
C4H10/C5H12
butane/pentane
177.0 37.67
Ethanol-Water C2H6O/H2O
ethanol/water
304.6 135.01
Ethylbenzene- C8H10/C7H8 Toluene
ethylbenzene/toluene
332.3 38.84
HexaneCyclohexane
C6H14/C6H12
hexane/cyclohexane
256.7 35.50
IsobutaneIsopentane
i-C4H10/i-C5H12
isobutene/isopentane
165.0 36.39
MethanolBenzene
CH4O/C6H6
methanol/benzene
269.7 76.23
MethanolWater
CH4O/H2O
methanol/water
308.1 149.91
NitrogenOxygen
N2/O2
nitrogen/oxygen
-140.7 37.94
PentaneHexane
C5H12/C6H14
pentane/hexane
217.2 32.32
PropanePentane
C3H8/C5H12
propane/pentane
160.1 44.82
R113-Ethanol R113/C2H6O
R113/ethanol
229.9 60.56
R114-Ethanol R114/C2H6O
R114/ethanol
204.2 59.05
R134a-R116
R134a/R116
65.9
R134a/R116
31.53
R134a-R142b R134a/R142b
R134a/R142b
119.3 43.19
R14-R23
R14/R23
R14/R23
-1.6
57.24
R32-R125R134a
R407a
R407a
75.8
41.83
R32-R125 (1) R410a
R410a
74.8
51.42
R32-R125 (2) R410b
R410b
74.3
50.42
The limits for the calculation of properties are as follows: For a pure fluid: Pmin = Psat at freezing temperature, i.e. P (Tmin, q=1 ) Pmax = P (Tmax , v = 1/2 vc ) For a mixture: Tmin = Max[Tmin (i )]; i = 1,2,..., ncomponents Tmax = Min[Tmax (i )]; i = 1,2,..., ncomponents Pmin = P (Tmin , q = 0) Pmax = P (Tmax , v = 1/2 vc,min ), vc,min = Max[vc (i )] ; i = 1,2,..., ncomponents
TPSI TPSI implements the computer programs described in: 1. Reynolds, W.C., Thermodynamic properties in S.I. , Department of Mechanical Engineering - Stanford University, Stanford, CA, 1979.
A first version of the program was written by Prof. W.C. Reynolds and distributed as a DOS executable program. The program was later modified and expanded with more fluids and properties, as documented in: 2. ?Colonna, P., Rebay, S., and Silva, P., Computer Simulations of Dense Gas Flows Using Complex Equations of State for Pure Fluids and Mixtures and State of the Art Numerical Schemes. Tech. Rep., Universit? di Brescia, Via Branze, 38, 25123 Brescia, Italy, March 2002.
TPSI provides thermodynamic properties for the fluids listed in Table 1. The listed FluidProp names (either short or long ) must be used to specify the fluid name in the SetFluid method. For a given fluid, the FluidProp name is the same in all thermodynamic libraries in which the fluid is available. ? Table 1
Product Scientific Name Name
Chemical FluidProp Formula Name (short)
FluidProp Tc [? Pc vc MW R Tmin T Name C] [bar] [m3/kg] [g/mol] [J/kg.K] [?C] [ (long)
Air
[-]
N2(0.79) / air O2(0.2095 ) / Ar( 0.0096 )
air
-140.65 37.7
0.0029129 28.96
287.0686
-223.15 1
Ammonia
Ammonia
NH3
NH3
ammonia
133.65 116.27 0.00420805 17.03
488.2098
-73.15 4
Butane
Butane
C4H10
C4H10
butane
150.8
37.183 0.00490196 58.12
143.0797
-73.15 3
Hexane
Hexane
C6H14
C6H14
hexane
232.98 29.265 0.00521839 86.18
96.50393
-23.15 3
Isopentane Isopentane
C5H12
i-C5H12
isopentane
187.83 34.089 0.0046215 72.15
115.2638
-73.15 3
Methane
Methane
CH4
CH4
methane
-82.595 45.988 0.00623325 16.043
518.2535
-182.47 3
Moist Air (1)
[-]
[-]
N2/O2/Ar/H2O moist. air
[-]
[-]
[-]
[
Octane
Octane
C8H18
C8H18
octane
294.36 23.997 0.00552334 114.22
72.80376
26.85
3
Pentane
Pentane
C5H12
C5H12
pentane
193.85 32.396 0.00508466 72.15
115.2638
-23.15 3
Propane
Propane
C3H8
C3H8
propane
96.67
42.362 0.00506637 44.09
188.7326
-73.15 3
R11
Trichlorofluoromethane CCl3F
R11
R11
198
44.092 0.00180584 137.38
60.5223
-73.15 3
R12
Dichlorodifluoromethane CCl2F2
R12
R12
112.02 41.599 0.00179186 120.93
68.748
-73.15 3
Water
Water
H20
water
374.15 221
461.51
0
H20
[-]
[-]
[-]
0.00315457 18.016
(1) In this model air and H2O vapor are treated as perfect gas with variable specific heats. The liquid is treated as incompressible. It uses specific heat and saturation equations from the appropriate TPSI subroutines of the other fluids.
8
Basics and conventions Each client program and development environment uses a different syntax. Several examples are provided: The Mathworks Matlab and Simulink Microsoft Visual Basic Compaq Visual Fortran Intel Visual Fortran Microsoft Visual C++ Borland C++ Borland C++ Builder Microsoft Excel Maple Example These examples are provided as an illustration for the use of the FluidProp methods in various programming languages and environments. In the description of each method provided in this section of the help file a general syntax is adopted (see e.g. Enthalpy). The example can be adapted to the particular syntax of each client program or development environment.
Table of available Thermodynamic State definitions The set of possible combinations of independent thermodynamic variables which can be used as an input for one of the FluidProp methods to compute another thermodynamic variable is listed in Table 1. Not all combinations are available for all the libraries. The state definition gives a string which defines the input variables for a FluidProp method (see e.g. Enthalpy). Table 1 State definition TPSI
StanMix IF97
GasMix
RefProp
PT Pv Pd Ph Ps Pq
n/a
Pu Tv Td Th
n/a
n/a
n/a
Ts Tq Tu
n/a n/a
n/a
n/a
vh vs vq
n/a
n/a
n/a
n/a
n/a
n/a
vu dh ds dq du hs sq
n/a
n/a
su
n/a
n/a
Legend: n/a = not available P = Pressure T = Temperature v = Specific volume d = Density h = Enthalpy s = Entropy u = Internal energy q = Vapor quality
n/a
Table of available Thermodynamic and Transport Properties The properties listed in Table 1 can be computed by FluidProp. The corresponding symbol is used to define the combination to set a thermodynamic state as an input for a method.
Table 1
Thermophysical property
Method
Symbol
Default unit
Pressure
Pressure
P
bar
Temperature
Temperature T
?C
Specific volume
SpecVolume v
m3/kg
Density
Density
Enthalpy
Enthalpy
h
kJ/kg
Entropy
Entropy
s
kJ/kg.K
Internal energy
IntEnergy
u
kJ/kg
Vapor quality
VaporQual
q
kg/kg
Liquid phase composition
LiquidCmp
x
mole/mole
Vapor phase composition
VaporCmp
y
mole/mole
Isochoric heat capacity
HeatCapV
Cv
kJ/kg.K
Isobaric heat capacity
HeatCapP
Cp
kJ/kg.K
Sound speed
SoundSpeed c
kg/m3
(d)
m/s
Secondary thermodynamic property Alpha
m2/s2 (Alpha)
Secondary thermodynamic property Beta
kg/m3 (Beta)
Secondary thermodynamic property Chi
Nm4/kg2.K (Chi)
Secondary thermodynamic property Fi
1/K (Fi)
Secondary thermodynamic property Ksi
kg2/Nm4 (Ksi) s2/m2
Secondary thermodynamic property Psi (Psi)
kg.K/m3
Secondary thermodynamic property Zeta (Zeta)
Volumetric thermal expansion coefficient
Theta
Isothermal compressibility ?
Kappa
Fundamental derivative of gas dynamics
Gamma
1/K (Theta) 1/bar (Kappa) -
(Gamma) Dynamic viscosity
Viscosity
(Eta)
Pa.s
Thermal conductivity
ThermCond
(Lambda)
W/m.K
Not all properties can be computed by all the libraries interfaced to FluidProp. Table 2 lists the available properties for each library.
Table 2 Thermophysical property FluidProp method
Pressure
Pressure
Temperature
Temperature
Specific Volume
SpecVolume
Density
Density
Enthalpy
Enthalpy
Entropy
Entropy
TPSI StanMix IF97 GasMix RefProp
Internal Energy
IntEnergy
Vapor quality
VaporQual
Liquid phase composition
LiquidCmp
n/a
n/a
n/a
Vapor phase composition
VaporCmp
n/a
n/a
n/a
Heat capacity at const. v
HeatCapV
(1)
Heat capacity at const. P
HeatCapP
(1)
Speed of sound
SoundSpeed
(1)
Alpha
(1)
n/a
Beta
(1)
n/a
Chi
(1)
n/a
Fi
(1)
n/a
Ksi
(1)
n/a
Psi
(1)
n/a
Zeta
(1)
n/a
Volumetric thermal expansion Theta coefficient
(1)
n/a
Isothermal compressibility
Kappa
(1)
n/a
Fundamental derivative of gas dynamics
Gamma
(1)
n/a
Viscosity
Viscosity
n/a
n/a
Thermal Conductivity
ThermCond
n/a
n/a
n/a
(1)
Legend: n/a = not available (1) = not available for the TPSI fluids Air and Moist. Air ;
Available Fluid Info The available fluid info methods are listed in Table 1. Not all properties are available in all the thermodynamic libraries. Table 1 Info property
Method
Default unit
Molar mass
Mmol
kg/mol
Critical temperature
Tcrit
°C
n/a
Critical pressure
Pcrit
bar
n/a
Lower temperature limit Tmin
°C
Upper temperature limit Tmax
°C
Legend: = available n/a = not available
TPSI
StanMix
IF97
GasMix RefProp
Available Units and Unit sets The default units for the thermophysical properties listed in Table 1 can be altered by using the base units listed in Table 2 using the SetUnits method. In addition to the default (FluidProp) unit set, two different unit sets can be specified: the SI and the Anglo-Saxon unit set. Units are per mass by default (cF. Table 1) but can be specified per mole as well. Non-dimensional properties can be obtained by defining a reference state by using the SetRefState method. Table 1 Property name
Symbol
Default unit set
SI unit set
Anglo-Saxon unit set
Pressure
P
bar
Pa
psia
Temperature
T
°C
K
°F
Specific volume
v
m^3/kg
m^3/kg
ft^3/lb
Density
d
kg/m^3
kg/m^3
lb/ft^3
Enthalpy
h
kJ/kg
J/kg
Btu/lb
Entropy
s
kJ/kg/K
J/kg/K
Btu/lb/°R
Internal energy
u
kJ/kg
J/kg
Btu/lb
Isobaric heat capacity
cp
kJ/kg/K
J/kg/K
Btu/lb/°R
Isochoric heat capacity
cv
kJ/kg/K
J/kg/K
Btu/lb/°R
Speed of sound
c
m/s
m/s
ft/s
( P/
alpha
m^2/s^2
m^2/s^2
ft^2/s^2
( P/ u)
beta
kg/m^3
kg/m^3
lb/ft^3
( s/
chi
N.m^4/kg^2/K
N.m^4/kg^2/K
lbf.ft^4/lb^2/°R
( s/ u)
fi
K^-1
K^-1
°R^-1
(
/ h)P
ksi
kg^2/N/m^4
kg^2/N/m^4
lb^2/lbf/ft^4
(
/ P)h
psi
s^2/m^2
s^2/m^2
s^2/ft^2
( T/ v)u
zeta
kg.K/m^3
kg.K/m^3
lb.°R/ft^3
Volumetric thermal expansion coefficient
theta
K^-1
K^-1
°R^-1
Isothermal compressibility
kappa
bar^-1
Pa^-1
psia^-1
Dynamic viscosity
eta
Pa.s
Pa.s
lb/ft/s
Thermal conductivity
lambda
W/m/K
W/m/K
Btu/h/ft/°F
)u
)u
Table 2
Property name
Base units
Length
m
in
ft
Mass
g
lb
oz
Time
s
min
Temperature
K
Temperature difference
yd
mi
h
d
y
°C
°F
°R
K
°C
°F
°R
Area
m2
a
sq in sq ft
sq yd acre
Volume
m3
L
cu in cu ft
cu yd cc
Speed
m/s
mph
kn
Force
N
gf
lbf
Pressure, stress
Pa
bar
atm
mHg
Energy, work, heat
J
Wh
cal
Btu
Power
W
hp
psia
Base units can be preceded (if applicable) by the prefixes listed in Table 3. Table 3 Prefix Name symbol
Factor Prefix Name symbol
Factor
y
yocto
10^-24 da
deca
10^+1
z
zepto
10^-21 h
hecto
10^+2
a
atto
10^-18 k
kilo
10^+3
f
femto
10^-15 M
mega
10^+6
p
pico
10^-12 G
giga
10^+9
n
nano
10^-9
T
tera
10^+12
mu
micro
10^-6
P
peta
10^+15
m
milli
10^-3
E
exa
10^+18
c
centi
10^-2
Z
zeta
10^+21
d
deci
10^-1
Y
yotta
10^+24
Base units, possibly preceded by a prefix, can be used together in arbitrary combinations. For instance the unit of the specific heat capacity (J/kgK) can be formed by combining the units of energy, mass and temperature difference dT by means of the operators listed in Table 4. Table 4
Operator Name symbol
Meaning
.
period
multiply
/
slash
divide
^
circumflex power
A compound unit consists of a row of base units, possibly raised to a certain power, separated by a period or a slash. A base unit raised to a power consists of base unit followed by circumflex and after that a positive or negative number. If no power is specified, the power defaults to 1. For example if a pressure is to be specified as Newton per square meter then it can be written as N/m^2 (or N.m^-2). The number of base units in a compound unit is unlimited. Each base unit and its power form a unit itself. This means that a period or slash in front of the preceding unit does not affect the unit thereafter. Therefore the unit of the specific heat capacity must be written as J/kg/K, or J.kg^-1.K^-1, or J/kg.K^1, or J.kg^-1/K and certainly not as J/kg.K. For more examples, see SetUnits.
CreateObject It creates an empty FluidProp object for a certain library. This method need not to be used if the SetFluid method is employed, because SetFluid itself calls the CreateObject method internally. The CreateObject method can also be used to test if a certain thermodynamic library is available. For example, suppose that the RefProp library is not installed, then CreateObject( &ldots;, "RefProp", ErrorMsg) yields ErrorMsg = "Error in FluidProp: library RefProp not available.". The general syntax for programming languages like Fortran is: CreateObject(FluidObj, Library, ErrorMsg) The syntax for object oriented programming languages like VB, C++ and Matlab is: FluidObj.CreateObject (Library, ErrorMsg) Arguments: FluidObj:
The object that is created
Library:
String, library name (possible values: TPSI, RefProp, StanMix, GasMix, IF97)
ErrorMsg:
String
Note: this method is not available in Excel.
ReleaseObjects It deletes all FluidProp objects from the memory.
This method should always be called at the end of a program execution. Syntax: ReleaseObjects() Note: this method is not available in Excel.
Predefined mixtures Mixtures for which the composition is set in the input file (e.g. .smx files for StanMix, .mix files for RefProp). Custom defined mixtures Custom defined mixturesMixtures for which the composition is defined by the user by providing the Conc() vector
Custom defined mixtures Mixtures for which the composition is defined by the user by providing the Conc() vector
SetFluid It defines the library to be used for the calculation of the fluid properties and the fluid. It returns an Object Identifier to which methods for property calculation can refer (see e.g. Enthalpy). The general syntax is: SetFluid( ModelName, nComp, Comp(), Conc(), ErrorMsg) The syntax for Excel is: SetFluid( ModelName, nComp, Comp(), Conc(), UnitObj) Arguments: ModelName:
String (possible values: TPSI, RefProp, StanMix, GasMix, IF97)
nComp:
Long Integer, number of components
Comp():
String Array, names of components (IMPORTANT: it must match exactly the string returned by the GetFluidNames method but it is not case dependent; both short and long names can be used.)
Conc():
Double Array, concentrations of components
ErrorMsg:
String
UnitObj:
In Excel it is the variable returned by SetUnits. It is optional: leave it blank (" ") for default units.
Notes: FluidProp 2 uses fluid names for all available fluids (returned by the GetFluidNames method) that are common to all libraries; FluidProp 1 employed fluid names that were specific to each good sentence library (returned by the obsolete GetCompSetmethod); for compatibility issues both names can still be used. Examples: For pure fluids or predefined mixtures: SetFluid("TPSI", 1, "methane", 1, ErrorMsg) SetFluid("StanMix", 1, "methane", 1, ErrorMsg) SetFluid("IF97", 1, "", "", ErrorMsg) Note: in this case also the Comp argument is ignored because the IF97 model applies only to water. SetFluid("StanMix", 1, "benzene/toluene", "", ErrorMsg) Note: the Conc() argument is ignored because it is a predefined mixture(in this case benzene (0.5) / toluene (0.5) ). The concentration can also be explicitly specified with Conc() as in the following examples about custom defined mixtures: Comp(1) = "N2" Conc(1) = 0.7729 Comp(2) = "O2" Conc(2) = 0.2075
Comp(3) = "H2O" Conc(3) = 0.0101 Comp(4) = "AR" Conc(4) = 0.0092 Comp(5) = "CO2" Conc(5) = 0.0003 SetFluid("GasMix", 5, Comp, Conc, ErrorMsg) Comp(1) = "R32" Conc(1) = 0.69762 Comp(2) = "R125" Conc(2) = 0.30238 SetFluid("RefProp", 2, Comp, Conc, ErrorMsg) Comp(1) = "benzene" Conc(1) = 0.7 Comp(2) = "toluene" Conc(2) = 0.3 SetFluid("StanMix", 2, Comp, Conc, ErrorMsg) Excel example: SetFluid("TPSI", "propane", "", A1) Notes: A1 is a cell containing the value returned by SetUnits. Using default FluidProp units it is just: SetFluid("TPSI", "propane") The error message is not in the arguments list; in case an error occurs during the calculation, the value returned by the function is a string containing the error description.
GetFluid It returns the library name and composition of the working fluid. The general syntax for programming languages like Fortran is: GetFluid(FluidObj, Library, nComp, Comp(), Conc(), ErrorMsg) The syntax for object oriented programming languages like VB, C++ and Matlab is: FluidObj.GetFluid( Library, nComp, Comp(), Conc(), ErrorMsg) Arguments: FluidObj:
An object variable created at runtime
Library:
String, name of library
nComp:
Long Integer, number of components
Comp():
String Array, names of components
Conc():
Double Array, concentrations of components
ErrorMsg:
String
Note: this method is not available in Excel. In case of a predefined mixture and if nComp = -1 is assigned as input value then the composition of the mixture is returned instead of just the mixture name.
GetFluidNames It returns a string vector containing the names of the fluids available in the specified library. Both the long and short name formats can be specified. The general syntax is: GetFluidNames( Type, Library, nFluids, FluidSet, ErrorMsg) The syntax for Excel is: GetFluidNames( Type, Library) Arguments:
Type:
a string containing either "short", "s", "long" or "l", which indicates the wanted format for the names (input)
Library:
a string containing the library name; if Library is blank (" ") or "all" then all names of all fluids available are returned (input)
nFluids:
number of fluids in the library (output)
FluidSet:
set of fluids in the library (output)
ErrorMsg:
String (output)
Excel Examples: GetFluidNames("s", "all") GetFluidNames("s", "GasMix") GetFluidNames("l", "RefProp") GetFluidNames("short", "StanMix") GetFluidNames("Long", "TPSI") Note: in case an error occurs during execution, the value returned by the function is a string containing the error description.
GetCompSet OBSOLETE This method has been maintained for compatibility with FluidProp 1. Use GetFluidNames instead.
AllProps It returns all available thermophysical properties, given 2 input thermodynamic variables as defined by the InputSpec argument (see Thermodynamic State definitions). The properties that are calculated and the default units are listed in the table of available Thermodynamic and Transport Properties. The general syntax for procedural programming languages like Fortran is: call AllProps( FluidObj, InputSpec, Value1, Value2, P, T, v, d, h, s, u, q, x, y, cv, cp, c, alpha, beta, chi, fi, ksi, psi, zeta, theta, kappa, gamma, eta, lambda, ErrorMsg) The syntax for object oriented programming languages like VB, C++ and Matlab is: FluidObj.AllProps( InputSpec, Value1, Value2, P, T, v, d, h, s, u, q, x, y, cv, cp, c, alpha, beta, chi, fi, ksi, psi, zeta, theta, kappa, gamma, eta, lambda, ErrorMsg) The general syntax for Excel is: AllProps( FluidObj, InputSpec, Value1, Value2) Arguments:
FluidObj:
In Excel it is the variable returned by SetFluid, in other programs or programming environments it is an object variable created at runtime.
InputSpec:
String
Value1:
Double (input)
Value2:
Double (input)
P, T, v, d, h, s, u, q:
Double (output)
x, y:
1-dimensional double array (output)
cv, cp, c, alpha, beta, chi, fi, ksi, psi, zeta, theta, kappa, gamma, eta, lambda:
Double (output)
ErrorMsg:
String (output)
Excel Example: AllProps( A1, "Ts", 50, 0.1) Notes: A1 is a cell containing the value returned by SetFluid. The error message is not in the arguments list; in case an error occurs during the calculation, the value returned by the function is a string containing the error description. The possible input specifications are listed in the table of available Thermodynamic State
definitions. The function returns an array with 23 elements, namely P, T, v, d, h, s, u, q, cv, cp, c, alpha, beta, chi, fi, ksi, psi, zeta, theta, kappa, gamma, eta, lambda
AllPropsSat It returns all available thermophysical properties and some saturation properties as function of pressure P, given 2 input thermodynamic variables as defined by the InputSpec argument (see Thermodynamic State definitions).
The thermophysical properties that are calculated and the default units are listed in the table of available Thermodynamic and Transport Properties. The following saturation properties are calculated (default units): d_liq
saturated liquid density
[kg/m3]
d_vap
saturated vapor density
[kg/m3]
h_liq
saturated liquid enthalpy
[kJ/kg]
h_vap
saturated vapor enthalpy
[kJ/kg]
T_sat
saturation temperature
[°C]
dd_liq_dP first-order partial derivative of the saturated liquid density with respect to the pressure
[kg/m3.bar]
dd_vap_dP first-order partial derivative of the saturated vapor density with respect to the pressure
[kg/m3.bar]
dh_liq_dP first-order partial derivative of the saturated liquid enthalpy with respect to the pressure
[kJ/kg.bar]
dh_vap_dP first-order partial derivative of the saturated vapor enthalpy with respect to [kJ/kg.bar] the pressure dT_sat_dP first-order derivative of the saturation temperature with respect to the pressure
[K/bar]
The general syntax for procedural programming languages like Fortran is: call AllPropsSat( FluidObj, InputSpec, Value1, Value2, P, T, v, d, h, s, u, q, x, y, cv, cp, c, alpha, beta, chi, fi, ksi, psi, zeta, theta, kappa, gamma, eta, lambda, d_liq, d_vap, h_liq, h_vap, T_sat, dd_liq_dP, dd_vap_dP, dh_liq_dP, dh_vap_dP, dT_sat_dT, ErrorMsg) The syntax for object oriented programming languages like VB, C++ and Matlab is: FluidObj.AllPropsSat( InputSpec, Value1, Value2, P, T, v, d, h, s, u, q, x, y, cv, cp, c, alpha, beta, chi, fi, ksi, psi, zeta, theta, kappa, gamma, eta, lambda, d_liq, d_vap, h_liq, h_vap, T_sat, dd_liq_dP, dd_vap_dP, dh_liq_dP, dh_vap_dP, dT_sat_dT, ErrorMsg) The general syntax for Excel is: AllPropsSat( FluidObj, InputSpec, Value1, Value2) Arguments:
FluidObj: InputSpec: Value1: Value2: x, y: ErrorMsg:
In Excel it is the variable returned by SetFluid, in other programs or programming environments it is an object variable created at runtime. String Double (input) Double (input) 1-dimensional double array (output) String (output)
The remaining arguments are all type Double (output): P, T, v, d, h, s, u, q, cv, cp, c,alpha, beta, chi, fi, ksi, psi, zeta, theta, kappa, gamma, eta, lambda, d_liq, d_vap, h_liq, h_vap, T_sat, dd_liq_dP, dd_vap_dP, dh_liq_dP, dh_vap_dP, dT_sat_dT Excel Example: AllPropsSat( A1, "Ts", 50, 0.1) Notes: A1 is a cell containing the value returned by SetFluid. The error message is not in the arguments list; in case an error occurs during the calculation, the value returned by the function is a string containing the error description. The possible input specifications are listed in the table of available Thermodynamic State definitions. The function returns an array with 33 elements, namely P, T, v, d, h, s, u, q, cv, cp, c, alpha, beta, chi, fi, ksi, psi, zeta, theta, kappa, gamma, eta, lambda, d_liq, d_vap, h_liq, h_vap, T_sat, dd_liq_dP, dd_vap_dP, dh_liq_dP, dh_vap_dP, dT_sat_dT The saturation properties are calculated at pressure P, which in turn is calculated given the two input thermodynamic variables as defined by the InputSpec argument.
Solve It calculates the root of F(Tmd1,Tmd2) - FF = 0 where Tmd's are available thermodynamic properties, F is any of the available methods for thermodynamic property calculations (see Table of available Thermodynamic and Transport Properties) and FF is a desired value for the property F.
The general syntax for programs like Excel and programming languages like Fortran is: Root = Solve( FluidObj, FuncSpec, FuncVal, InputSpec, Target, FixedVal, MinVal, MaxVal, ErrorMsg) The syntax for object oriented programming languages like VB, C++ and Matlab is: Root = FluidObj.Solve( FuncSpec, FuncVal, InputSpec, Target, FixedVal, MinVal, MaxVal, ErrorMsg) Arguments:
FluidObj:
In Excel it is the variable returned by SetFluid, in other programs or programming environments it is an object variable created at runtime.
FuncSpec:
String, function specification ("Pressure", "Temperature",...), i.e. F in F(Tmd1,Tmd2) FF = 0
FuncVal:
Double, desired value of the function F, i.e. FF in F(Tmd1,Tmd2) - FF = 0
InputSpec:
String
Target:
Integer, indicates which is the running variable, i.e. Target = 1 for Tmd1 or Target = 2 for Tmd2
FixedVal:
Double, fixed Value, i.e. Tmd1 (Target = 2) or Tmd2 (Target = 1)
MinVal:
Lower boundary for the running variable
MaxVal:
Upper boundary for the running variable
ErrorMsg:
String
Excel Example to find T for which Gamma(T,v) - G = 0 at fixed v: T = Solve( A1,"Gamma",1.008,"Tv",1,0.3723,0,200) Notes: A1 is a cell containing the value returned by SetFluid. The error message is not in the arguments list; in case an error occurs during the calculation, the value returned by the function is a string containing the error description. The possible input specifications are listed in the table of available Thermodynamic State definitions.
Pressure It returns the pressure, given 2 input thermodynamic variables as defined by the InputSpec argument.
Default unit: bar The general syntax for programs like Excel and programming languages like Fortran is: P = Pressure( FluidObj, InputSpec, Value1, Value2, ErrorMsg) The syntax for object oriented programming languages like VB, C++ and Matlab is: P = FluidObj.Pressure( InputSpec, Value1, Value2, ErrorMsg) Arguments: FluidObj:
In Excel it is the variable returned by SetFluid, in other programs or programming environments it is an object variable created at runtime.
InputSpec:
String
Value1:
Double
Value2:
Double
ErrorMsg:
String
Excel Example: P = Pressure( A1, "Ts", 50, 0.1) Notes: A1 is a cell containing the value returned by SetFluid. The error message is not in the arguments list; in case an error occurs during the calculation, the value returned by the function is a string containing the error description. The possible input specifications are listed in the table of available Thermodynamic State definitions.
Temperature It returns the temperature, given 2 input thermodynamic variables as defined by the InputSpec argument.
Default unit: °C The general syntax for programs like Excel and programming languages like Fortran is: T = Temperature( FluidObj, InputSpec, Value1, Value2, ErrorMsg) The syntax for object oriented programming languages like VB, C++ and Matlab is: T = FluidObj.Temperature( InputSpec, Value1, Value2, ErrorMsg) Arguments:
FluidObj:
In Excel it is the variable returned by SetFluid, in other programs or programming environments it is an object variable created at runtime.
InputSpec:
String
Value1:
Double
Value2:
Double
ErrorMsg:
String
Excel Example: T = Temperature( A1, "Ph", 12.53, 191.4) Notes: A1 is a cell containing the value returned by SetFluid. The error message is not in the arguments list; in case an error occurs during the calculation, the value returned by the function is a string containing the error description. The possible input specifications are listed in the table of available Thermodynamic State definitions.
SpecVolume It returns the specific volume, given 2 input thermodynamic variables as defined by the InputSpec argument.
Default unit: m3/kg The general syntax for programs like Excel and programming languages like Fortran is: v = SpecVolume( FluidObj, InputSpec, Value1, Value2, ErrorMsg) The syntax for object oriented programming languages like VB, C++ and Matlab is: v = FluidObj.SpecVolume( InputSpec, Value1, Value2, ErrorMsg) Arguments: FluidObj:
In Excel it is the variable returned by SetFluid, in other programs or programming environments it is an object variable created at runtime.
InputSpec:
String
Value1:
Double
Value2:
Double
ErrorMsg:
String
Excel Example: v = SpecVolume( A1, "PT", 12.53, 253.42) Notes: A1 is a cell containing the value returned by SetFluid. The error message is not in the arguments list; in case an error occurs during the calculation, the value returned by the function is a string containing the error description. The possible input specifications are listed in the table of available Thermodynamic State definitions.
Density It returns the specific volume, given 2 input thermodynamic variables as defined by the InputSpec argument.
Default unit: kg/m3 The general syntax for programs like Excel and programming languages like Fortran is: = Density( FluidObj, InputSpec, Value1, Value2, ErrorMsg) The syntax for object oriented programming languages like VB, C++ and Matlab is:
= FluidObj.Density( InputSpec, Value1, Value2, ErrorMsg) Arguments: FluidObj:
In Excel it is the variable returned by SetFluid, in other programs or programming environments it is an object variable created at runtime.
InputSpec:
String
Value1:
Double
Value2:
Double
ErrorMsg:
String
Excel Example: = Density( A1, "PT", 12.53, 253.42) The error message is not in the arguments list; in case an error occurs during the calculation, the value returned by the function is a string containing the error description. The possible input specifications are listed in the table of available Thermodynamic State definitions.
Enthalpy It returns the enthalpy, given 2 input thermodynamic variables as defined by the InputSpec argument.
Default unit: kJ/kg The general syntax for programs like Excel and programming languages like Fortran is: h = Enthalpy( FluidObj, InputSpec, Value1, Value2, ErrorMsg) The syntax for object oriented programming languages like VB, C++ and Matlab is: h = FluidObj.Enthalpy( InputSpec, Value1, Value2, ErrorMsg) Arguments: FluidObj:
In Excel it is the variable returned by SetFluid, in other programs or programming environments it is an object variable created at runtime.
InputSpec:
String
Value1:
Double
Value2:
Double
ErrorMsg:
String
Excel Example: h = Enthalpy( A1, "PT", 12.53, 253.42) Notes: A1 is a cell containing the value returned by SetFluid. The error message is not in the arguments list; in case an error occurs during the calculation, the value returned by the function is a string containing the error description. The possible input specifications are listed in the table of available Thermodynamic State definitions.
Entropy It returns the entropy, given 2 input thermodynamic variables as defined by the InputSpec argument.
Default unit: kJ/kg.K The general syntax for programs like Excel and programming languages like Fortran is: s = Entropy( FluidObj, InputSpec, Value1, Value2, ErrorMsg) The syntax for object oriented programming languages like VB, C++ and Matlab is: s = FluidObj.Entropy( InputSpec, Value1, Value2, ErrorMsg) Arguments:
FluidObj:
In Excel it is the variable returned by SetFluid, in other programs or programming environments it is an object variable created at runtime.
InputSpec:
String
Value1:
Double
Value2:
Double
ErrorMsg:
String
Excel Example: s = Entropy( A1, "PT", 12.53, 253.42) Notes: A1 is a cell containing the value returned by SetFluid. The error message is not in the arguments list; in case an error occurs during the calculation, the value returned by the function is a string containing the error description. The possible input specifications are listed in the table of available Thermodynamic State definitions.
IntEnergy It returns the internal energy, given 2 input thermodynamic variables as defined by the InputSpec argument.
Default unit: kJ/kg The general syntax for programs like Excel and programming languages like Fortran is: u = IntEnergy( FluidObj, InputSpec, Value1, Value2, ErrorMsg) The syntax for object oriented programming languages like VB, C++ and Matlab is: u = FluidObj.IntEnergy( InputSpec, Value1, Value2, ErrorMsg) Arguments: FluidObj:
In Excel it is the variable returned by SetFluid, in other programs or programming environments it is an object variable created at runtime.
InputSpec:
String
Value1:
Double
Value2:
Double
ErrorMsg:
String
Excel Example: u = IntEnergy( A1, "PT", 12.53, 253.42) Notes: A1 is a cell containing the value returned by SetFluid. The error message is not in the arguments list; in case an error occurs during the calculation, the value returned by the function is a string containing the error description. The possible input specifications are listed in the table of available Thermodynamic State definitions.
VaporQual It returns the vapor quality, given 2 input thermodynamic variables as defined by the InputSpec argument.
Default unit: kg vapor/kg total The general syntax for programs like Excel and programming languages like Fortran is: q = VaporQual( FluidObj, InputSpec, Value1, Value2, ErrorMsg) The syntax for object oriented programming languages like VB, C++ and Matlab is: q = FluidObj.VaporQual( InputSpec, Value1, Value2, ErrorMsg) Arguments:
FluidObj:
In Excel it is the variable returned by SetFluid, in other programs or programming environments it is an object variable created at runtime.
InputSpec:
String
Value1:
Double
Value2:
Double
ErrorMsg:
String
Excel Example: q = VaporQual( A1, "Ph", 12.53, 191.4) Notes: A1 is a cell containing the value returned by SetFluid. The error message is not in the arguments list; in case an error occurs during the calculation, the value returned by the function is a string containing the error description. The possible input specifications are listed in the table of available Thermodynamic State definitions.
VaporCmp It returns the vapor phase composition, given 2 input thermodynamic variables as defined by the InputSpec argument.
Default unit: mole fractions Because the output is an array, the general syntax for a programming language like Fortran is: call VaporCmp( FluidObj, InputSpec, Value1, Value2, y, ErrorMsg) The syntax for object oriented programming languages like VB, C++ and Matlab is: y = FluidObj.VaporCmp( InputSpec, Value1, Value2, ErrorMsg) The general syntax for Excel is: y = VaporCmp( FluidObj, InputSpec, Value1, Value2) Arguments: FluidObj:
In Excel it is the variable returned by SetFluid, in other programs or programming environments it is an object variable created at runtime.
InputSpec:
String
Value1:
Double
Value2:
Double
ErrorMsg:
String
Excel Example: y = VaporCmp( A1, "PT", 1, 125) Notes: A1 is a cell containing the value returned by SetFluid. The error message is not in the arguments list; in case an error occurs during the calculation, the value returned by the function is a string containing the error description. The possible input specifications are listed in the table of available Thermodynamic State definitions.
LiquidCmp It returns the liquid phase composition, given 2 input thermodynamic variables as defined by the InputSpec argument.
Default unit: mole fractions Because the output is an array, the general syntax for a programming language like Fortran is: call LiquidCmp( FluidObj, InputSpec, Value1, Value2, x, ErrorMsg) The syntax for object oriented programming languages like VB, C++ and Matlab is: x = FluidObj.LiquidCmp( InputSpec, Value1, Value2, ErrorMsg) The general syntax for Excel is: x = LiquidCmp( FluidObj, InputSpec, Value1, Value2) Arguments:
FluidObj:
In Excel it is the variable returned by SetFluid, in other programs or programming environments it is an object variable created at runtime.
InputSpec:
String
Value1:
Double
Value2:
Double
ErrorMsg:
String
Excel Example: x = LiquidCmp( A1, "PT", 1, 125) Notes: A1 is a cell containing the value returned by SetFluid. The error message is not in the arguments list; in case an error occurs during the calculation, the value returned by the function is a string containing the error description. The possible input specifications are listed in the table of available Thermodynamic State definitions.
HeatCapV It returns the isochoric heat capacity, given 2 input thermodynamic variables as defined by the InputSpec argument.
Default unit: kJ/kg.K The general syntax for programs like Excel and programming languages like Fortran is: cv = HeatCapV( FluidObj, InputSpec, Value1, Value2, ErrorMsg) The syntax for object oriented programming languages like VB, C++ and Matlab is: cv = FluidObj.HeatCapV( InputSpec, Value1, Value2, ErrorMsg) Arguments: FluidObj:
In Excel it is the variable returned by SetFluid, in other programs or programming environments it is an object variable created at runtime.
InputSpec:
String
Value1:
Double
Value2:
Double
ErrorMsg:
String
Excel Example: cv = HeatCapV( A1, "PT", 12.53, 253.42) Notes: A1 is a cell containing the value returned by SetFluid. The error message is not in the arguments list; in case an error occurs during the calculation, the value returned by the function is a string containing the error description. The possible input specifications are listed in the table of available Thermodynamic State definitions.
HeatCapP It returns the isobaric heat capacity, given 2 input thermodynamic variables as defined by the InputSpec argument.
Default unit: kJ/kg.K The general syntax for programs like Excel and programming languages like Fortran is: cp = HeatCapP( FluidObj, InputSpec, Value1, Value2, ErrorMsg) The syntax for object oriented programming languages like VB, C++ and Matlab is: cp = FluidObj.HeatCapP( InputSpec, Value1, Value2, ErrorMsg) Arguments:
FluidObj:
In Excel it is the variable returned by SetFluid, in other programs or programming environments it is an object variable created at runtime.
InputSpec:
String
Value1:
Double
Value2:
Double
ErrorMsg:
String
Excel Example: cp = HeatCapP( A1, "PT", 12.53, 253.42) Notes: A1 is a cell containing the value returned by SetFluid. The error message is not in the arguments list; in case an error occurs during the calculation, the value returned by the function is a string containing the error description. The possible input specifications are listed in the table of available Thermodynamic State definitions.
SoundSpeed It returns the speed of sound, given 2 input thermodynamic variables as defined by the InputSpec argument.
Default unit: m/s The general syntax for programs like Excel and programming languages like Fortran is: c = SoundSpeed( FluidObj, InputSpec, Value1, Value2, ErrorMsg) The syntax for object oriented programming languages like VB, C++ and Matlab is: c = FluidObj.SoundSpeed( InputSpec, Value1, Value2, ErrorMsg) Arguments: FluidObj:
In Excel it is the variable returned by SetFluid, in other programs or programming environments it is an object variable created at runtime.
InputSpec:
String
Value1:
Double
Value2:
Double
ErrorMsg:
String
Excel Example: c = SoundSpeed( A1, "PT", 12.53, 253.42) Notes: A1 is a cell containing the value returned by SetFluid. The error message is not in the arguments list; in case an error occurs during the calculation, the value returned by the function is a string containing the error description. The possible input specifications are listed in the table of available Thermodynamic State definitions.
Alpha It returns the partial derivative
, given 2 input thermodynamic variables as defined by the InputSpec argument. Default unit: m2/s2 The general syntax for programs like Excel and programming languages like Fortran is:
= Alpha( FluidObj, InputSpec, Value1, Value2, ErrorMsg) The syntax for object oriented programming languages like VB, C++ and Matlab is: = FluidObj.Alpha( InputSpec, Value1, Value2, ErrorMsg) Arguments: FluidObj:
In Excel it is the variable returned by SetFluid, in other programs or programming environments it is an object variable created at runtime.
InputSpec:
String
Value1:
Double
Value2:
Double
ErrorMsg:
String
Excel Example: = Alpha( A1, "PT", 12.53, 253.42) Notes: A1 is a cell containing the value returned by SetFluid. The error message is not in the arguments list; in case an error occurs during the calculation, the value returned by the function is a string containing the error description. The possible input specifications are listed in the table of available Thermodynamic State definitions.
Beta It returns the partial derivative
, given 2 input thermodynamic variables as defined by the InputSpec argument. Default unit: kg/m3 The general syntax for programs like Excel and programming languages like Fortran is: = Beta( FluidObj, InputSpec, Value1, Value2, ErrorMsg) The syntax for object oriented programming languages like VB, C++ and Matlab is: = FluidObj.Beta( InputSpec, Value1, Value2, ErrorMsg) Arguments: FluidObj:
In Excel it is the variable returned by SetFluid, in other programs or programming environments it is an object variable created at runtime.
InputSpec:
String
Value1:
Double
Value2:
Double
ErrorMsg:
String
Excel Example: = Beta( A1, "PT", 12.53, 253.42) Notes: A1 is a cell containing the value returned by SetFluid. The error message is not in the arguments list; in case an error occurs during the calculation, the value returned by the function is a string containing the error description. The possible input specifications are listed in the table of available Thermodynamic State definitions.
Chi It returns the partial derivative
, given 2 input thermodynamic variables as defined by the InputSpec argument. Default unit: Nm4/kg2.K The general syntax for programs like Excel and programming languages like Fortran is:
= Chi( FluidObj, InputSpec, Value1, Value2, ErrorMsg) The syntax for object oriented programming languages like VB, C++ and Matlab is: = FluidObj.Chi( InputSpec, Value1, Value2, ErrorMsg) Arguments: FluidObj:
In Excel it is the variable returned by SetFluid, in other programs or programming environments it is an object variable created at runtime.
InputSpec:
String
Value1:
Double
Value2:
Double
ErrorMsg:
String
Excel Example: = Chi( A1, "PT", 12.53, 253.42) Notes: A1 is a cell containing the value returned by SetFluid. The error message is not in the arguments list; in case an error occurs during the calculation, the value returned by the function is a string containing the error description. The possible input specifications are listed in the table of available Thermodynamic State definitions.
Fi It returns the partial derivative
, given 2 input thermodynamic variables as defined by the InputSpec argument. Default unit: 1/K The general syntax for programs like Excel and programming languages like Fortran is: = Fi( FluidObj, InputSpec, Value1, Value2, ErrorMsg) The syntax for object oriented programming languages like VB, C++ and Matlab is: = FluidObj.Fi( InputSpec, Value1, Value2, ErrorMsg) Arguments: FluidObj:
In Excel it is the variable returned by SetFluid, in other programs or programming environments it is an object variable created at runtime.
InputSpec:
String
Value1:
Double
Value2:
Double
ErrorMsg:
String
Excel Example: = Fi( A1, "PT", 12.53, 253.42) Notes: A1 is a cell containing the value returned by SetFluid. The error message is not in the arguments list; in case an error occurs during the calculation, the value returned by the function is a string containing the error description. The possible input specifications are listed in the table of available Thermodynamic State definitions.
Ksi It returns the partial derivative
, given 2 input thermodynamic variables as defined by the InputSpec argument. Default unit: kg2/Nm4 The general syntax for programs like Excel and programming languages like Fortran is:
= Ksi( FluidObj, InputSpec, Value1, Value2, ErrorMsg) The syntax for object oriented programming languages like VB, C++ and Matlab is: = FluidObj.Ksi( InputSpec, Value1, Value2, ErrorMsg) Arguments: FluidObj:
In Excel it is the variable returned by SetFluid, in other programs or programming environments it is an object variable created at runtime.
InputSpec:
String
Value1:
Double
Value2:
Double
ErrorMsg:
String
Excel Example: = Ksi( A1, "PT", 12.53, 253.42) Notes: A1 is a cell containing the value returned by SetFluid. The error message is not in the arguments list; in case an error occurs during the calculation, the value returned by the function is a string containing the error description. The possible input specifications are listed in the table of available Thermodynamic State definitions.
Psi It returns the partial derivative
, given 2 input thermodynamic variables as defined by the InputSpec argument. Default unit: s2/m2 The general syntax for programs like Excel and programming languages like Fortran is: = Psi( FluidObj, InputSpec, Value1, Value2, ErrorMsg) The syntax for object oriented programming languages like VB, C++ and Matlab is: = FluidObj.Psi( InputSpec, Value1, Value2, ErrorMsg) Arguments: FluidObj:
In Excel it is the variable returned by SetFluid, in other programs or programming environments it is an object variable created at runtime.
InputSpec:
String
Value1:
Double
Value2:
Double
ErrorMsg:
String
Excel Example: = Psi( A1, "PT", 12.53, 253.42) Notes: A1 is a cell containing the value returned by SetFluid. The error message is not in the arguments list; in case an error occurs during the calculation, the value returned by the function is a string containing the error description. The possible input specifications are listed in the table of available Thermodynamic State definitions.
Zeta It returns the partial derivative
, given 2 input thermodynamic variables as defined by the InputSpec argument. Default unit: kg.K/m3 The general syntax for programs like Excel and programming languages like Fortran is:
= Zeta( FluidObj, InputSpec, Value1, Value2, ErrorMsg) The syntax for object oriented programming languages like VB, C++ and Matlab is: = FluidObj.Zeta( InputSpec, Value1, Value2, ErrorMsg) Arguments: FluidObj:
In Excel it is the variable returned by SetFluid, in other programs or programming environments it is an object variable created at runtime.
InputSpec:
String
Value1:
Double
Value2:
Double
ErrorMsg:
String
Excel Example: = Zeta( A1, "PT", 12.53, 253.42) Notes: A1 is a cell containing the value returned by SetFluid. The error message is not in the arguments list; in case an error occurs during the calculation, the value returned by the function is a string containing the error description. The possible input specifications are listed in the table of available Thermodynamic State definitions.
Theta It returns the volumetric thermal expansion coefficient:
, given 2 input thermodynamic variables as defined by the InputSpec argument. Default unit: 1/K The general syntax for programs like Excel and programming languages like Fortran is: = Theta( FluidObj, InputSpec, Value1, Value2, ErrorMsg) The syntax for object oriented programming languages like VB, C++ and Matlab is: = FluidObj.Theta( InputSpec, Value1, Value2, ErrorMsg) Arguments: FluidObj:
In Excel it is the variable returned by SetFluid, in other programs or programming environments it is an object variable created at runtime.
InputSpec:
String
Value1:
Double
Value2:
Double
ErrorMsg:
String
Excel Example: = Theta( A1, "PT", 12.53, 253.42) Notes: A1 is a cell containing the value returned by SetFluid. The error message is not in the arguments list; in case an error occurs during the calculation, the value returned by the function is a string containing the error description. The possible input specifications are listed in the table of available Thermodynamic State definitions.
Kappa It returns the isothermal compressibility:
, given 2 input thermodynamic variables as defined by the InputSpec argument. Default unit: 1/bar The general syntax for programs like Excel and programming languages like Fortran is:
= Kappa( FluidObj, InputSpec, Value1, Value2, ErrorMsg) The syntax for object oriented programming languages like VB, C++ and Matlab is: = FluidObj.Kappa( InputSpec, Value1, Value2, ErrorMsg) Arguments: FluidObj:
In Excel it is the variable returned by SetFluid, in other programs or programming environments it is an object variable created at runtime.
InputSpec:
String
Value1:
Double
Value2:
Double
ErrorMsg:
String
Excel Example: = Kappa( A1, "PT", 12.53, 253.42) Notes: A1 is a cell containing the value returned by SetFluid. The error message is not in the arguments list; in case an error occurs during the calculation, the value returned by the function is a string containing the error description. The possible input specifications are listed in the table of available Thermodynamic State definitions.
Gamma It returns the fundamental derivative of gas dynamics:
, given 2 input thermodynamic variables as defined by the InputSpec argument. Default unit: The general syntax for programs like Excel and programming languages like Fortran is: = Gamma( FluidObj, InputSpec, Value1, Value2, ErrorMsg) The syntax for object oriented programming languages like VB, C++ and Matlab is: = FluidObj.Gamma( InputSpec, Value1, Value2, ErrorMsg) Arguments: FluidObj:
In Excel it is the variable returned by SetFluid, in other programs or programming environments it is an object variable created at runtime.
InputSpec:
String
Value1:
Double
Value2:
Double
ErrorMsg:
String
Excel Example: = Gamma( A1, "PT", 12.53, 253.42) Notes: A1 is a cell containing the value returned by SetFluid. The error message is not in the arguments list; in case an error occurs during the calculation, the value returned by the function is a string containing the error description. The possible input specifications are listed in the table of available Thermodynamic State definitions.
Viscosity It returns the dynamic viscosity, given 2 input thermodynamic variables as defined by the InputSpec argument.
Default unit: Pa.s The general syntax for programs like Excel and programming languages like Fortran is: = Viscosity( FluidObj, InputSpec, Value1, Value2, ErrorMsg) The syntax for object oriented programming languages like VB, C++ and Matlab is:
= FluidObj.Viscosity( InputSpec, Value1, Value2, ErrorMsg) Arguments: FluidObj:
In Excel it is the variable returned by SetFluid, in other programs or programming environments it is an object variable created at runtime.
InputSpec:
String
Value1:
Double
Value2:
Double
ErrorMsg:
String
Excel Example: = Viscosity(A1, "PT", 12.53, 253.42) Notes: A1 is a cell containing the value returned by SetFluid. The error message is not in the arguments list; in case an error occurs during the calculation, the value returned by the function is a string containing the error description. The possible input specifications are listed in the table of available Thermodynamic State definitions.
ThermCond It returns the thermal conductivity, given 2 input thermodynamic variables as defined by the InputSpec argument.
Default unit: W/m.K The general syntax for programs like Excel and programming languages like Fortran is: = ThermCond( FluidObj, InputSpec, Value1, Value2, ErrorMsg) The syntax for object oriented programming languages like VB, C++ and Matlab is: = FluidObj.ThermCond( InputSpec, Value1, Value2, ErrorMsg) Arguments: FluidObj:
In Excel it is the variable returned by SetFluid, in other programs or programming environments it is an object variable created at runtime.
InputSpec:
String
Value1:
Double
Value2:
Double
ErrorMsg:
String
Excel Example: = ThermCond( A1, "PT", 12.53, 253.42) Notes: A1 is a cell containing the value returned by SetFluid. The error message is not in the arguments list; in case an error occurs during the calculation, the value returned by the function is a string containing the error description. The possible input specifications are listed in the table of available Thermodynamic State definitions.
Mmol It returns the molar mass of the working fluid.
Default unit: kg/mol The general syntax for programs like Excel and programming languages like Fortran is: M = Mmol( FluidObj, ErrorMsg) The syntax for object oriented programming languages like VB, C++ and Matlab is: M = FluidObj.Mmol( ErrorMsg) Arguments:
FluidObj:
In Excel it is the variable returned by SetFluid, in other programs or programming environments it is an object variable created at runtime.
ErrorMsg:
String
Excel Example: M = Mmol( A1) Notes: A1 is a cell containing the value returned by SetFluid In Excel the error message is not in the arguments list; in case an error occurs during the calculation, the value returned by the function is a string containing the error description.
Tcrit It returns the critical temperature of the working fluid.
Default unit: °C The general syntax for programs like Excel and programming languages like Fortran is: T = Tcrit( FluidObj, ErrorMsg) The syntax for object oriented programming languages like VB, C++ and Matlab is: T = FluidObj.Tcrit( ErrorMsg) Arguments: FluidObj:
In Excel it is the variable returned by SetFluid, in other programs or programming environments it is an object variable created at runtime.
ErrorMsg:
String
Excel Example: T = Tcrit( A1) Notes: A1 is a cell containing the value returned by SetFluid In Excel the error message is not in the arguments list; in case an error occurs during the calculation, the value returned by the function is a string containing the error description.
Pcrit It returns the critical pressure of the working fluid.
Default unit: bar The general syntax for programs like Excel and programming languages like Fortran is: P = Pcrit( FluidObj, ErrorMsg) The syntax for object oriented programming languages like VB, C++ and Matlab is: P = FluidObj.Pcrit( ErrorMsg) Arguments:
FluidObj:
In Excel it is the variable returned by SetFluid, in other programs or programming environments it is an object variable created at runtime.
ErrorMsg:
String
Excel Example: P = Pcrit( A1) Notes: A1 is a cell containing the value returned by SetFluid In Excel the error message is not in the arguments list; in case an error occurs during the calculation, the value returned by the function is a string containing the error description.
Tmin It returns the lower limit of the temperature validity range of the working fluid.
Default unit: °C The general syntax for programs like Excel and programming languages like Fortran is: T = Tmin( FluidObj, ErrorMsg) The syntax for object oriented programming languages like VB, C++ and Matlab is: T = FluidObj.Tmin( ErrorMsg) Arguments: FluidObj:
In Excel it is the variable returned by SetFluid, in other programs or programming environments it is an object variable created at runtime.
ErrorMsg:
String
Excel Example: T = Tmin( A1) Notes: A1 is a cell containing the value returned by SetFluid In Excel the error message is not in the arguments list; in case an error occurs during the calculation, the value returned by the function is a string containing the error description.
Tmax It returns the upper limit of the temperature validity range of the working fluid.
Default unit: °C The general syntax for programs like Excel and programming languages like Fortran is: T = Tmax( FluidObj, ErrorMsg) The syntax for object oriented programming languages like VB, C++ and Matlab is: T = FluidObj.Tmax( ErrorMsg) Arguments:
FluidObj:
In Excel it is the variable returned by SetFluid, in other programs or programming environments it is an object variable created at runtime.
ErrorMsg:
String
Excel Example: T = Tmax( A1) Notes: A1 is a cell containing the value returned by SetFluid In Excel the error message is not in the arguments list; in case an error occurs during the calculation, the value returned by the function is a string containing the error description.
AllInfo It returns the molar mass, critical point parameters and the temperature validity range of the working fluid at once.
Default units: Molar mass: kg/mol, Pressures: bar Temperatures: °C The general syntax for programs like Excel and programming languages like Fortran is: AllInfo( FluidObj, Mmol, Tcrit, Pcrit, Tmin, TMax, ErrorMsg) The syntax for object oriented programming languages like VB, C++ and Matlab is: FluidObj.AllInfo(Mmol, Tcrit, Pcrit, Tmin, TMax, ErrorMsg) The general syntax for Excel is: AllInfo( FluidObj) Arguments: FluidObj:
In Excel it is the variable returned by SetFluid, in other programs or programming environments it is an object variable created at runtime.
Mmol:
Molar mass of the working fluid (Double)
Tcrit:
Critical temperature of the working fluid (Double)
Pcrit:
Critical pressure of the working fluid (Double)
Tmin:
Lower limit of the temperature validity range for the working fluid (Double)
Tmax:
Upper limit of the temperature validity range for the working fluid (Double)
ErrorMsg:
String
Excel Example: AllInfo( A1) Notes: A1 is a cell containing the value returned by SetFluid The function returns an array with 5 elements. The error message is not in the arguments list; in case an error occurs during the calculation, the value returned by the function is a string containing the error description.
SetUnits It defines the units to be used for the calculation of thermophysical properties in FluidProp. The use of this method in Excel is slightly different from its use in other client programs or programming environments. The syntax for defining the unit set for Excel is as follows: SetUnits(UnitSet, MassOrMole, Properties, Units) The syntax for programming languages like Fortran is: SetUnits( FluidObj, UnitSet, MassOrMole, Properties, Units) The syntax for object oriented programming languages like VB, C++ and Matlab is: FluidObj.SetUnits( UnitSet, MassOrMole, Properties, Units) Important note In order to use the SetUnits method, an object variable must already have been created. The unit settings defined by the SetUnits method apply to all object variables that are used in the current application. In Excel the handling of fluid objects is different: the units must be defined for each working fluid defined with the SetUnits function. Hence the SetUnits function returns an Object Identifier to which the SetFluid method can refer. The provided example might further clarify the use of the SetUnits function in Excel. Arguments
FluidObj:
An object variable created at runtime.
UnitSet:
String indicating the name of the unit set to be used (see Table 1 in Available Units and Unit sets); It can be: - " ", "FP", or "FluidProp" (default) - "SI" - "Anglo-Saxon"
MassOrMole:
String that specifies the base unit for the selected properties; It can be: - "PerMass" or " " (default) - "PerMole" This modifier overwrites the specification possibly set with UnitSet.
Properties:
String indicating a list with one or more properties (separated by commas) for which the user wants to specify a unit different from the specified unit set. If no units are to be modified then a blank must be entered (" "). This modifier overwrites the unit specification of the specified properties in UnitSet and MassOrMole.
For example: to modify the units of pressure and temperature, Properties is: "P,T" Units:
String indicating a list with one or more units separated by commas in the same order as the property symbols in Properties. For the available units, see Table 2 in Available Units and Unit sets). The number of unit symbols must the same as the number of property symbols in Properties. If no properties have been specified in Properties then a blank (" ") must be entered. For example: to modify the units of pressure and temperature in pounds per square inch and degrees Fahrenheit, Units must be: "psia, °F".
Examples To specify the SI unit set for all units except for the pressure and temperature, which should be in bar and in Celsius degrees, enter: SetUnits( "SI", " ", "P,T", "bar,°C") To specify that all units of the specified unit set must be per mole instead of per mass, enter: SetUnits( "SI", "PerMole", "P,T", "bar,°C") To specify the FluidProp unit set for all units except for the enthalpy and the entropy, which have to be in Megajoules instead of Kilojoules and except for the pressure, which has to be in Newton per square meter, enter: SetUnits( " ", " ", "h, s, P", "MJ/kg, MJ/kg/K, N/m^2") To specify the Anglo-Saxon unit set for all units, except that all units have to be per mole instead of per pound, enter: SetUnits("Anglo-Saxon", "PerMole", " ", " ")
SetRefState It defines the reference state in case both the state definitions and the calculated properties must be non-dimensional. The syntax for programming languages like Fortran is: SetRefState ( FluidObj, T_ref, P_ref, ErrorMsg) The syntax for object oriented programming languages like VB, C++ and Matlab is: FluidObj.SetRefState( T_ref, P_ref, ErrorMsg) Notes In order to use the SetRefState method, an object variable must have been created. The reference state defined by the SetRefState method applies to all object variables that are used in the current application. This method is not available in Excel. Arguments FluidObj: An object variable created at runtime. T_ref: Reference temperature, double, unit: °C P_ref: Reference pressure, double, unit: bar ErrorMsg: Error message if reference state cannot be set, string Example To define the reference state to be T = 50 °C and P = 2 bar: SetRefState( 50, 2, ErrorMsg)
General Information The folder
\ Sample Clients contains examples of client programs for the following programs or development environments: 1. The Mathworks Matlab Release 13 and 14 2. Microsoft Visual Basic 6 3. Compaq Visual Fortran 6.6C3 4. Intel Visual Fortran 9.0 5. Microsoft Visual C++ 6 6. Borland C++ 5.02 7. Borland C++ Builder 6.0 8. Microsoft Excel (2000, XP, ...) 9. Maple 9 In all examples the same calculations are executed. The Visual Basic and C++ Builder examples are applications based on MS-Windows scrollable windows, while the Fortran, Visual C++ and Borland C++ client are just console applications. Once FluidProp is installed properly, you can run all the executables. In order to adapt or extend an example you must have the corresponding programming system and open the enclosed project file. In order to use C++ Builder as we did, special installation steps should be accomplished. See the Readme.txt file in the C++ Builder folder. For the C++ examples the names of the source files are the same. However, the contents of the files are slightly different. This mainly has to do with the different way in which specific libraries available in the different programming environments handle string variables. Nevertheless, methods have been added in each example, so that FluidProp can be used in the same way.
Matlab and Simulink Examples Using FluidProp from Matlab is very easy. Look into the examples provided in: \Sample Clients\The MathWorks Matlab Try running the Test_FluidProp.m procedure. COM, the technology on which FluidProp is based, is (well enough) supported from Matlab Release 13 on. Still some little discrepancies from the standard in the Matlab implementation of COM make the SetFluid function a little different. The setting of the Model and the Fluid in Matlab is done with the SetFluid_M function (the _M denote a different function from the standard FluidProp SetFluid). The Mathworks told us that they will correct the bugs concerning the COM implementation in the next releases. General syntax: ErrorMsg = invoke(ObjID,'SetFluid_M', ModelName, nComp, Comp, Conc) Arguments:
ObjID:
Object variable as set by the actxserver Matlab function (e.g. FP = actxserver ('FluidProp.FluidProp');)
ModelName:
String (possible values: TPSI, RefProp, StanMix, GasMix, IF97)
nComp:
Integer
Comp():
String containing the comma separated list of the components (IMPORTANT: it must match exactly the string returned by GetFluidNames but it is not case dependent; both short and long names can be used.)
Conc():
Double Array. Dimensions: nComp rows X 2 columns. The second column is formed by 0's. This is a bug in the Matlab implementation of COM: arrays can only be passed if they are matrices and not vectors.
ErrorMsg:
String (value returned)
Examples: Model = 'GasMix'; nCmp = 5; Cmp = 'AR,CO2,H2O,N2,O2'; Cnc = [0.0092,0; 0.0003,0; 0.0101,0; 0.7729,0; 0.2075,0]; ErrorMsg = invoke(FP,'SetFluid_M',Model,nCmp,Cmp,Cnc) Model = 'RefProp'; nCmp = 1; Cmp = 'Toluene'; Cnc = [1, 0]; ErrorMsg = invoke(FP,'SetFluid_M',Model,nCmp,Cmp,Cnc) Any of the functions to compute a fluid property can be called with the same syntax, e.g.:
[Enthalpy,ErrorMsg] = invoke(FP,'Enthalpy','PT', P, T); Special note for Simulink: Unfortunately object variables cannot be passed between blocks so they must be stored in the Matlab Workspace. Look into the provided SimulinkExample.mdl file for a simple implementation.
VB client Example Using FluidProp from Visual Basic is very easy. Look into the example provided in: \Sample Clients\Microsoft Visual Basic
CVF client Example Using FluidProp from Compaq Visual Fortran is very easy. Look into the example provided in: \Sample Clients\Compaq Visual Fortran
IVF client Example Using FluidProp from Intel Visual Fortran for Windows is very easy. Look into the example provided in: \Sample Clients\Intel Visual Fortran
VC client Example Using FluidProp from Microsoft Visual C++ is very easy. Look into the example provided in: \Sample Clients\Microsoft Visual C++
BC client Example Using FluidProp from Borland C++ is very easy. Look into the example provided in: \Sample Clients\Borland C++ 5.02
BCB client Example Using FluidProp from Borland C++ Builder is very easy. Look into the example provided in: \Sample Clients\Borland C++ Builder
Maple Example Using FluidProp from Maple is very easy. Look into the example provided in: \Sample Clients\Maple
Installing the FluidProp Excel Add-In Choose Add-in from the Tools Menu:
Browse your computer and select the file FluidProp.xla in the FluidProp folder:
Now a FluidProp category appears every time you use the Excel Function Wizard:
Excel Examples Using FluidProp from Excel is very easy. Look into the examples provided in: \Sample Clients\Microsoft Excel Excel Sample.xls shows examples of FluidProp functions for each available library. The folder \Sample Thermodynamic Diagrams contains T-s and PTx diagrams realized with FluidProp as a demonstration of the FluidProp capabilities. Example: In one cell enter (e.g. A1), set the library and the fluid by inserting the SetFluid function: =SetFluid(ModelName, FluidName) e.g: =SetFluid("TPSI","Butane") for a custom defined mixture: =SetFluid("RefProp",{"Butane","Propane"},{0.5,0.5}) To calculate properties, in another cell insert a function with the appropriate arguments: =Enthalpy($A$1,"Tq",50,1) The first argument is the address of the cell in which the SetFluid function was entered. All arguments can be cell addresses. Example with different units: In case different units are to be used, then in one cell (e.g. A2), specify these units by inserting the SetUnits function: =SetUnits(UnitSet, MassOrMole, Properties, Units) e.g: =SetUnits( "SI", "PerMole", "P,T", "bar,°C") Then the fluid can be entered: e.g. =SetFluid("TPSI","Butane"," ",$A$2) for a custom defined mixture: =SetFluid("RefProp",{"Butane","Propane"},{0.5,0.5},$A$2) The last argument is the address of the cell in which the SetUnits function was entered. Remark: In this help file we assume the decimal symbol to be a period ("."), the digital grouping symbol a space (e.g. 10 000) and the list separator a comma (e.g. "CH4","H2O", "N2"). The correct symbol depends on your Regional and Language Options (see Control Panel of the MS-Windows operating system) or your Excel settings (in Excel XP: Tools -> Options: International tab). You can also open the file Excel Sample.xls in the folder Client samples\Microsoft Excel to check which symbols your system is using.