Equations of state

The key data structure in FeOs is the EquationOfState class that contains all implemented equations of state. The State and PhaseEquilibrium objects are used to define thermodynamic conditions and – once created – can be used to compute properties.

The EquationOfState class

Residual Helmholtz energy models

EquationOfState.pcsaft(parameters[, ...])

PC-SAFT equation of state.

EquationOfState.epcsaft(parameters[, ...])

ePC-SAFT equation of state.

EquationOfState.gc_pcsaft(parameters[, ...])

(heterosegmented) group contribution PC-SAFT equation of state.

EquationOfState.peng_robinson(parameters)

Peng-Robinson equation of state.

EquationOfState.pets(parameters[, max_eta])

PeTS equation of state.

EquationOfState.uvtheory(parameters[, ...])

UV-Theory equation of state.

EquationOfState.saftvrmie(parameters[, ...])

SAFT-VR Mie equation of state.

EquationOfState.saftvrqmie(parameters[, ...])

SAFT-VRQ Mie equation of state.

Ideal gas models

EquationOfState.dippr(dippr)

Ideal gas model based on DIPPR equations for the ideal gas heat capacity.

EquationOfState.joback(joback)

Ideal gas model of Joback and Reid.

Example: Combine a DIPPR ideal gas model with PC-SAFT

import feos

pc_saft_parameters = feos.Parameters.from_json(
    ['methane', 'ethane'], 
    'pc_saft_parameters.json'
)
dippr_parameters = feos.Parameters.from_json(
    ['methane', 'ethane'], 
    'dippr_parameters.json'
)
eos = feos.EquationOfState.pcsaft(pc_saft_parameters).dippr(dippr_parameters)

Example: Combine the ideal gas model of Joback & Reid with PC-SAFT

import feos

pc_saft_parameters = feos.Parameters.from_json_smiles(
    ['CCC', 'CCCC'],
    'smarts.json',
    'pcsaft_group_parameters.json'
)
joback_parameters = feos.Parameters.from_json_smiles(
    ['CCC', 'CCCC'],
    'smarts.json',
    'joback_parameters.json'
)
eos = feos.EquationOfState.pcsaft(pc_saft_parameters).joback(joback_parameters)

Models defined in Python

EquationOfState.python_residual(residual)

Residual Helmholtz energy model from a Python class.

EquationOfState.python_ideal_gas(ideal_gas)

Ideal gas equation of state from a Python class.

Data types

EquationOfState()

Collection of equations of state.

Contributions()

Possible contributions that can be computed.

Verbosity()

Output level for phase equilibrium solvers.

State(eos[, temperature, volume, density, ...])

A thermodynamic state at given conditions.

StateVec(states)

A list of states that provides convenient getters for properties of all the individual states.

PhaseEquilibrium()

A thermodynamic two phase equilibrium state.

PhaseDiagram(phase_equilibria)

Phase diagram for a pure component or a binary mixture.