Nist Refprop | Skills Pool
Nist Refprop Query high-accuracy thermodynamic properties from NIST REFPROP database (commercial)
Soljourner 9 스타 2025. 11. 7. NIST REFPROP Database Skill
Query high-accuracy thermodynamic and transport properties using the NIST REFPROP (Reference Fluid Thermodynamic and Transport Properties) database - the gold standard for thermophysical property calculations.
Overview
NIST REFPROP is a commercial-grade thermophysical property database developed by the National Institute of Standards and Technology (NIST). It provides:
Pure Fluids : 147+ pure fluids with the highest available accuracy
Mixtures : Predefined and custom mixtures with advanced mixing rules
Refrigerant Blends : All common refrigerant blends with temperature glide
Transport Properties : Viscosity, thermal conductivity, surface tension
Thermodynamic Properties : Enthalpy, entropy, density, specific heat
Phase Equilibrium : VLE, LLE, VLLE calculations for mixtures
Highest Accuracy : Reference-quality data validated against experimental measurements
REFPROP is the industry and research standard for:
npx skills add Soljourner/claude-engineering-skills
스타 9
업데이트 2025. 11. 7.
직업
Critical engineering design requiring highest accuracy
Validation of other property libraries (CoolProp is validated against REFPROP)
Mixture calculations with complex phase behavior
Refrigerant blend applications with temperature glide
Research and publication-quality data
Licensing COMMERCIAL LICENSE REQUIRED
NIST REFPROP is NOT free or open-source software. You must purchase a license from NIST:
REFPROP software (Windows GUI)
Fluid database files
Excel add-in
FORTRAN/DLL libraries
Python wrapper compatibility
License is per-user, perpetual (one-time fee)
Updates and new fluid files provided for ~5 years
Required for commercial applications
Cannot be redistributed
Installation
Step 1: Purchase and Install REFPROP
Purchase REFPROP license from NIST: https://www.nist.gov/srd/refprop
Download and install REFPROP (typically to C:\Program Files (x86)\REFPROP\)
Note the installation directory path
Step 2: Install Python Wrapper The ctREFPROP package provides a Python interface to REFPROP using ctypes.
Step 3: Set RPPREFIX Environment Variable The Python wrapper needs to know where REFPROP is installed:
# PowerShell
$env:RPPREFIX = "C:\Program Files (x86)\REFPROP\"
# Or set permanently via System Properties > Environment Variables
export RPPREFIX="/path/to/REFPROP/"
import os
os.environ['RPPREFIX'] = r'C:\Program Files (x86)\REFPROP'
Step 4: Verify Installation from ctREFPROP.ctREFPROP import REFPROPFunctionLibrary
# Initialize REFPROP
RP = REFPROPFunctionLibrary(os.environ['RPPREFIX'])
RP.SETPATHdll(os.environ['RPPREFIX'])
# Test query
print(RP.RPVersion())
Available Fluids REFPROP includes 147+ pure fluids organized by class:
Common Industrial Fluids
Water (H₂O) - IAPWS-95 formulation
Air - Dry air mixture
Carbon Dioxide (CO₂)
Nitrogen (N₂)
Oxygen (O₂)
Argon (Ar)
Helium (He)
Hydrogen (H₂)
Hydrocarbons (40+ fluids)
Alkanes : Methane, Ethane, Propane, Butane, Pentane, Hexane, Heptane, Octane, Nonane, Decane (and isomers)
Alkenes : Ethylene, Propylene, Butene
Aromatics : Benzene, Toluene, Xylenes
Cyclic : Cyclohexane, Cyclopentane
Refrigerants (60+ fluids)
CFCs : R11, R12, R13, R113, R114, R115
HCFCs : R22, R123, R124, R141b, R142b
HFCs : R23, R32, R125, R134a, R143a, R152a, R227ea, R236fa, R245fa, R365mfc
HFOs : R1234yf, R1234ze(E), R1233zd(E), R1336mzz(Z)
Natural : R717 (Ammonia), R744 (CO₂), R290 (Propane), R600a (Isobutane)
Blends : R404A, R407C, R410A, R507A, R407F, R448A, R449A, R450A, R513A
Cryogenic Fluids
Helium, Neon, Argon, Krypton, Xenon
Hydrogen, Deuterium, Parahydrogen
Nitrogen, Oxygen, Fluorine
Methane, Ethane (LNG components)
Specialty Fluids
Siloxanes : D4, D5, D6, MD2M, MD3M, MD4M, MDM, MM (ORC applications)
Alcohols : Methanol, Ethanol, Propanol, Butanol
Other Organics : Acetone, Benzene, Toluene
Inorganics : Ammonia, Sulfur dioxide, Hydrogen sulfide
See reference.md for complete fluid list.
Property Queries
Core Functions REFPROP uses different function calls than CoolProp:
from ctREFPROP.ctREFPROP import REFPROPFunctionLibrary
import os
# Initialize
RP = REFPROPFunctionLibrary(os.environ['RPPREFIX'])
RP.SETPATHdll(os.environ['RPPREFIX'])
# Define fluid
MOLAR_BASE_SI = RP.GETENUMdll(0, "MOLAR BASE SI").iEnum
fluid = "WATER"
# Single component
r = RP.REFPROPdll(fluid, "TP", "D;H;S;CP;CV;W;VIS;TCX", MOLAR_BASE_SI, 0, 0, 298.15, 101.325, [1.0])
# Access results
density = r.Output[0] # kg/m³
enthalpy = r.Output[1] # J/kg
entropy = r.Output[2] # J/kg/K
cp = r.Output[3] # J/kg/K
cv = r.Output[4] # J/kg/K
sound_speed = r.Output[5] # m/s
viscosity = r.Output[6] # Pa·s
conductivity = r.Output[7] # W/m/K
Code Property Unit TPTemperature, Pressure K, kPa THTemperature, Enthalpy K, J/kg TSTemperature, Entropy K, J/kg/K TDTemperature, Density K, kg/m³ PHPressure, Enthalpy kPa, J/kg PSPressure, Entropy kPa, J/kg/K PDPressure, Density kPa, kg/m³ TQTemperature, Quality K, - PQPressure, Quality kPa, -
Output Properties Code Property Unit DDensity kg/m³ HEnthalpy J/kg SEntropy J/kg/K UInternal energy J/kg CPHeat capacity (const P) J/kg/K CVHeat capacity (const V) J/kg/K WSpeed of sound m/s VISViscosity Pa·s TCXThermal conductivity W/m/K KVKinematic viscosity m²/s PRANDTLPrandtl number - STNSurface tension N/m PPressure kPa TTemperature K QQuality (vapor fraction) -
Multiple properties can be requested in one call, separated by semicolons: "D;H;S;CP;VIS;TCX"
Mixture Calculations One of REFPROP's key advantages is sophisticated mixture handling:
# Define mixture by components and mole fractions
fluid = "METHANE;ETHANE;PROPANE"
z = [0.9, 0.07, 0.03] # Mole fractions (must sum to 1.0)
# Query mixture properties
r = RP.REFPROPdll(fluid, "TP", "D;H;S", MOLAR_BASE_SI, 0, 0, 250.0, 5000.0, z)
Up to 20 components in a mixture
Advanced mixing rules (GERG-2008, Kunz-Wagner, etc.)
Temperature glide calculations for zeotropic blends
Vapor-liquid equilibrium (VLE) calculations
Liquid-liquid equilibrium (LLE) for certain systems
Advantages Over CoolProp While CoolProp is excellent and free, REFPROP offers:
1. Higher Accuracy
REFPROP is the reference standard that other libraries validate against
More precise equations of state, especially near critical point
Better transport property correlations
Typical accuracy: 0.01% for density vs 0.1% for CoolProp
2. More Fluids
147+ pure fluids vs ~120 in CoolProp
All latest refrigerants (HFOs: R1234yf, R1234ze, R1233zd, etc.)
More industrial and specialty chemicals
Frequently updated with new fluids
3. Better Mixture Handling
Superior mixing rules (GERG-2008, advanced models)
Handles complex non-ideal mixtures
Temperature glide for zeotropic refrigerant blends
VLE/LLE calculations
Up to 20 components vs limited mixture support in CoolProp
4. Extended Property Range
Valid over wider temperature and pressure ranges
Better extrapolation behavior
More reliable in extreme conditions
5. Additional Capabilities
Humidity calculations (psychrometrics)
Flash calculations (PT, PH, PS, etc.)
Saturation properties with Jacobian
Ancillary equations
Pseudo-pure fluid approximations
6. Official Support
Maintained by NIST (National Institute of Standards and Technology)
Technical support available
Regular updates with latest research
Publication-quality results
When to Use REFPROP vs CoolProp
Highest accuracy is required (±0.01%)
Working with complex mixtures
Need latest refrigerant data (HFOs)
Publication or critical design work
Budget allows commercial license
Working with zeotropic blends (temperature glide)
Budget constraints (free/open-source)
Basic property needs (±0.1% accuracy acceptable)
Pure fluids only
Open-source license required
Quick prototyping
Validation Note: CoolProp is validated against REFPROP, confirming REFPROP as the reference standard.
Common Workflow Example from ctREFPROP.ctREFPROP import REFPROPFunctionLibrary
import os
# Setup
os.environ['RPPREFIX'] = r'C:\Program Files (x86)\REFPROP'
RP = REFPROPFunctionLibrary(os.environ['RPPREFIX'])
RP.SETPATHdll(os.environ['RPPREFIX'])
MOLAR_BASE_SI = RP.GETENUMdll(0, "MOLAR BASE SI").iEnum
# Query water at 25°C, 1 bar
fluid = "WATER"
T = 298.15 # K
P = 100.0 # kPa
r = RP.REFPROPdll(fluid, "TP", "D;H;S;CP;VIS;TCX", MOLAR_BASE_SI, 0, 0, T, P, [1.0])
print(f"Water at {T} K, {P} kPa:")
print(f" Density: {r.Output[0]:.4f} kg/m³")
print(f" Enthalpy: {r.Output[1]:.2f} J/kg")
print(f" Entropy: {r.Output[2]:.2f} J/kg/K")
print(f" Cp: {r.Output[3]:.2f} J/kg/K")
print(f" Viscosity: {r.Output[4]*1000:.4f} mPa·s")
print(f" Conductivity: {r.Output[5]:.4f} W/m/K")
Error Handling REFPROP returns error codes and messages:
r = RP.REFPROPdll(fluid, "TP", "D", MOLAR_BASE_SI, 0, 0, T, P, z)
if r.ierr > 0:
print(f"Error {r.ierr}: {r.herr}")
elif r.ierr < 0:
print(f"Warning {r.ierr}: {r.herr}")
02
Overview
디버깅
Node Connect Diagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps. Use when QR/setup code/manual connect fails, local Wi-Fi works but VPS/tailnet does not, or errors mention pairing required, unauthorized, bootstrap token invalid or expired, gateway.bind, gateway.remote.url, Tailscale, or plugins.entries.device-pair.config.publicUrl.