Skip to content

fugacio.thermo

The differentiable thermodynamics and physical-property engine: the foundation of the stack, with no internal dependencies. Import the public surface straight from the package root:

from fugacio.thermo import PR, flash_pt, reference_fluid, saturation_state

Differentiable thermodynamics and physical-property engine for Fugacio.

Everything here is written against jax.numpy, so gradients flow cleanly through the rest of the Fugacio stack (fugacio.sim, fugacio.copilot).

The public surface is grouped as:

  • data: Component, the curated DATABASE, helpers, and a NIST ThermoML archive reader (read_thermoml, load_sample);
  • ideal gas: cp_ig, enthalpy_ig, entropy_ig;
  • equations of state: PR, SRK, RK, VDW plus fugacity-coefficient and volume routines;
  • activity models: Margules, van Laar, Wilson, NRTL, UNIQUAC, and regular-solution / Flory-Huggins, both as functions and as differentiable ActivityModel objects;
  • group contribution: unifac_activity, joback_estimate;
  • reference state: liquid_reference_fugacity, poynting_factor, henry_constant;
  • reference fluids: fugacio.thermo.helmholtz, multiparameter Helmholtz EOS of the REFPROP/CoolProp class (IAPWS-95 water/steam, Span-Wagner CO2, ...) with differentiable saturation lines, steam-table state functions (state_tp, state_ph, ...), and the IAPWS transport formulations for water;
  • property correlations: DIPPR-form kernels and corresponding-states estimators for enthalpy of vaporization and liquid heat capacity (heat_of_vaporization, liquid_heat_capacity), liquid/vapour volumetric properties (liquid_density, mixture_liquid_volume, Peneloux translation), and transport properties (gas_viscosities, liquid_thermal_conductivities, surface_tensions, gas_diffusivity, ...), pure and mixture;
  • phase equilibrium: equation-of-state (flash_pt, bubble_pressure_eos, ...) and gamma-phi (flash_pt_gamma, bubble_pressure_gamma, ...) routes, plus liquid-liquid (flash_lle) and vapour-liquid-liquid (flash_vlle, heterogeneous_azeotrope) equilibria and tangent-plane stability;
  • models: the unified EOSModel / GammaPhiModel interface;
  • regression: differentiable parameter estimation (levenberg_marquardt, fit_nrtl_binary, ...), UNIFAC-to-binary prediction (predict_nrtl_from_unifac), and the ThermoML batch driver / parameter bank (fit_vle_dataset, ParameterBank);
  • reactions: stoichiometry and standard-state thermochemistry (Reaction, reaction_properties, equilibrium_constant), chemical-reaction equilibrium (fugacio.thermo.reaction_equilibrium.equilibrium), and differentiable rate laws (PowerLaw, MassActionReversible, LHHW);
  • validation: consistency laws and finite-difference gradient checks, plus fugacio.thermo.oracles, optional differential tests against the thermo / chemicals / Clapeyron.jl (activity) and Cantera (reaction) reference libraries.

Where to look next

The reference is grouped by topic so each page stays scannable:

Area Page Key symbols
Components & data Components & data Component, DATABASE, component_arrays, R, T_REF
Equations of state Equations of state PR, SRK, RK, VDW, ln_phi_mixture, molar_volume
Phase equilibrium Phase equilibrium flash_pt, rachford_rice, bubble_pressure_eos, EOSModel, GammaPhiModel
LLE & VLLE Liquid-liquid & VLLE flash_lle, flash_vlle, heterogeneous_azeotrope
Activity models Activity & group contribution NRTL, UNIQUAC, Wilson, Margules, unifac_activity, joback_estimate
Energy & properties Energy & property models flash_ph, flash_ps, residual_properties, cp_ig, heat_of_vaporization
Reference fluids Reference fluids (Helmholtz) reference_fluid, saturation_state, state_ph, water_viscosity
Transport & volumetric Transport & volumetric gas_viscosities, liquid_density, surface_tensions, gas_diffusivity
Reactions & kinetics Reactions & kinetics Reaction, equilibrium_constant, Arrhenius, PowerLaw, LHHW
Regression & ThermoML Regression & ThermoML levenberg_marquardt, fit_nrtl_binary, ParameterBank, read_thermoml

See the non-ideal phase equilibrium guide and the reference-fluids guide for worked examples.