You are on page 1of 89

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 Multi-
Component 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:


Info@FluidProp.com

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 of complex Chemical Equilibrium
Compositions. Lewis Research Center , NASA SP-273, 1971.

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 FluidProp FluidProp MW Tmin Tmax Tmin Tmax


Name name name [g/mol] [°C] [°C] [K] [K]
(short) (long)
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 26.85 4726.85 300 5000


Borane, BCl3 trichloro 117.1699 26.85 4726.85 300 5000
trichloro borane

Borane, BF3 trifluoro 67.8061 26.85 4726.85 300 5000


trifluoro borane

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 CS2 carbon 76.139 26.85 4726.85 300 5000


disulfide disulfide

Carbon CO carbon 28.0104 26.85 4726.85 300 5000


monoxide monoxide

Carbon oxide COS carbonyl 60.0745 26.85 4726.85 300 5000


sulfide sulfide

Carbon CCl4 carbon 153.823 26.85 4726.85 300 5000


tetrachloride tetrachloride

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 HCl hydrochloric 36.4609 26.85 4726.85 300 5000


acid acid

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 HCN hydrogen 27.0258 26.85 4726.85 300 5000


cyanide cyanide

Hydrogen H2O2 hydrogen 34.0147 26.85 4726.85 300 5000


peroxide peroxide

Hydrogen H2S hydrogen 34.0799 26.85 4726.85 300 5000


sulfide sulfide

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 NO2 nitrogen 46.0055 26.85 4726.85 300 5000


dioxide dioxide

Nitrosyl NOCl nitrosyl 65.459 26.85 4726.85 300 5000


chloride chloride

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, O oxygen atom 15.9994 26.85 4726.85 300 5000


atomic

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 SiF4 silicon 104.0795 26.85 4726.85 300 5000


tetrafluoride tetrafluoride

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 SF6 sulfur 146.0543 26.85 4726.85 300 5000


hexafluoride hexafluoride

Sulfur trioxide SO3 sulfur trioxide 80.0621 26.85 4726.85 300 5000
Water H2O water 18.0152 26.85 4726.85 300 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: water


