CoolProp computes thermophysical properties of real fluids from reference-quality Helmholtz equations of state: steam tables, refrigerants, common gases and liquids, and incompressible mixtures such as brines and glycols. It is the real-fluid counterpart to Cantera's ideal-gas kinetics. It uses the open-source CoolProp library only; NIST REFPROP isn't available.
For a walkthrough, see the thermodynamics guide.
Two ways to run it
| You need | Use | Billed as |
|---|---|---|
| One state, or one saturation point, right away | the coolprop utility (POST /api/v1/utils/submit) | A monthly utility call |
| A grid, a curve, or many states | the coolprop job, below | Wallet, by runtime |
In the app, these are the Lookup and Tables tabs. The utility takes a fluid, one or two state inputs, and an optional properties list; its fields are in Utilities.
Units and inputs
Everything is SI: temperature T in K, pressure P in Pa, enthalpy H in J/kg, entropy S in J/kg/K, density D in kg/m³, and quality Q (vapor fraction) from 0 to 1. A state needs two of these, such as T and P, or P and Q for saturated liquid or vapor. A utility lookup with only T or only P returns the saturation point.
fluid: any name CoolProp accepts, such asWater,R134a, orCarbonDioxide. Unknown names fail.backend:HEOS(default) for pure and pseudo-pure fluids, orINCOMPfor incompressible liquids and solutions.properties: up to 32 outputs. The default isT,P,D,H,S,U,Cpmass,viscosity,conductivity, andQ.
Job modes
mode | problem_spec | Result |
|---|---|---|
tp_grid | t_min, t_max, n_t, p_min, p_max, n_p | A temperature–pressure table, up to 10,000 states |
saturation | along (T or P), min, max, n | Saturated liquid and vapor along the curve, up to 2,000 points |
isobar | p, t_min, t_max, n_t | Properties against T at fixed P |
isotherm | t, p_min, p_max, n_p | Properties against P at fixed T |
batch_states | states: rows with two state inputs and an optional fluid | A table of up to 5,000 states, possibly of different fluids |
fluid is required except in batch_states, where each row can name its own.
Outputs
| File | Contents |
|---|---|
properties.csv | One row per state: fluid, the inputs, each requested property, and error (blank unless that state failed) |
summary.json | The mode, fluid, units, properties, and counts of requested, succeeded, and failed states |
A state that CoolProp can't evaluate, for example one outside the fluid's valid range, gets an error message instead of failing the job.
Related tools
VLE / Flash for mixtures in vapor–liquid equilibrium, and Cantera for reacting gases.