FluidProp name (short): H2O
FluidProp name (long): water
T critical: 373.946 [°C]
P critical: 220.64 [bar]
v critical: 0.0031056 [m3/kg]
MW: 18.015257 [g/mol]
R: 461.526 [J/kg.K]
T min: 0.01 [°C]
T max: P <= 100 bar --> Tmax = 2000 °C [°C]
100 < P <= 1000 bar --> Tmax = 800 °C
v min: 0.000957 [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 Scientific Name FluidProp FluidProp Tc P c T min Tmax Pmax


Name Name Name (long) [°C] [bar] [°C] [°C] [bar]
(short)
dimethyl ketone propanone C3H6O acetone 234.95 47 -94.65 276.85 7000
R-717 ammonia NH3 ammonia 132.25 113.33 -77.655 426.85 10000
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 426.85 5000
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 200
D2O deuterium oxide D2O heavy water 370.74 216.71 3.82 526.85 1000
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 -85.45 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 -153.55 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 346.85 8000
R-720 neon Ne neon -228.6582 26.786 -248.588 426.85 7000
C5H12 2,2-dimethylpropane neo-C5H12 neopentane 160.59 31.96 -16.55 276.85 2000
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 -129.68 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,2- R113 R113 214.06 33.922 -36.22 251.85 2000
trifluoroethane
CFC-114 1,2-dichloro-1,1,2,2- R114 R114 145.68 32.57 0 233.85 210
tetrafluoroethane
CFC-115 chloropentafluoroethane R115 R115 79.95 31.2 -99.39 226.85 600
FC-116 hexafluoroethane R116 R116 19.88 30.48 -100.05 151.85 500
CFC-12 dichlorodifluoromethane R12 R12 111.97 41.361 -157.051 251.85 2000
HCFC-123 2,2-dichloro-1,1,1- R123 R123 183.681 36.618 -107.15 326.85 400
trifluoroethane
HCFC-124 1-chloro-1,2,2,2- R124 R124 122.275 36.243 -153.15 196.85 400
tetrafluoroethane
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,2- R134a R134a 101.06 40.593 -103.3 181.85 700
tetrafluoroethane
FC-14 tetrafluoromethane R14 R14 -45.64 37.5 -174.21 349.85 510
HCFC-141b 1,1-dichloro-1- R141b R141b 204.35 42.12 -103.47 226.85 4000
fluoroethane
HCFC-142b 1-chloro-1,1- R142b R142b 137.11 40.55 -130.43 196.85 600
difluoroethane
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,3- R227ea R227ea 102.8 29.99 -126.8 201.85 600
heptafluoropropane
HFC-23 trifluoromethane R23 R23 26.143 48.32 -155.13 201.85 1200
HFC-236ea 1,1,1,2,3,3- R236ea R236ea 139.29 35.02 -31.15 226.85 600
hexafluoropropane
HFC-236fa 1,1,1,3,3,3- R236fa R236fa 124.92 32 -93.63 226.85 400
hexafluoropropane
HFC-245ca 1,1,2,2,3- R245ca R245ca 174.42 39.25 -73.15 226.85 600
pentafluoropropane
HFC-245fa 1,1,1,3,3- R245fa R245fa 154.05 36.4 -73.15 226.85 600
pentafluoropropane
HFC-32 difluoromethane R32 R32 78.105 57.82 -136.81 161.85 700
HFC-365mfc 1,1,1,3,3- C4H5F5 R365mfc 186.85 32.66 -34.15 226.85 350
pentafluorobutane
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 FluidProp MW T c P c T min Tmax


Name 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/ R424a 108.412 85.889 40.03 -112.34 200.18
butane/isopentane
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 R427a 90.444 85.324 43.917 -117.84 201.24
R428a R125/R143A/propane/isobutane R428a 107.528 69 37.248 -115.78 259.74
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
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 Wong-
Sandler 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 Chemical FluidProp FluidProp Tc Pc MW Tmin Tmax[


Formula Name Name (long) [°C] [bar] [g/mol] [°C] ? 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 350
Ethane ethane C2H6 C2H6 ethane 29.28 48.7976 30.07 -153.15 350
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 243.52 33.378 186 0 400
benzene
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 40.5093 128.174 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 28.013 -209.15 350
n-Octane n-octane C8H18 C8H18 octane 295.61 24.8649 114.22 0 400
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 42.4953 44.09 -145.15 400
p-Xylene 1,4-dimethylbenzene C8H10 C8H10 p-xylene 343.08 35.11 106.167 34.85 329.85
R113 1,1,2- C2Cl3F3 R113 R113 214.15 34.1 187.38 -34.95 400
trichlorotrifluorethane
R114 1,2- C2Cl2F4 R114 R114 145.75 32.7 170.94 -94 400
dichlorotetrafluoroethane
R116 hexafluroethane C2F6 R116 R116 19.85 30.18 138.012 -100.75 400
R12 dichlorodifluoromethane CCl2F2 R12 R12 111.85 40.7 120.914 -140 273.15
R125 pentafluoroethane C2HF5 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,1- CH3CCIF2 R142b R142b 136.45 43.3 100.496 -130.15 136.45
difluoroethane
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,3- C3H3F5 R245fa R245fa 154.05 36.4 134.055 -73.15 226.85
pentafluoropropane
R32 difluoromethane CH2F2 R32 R32 78.41 58.3 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 31.27 120.19 56.85 359.85
Water water H2O H2O water 374.14 220.8975 18.015 0 750
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 FluidProp FluidProp Name Tc Pc


Name Name (short) (long) [°C] [bar]
Water-2- H2O/2-C3H8O water/2-propanoll 292.4 98.70
Propanol
Air air air -142.1 35.89
Benzene- C6H6/C7H8 benzene/toluene 330.7 87.64
Toluene
Benzene- C6H6/C6H12 benzene/cyclohexane 284.7 45.89
Cyclohexane
Benzene- C6H6/C6H12/C6H14 benzene/cyclohexane/hexane 254.7 36.91
Cyclohexane-
Hexane
Benzene- C6H6/C8H10 benzene/ethylbenzene 321.6 43.77
Ethylbenzene
Benzene- C6H6/C6H14 benzene/hexane 260.7 40.03
Hexane
Benzene- C6H6/H2O benzene/water 341.2 146.89
Water
Butane- C4H10/C6H14 butane/hexane 202.1 36.84
Hexane
Butane- C4H10/C5H12 butane/pentane 177.0 37.67
Pentane
Ethanol-Water C2H6O/H2O ethanol/water 304.6 135.01
Ethylbenzene- C8H10/C7H8 ethylbenzene/toluene 332.3 38.84
Toluene
Hexane- C6H14/C6H12 hexane/cyclohexane 256.7 35.50
Cyclohexane
Isobutane- i-C4H10/i-C5H12 isobutene/isopentane 165.0 36.39
Isopentane
Methanol- CH4O/C6H6 methanol/benzene 269.7 76.23
Benzene
Methanol- CH4O/H2O methanol/water 308.1 149.91
Water
Nitrogen- N2/O2 nitrogen/oxygen -140.7 37.94
Oxygen
Pentane- C5H12/C6H14 pentane/hexane 217.2 32.32
Hexane
Propane- C3H8/C5H12 propane/pentane 160.1 44.82
Pentane
R113-Ethanol R113/C2H6O R113/ethanol 229.9 60.56
R114-Ethanol R114/C2H6O R114/ethanol 204.2 59.05
R134a-R116 R134a/R116 R134a/R116 65.9 31.53
R134a-R142b R134a/R142b R134a/R142b 119.3 43.19
R14-R23 R14/R23 R14/R23 -1.6 57.24
R32-R125- R407a R407a 75.8 41.83
R134a
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 Chemical FluidProp FluidProp Tc [? Pc vc MW R Tmin T


Name Formula Name Name C] [bar] [m3/kg] [g/mol] [J/kg.K] [?C] [
(short) (long)
Air [-] N2(0.79) / air air -140.65 37.7 0.0029129 28.96 287.0686 -223.15 1
O2(0.2095
) / Ar(
0.0096 )
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 [-] [-] N2/O2/Ar/H2O moist. air [-] [-] [-] [-] [-] [-] [
(1)
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 H20 water 374.15 221 0.00315457 18.016 461.51 0 8

(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.
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 n/a
Tu n/a n/a n/a
vh
vs
vq n/a n/a
vu
dh
ds
dq n/a n/a
du
hs
sq n/a n/a n/a n/a
su n/a 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
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 (d) kg/m3

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 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)

Secondary thermodynamic property Psi s2/m2

(Psi)

Secondary thermodynamic property Zeta kg.K/m3

(Zeta)

Volumetric thermal expansion Theta 1/K


coefficient
(Theta)

Isothermal compressibility Kappa 1/bar


?
(Kappa)

Fundamental derivative of gas Gamma -


dynamics

(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 TPSI StanMix IF97 GasMix RefProp
method

Pressure Pressure

Temperature Temperature

Specific Volume SpecVolume

Density Density

Enthalpy Enthalpy

Entropy Entropy
Internal Energy IntEnergy

Vapor quality VaporQual (1) n/a

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 (1) n/a


coefficient

Isothermal compressibility Kappa (1) n/a

Fundamental derivative of Gamma (1) n/a


gas dynamics

Viscosity Viscosity n/a n/a

Thermal Conductivity ThermCond n/a n/a


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 TPSI StanMix IF97 GasMix RefProp


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
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 SI Anglo-Saxon


unit set unit set 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/ )u 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/ )u 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

Table 2
Property name Base units

Length m in ft yd mi

Mass g lb oz

Time s min h d y

Temperature K °C °F °R

Temperature difference 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 psia

Energy, work, heat J Wh cal Btu

Power W hp

Base units can be preceded (if applicable) by the prefixes listed in Table 3.

Table 3

Prefix Name Factor Prefix Name Factor


symbol symbol

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 Meaning
symbol

. 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,
Double (output)
h, s, u, q:

x, y: 1-dimensional double array (output)

cv, cp, c,
Double (output)
alpha, beta,
chi, fi, ksi,
psi, zeta,
theta,
kappa,
gamma,
eta, lambda:

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 [kg/m3.bar]
the pressure

dd_vap_dP first-order partial derivative of the saturated vapor density with respect to [kg/m3.bar]
the pressure

dh_liq_dP first-order partial derivative of the saturated liquid enthalpy with respect to [kJ/kg.bar]
the pressure

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 [K/bar]
pressure

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: 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)
x, y: 1-dimensional double array (output)
ErrorMsg: 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 <FluidProp 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:
<FluidProp folder>\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:

<FluidProp folder>\Sample Clients\Microsoft Visual Basic


CVF client Example
Using FluidProp from Compaq Visual Fortran is very easy. Look into the example provided in:

<FluidProp folder>\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:

<FluidProp folder>\Sample Clients\Intel Visual Fortran


VC client Example
Using FluidProp from Microsoft Visual C++ is very easy. Look into the example provided in:

<FluidProp folder>\Sample Clients\Microsoft Visual C++


BC client Example
Using FluidProp from Borland C++ is very easy. Look into the example provided in:

<FluidProp folder>\Sample Clients\Borland C++ 5.02


BCB client Example
Using FluidProp from Borland C++ Builder is very easy. Look into the example provided in:

<FluidProp folder>\Sample Clients\Borland C++ Builder


Maple Example
Using FluidProp from Maple is very easy. Look into the example provided in:

<FluidProp folder>\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:
<FluidProp folder>\Sample Clients\Microsoft Excel
Excel Sample.xls shows examples of FluidProp functions for each available library.
The folder <FluidProp 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.

You might also like