You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
(Bulk) equilibrium properties can be calculated as derivatives of a thermodynamic potential. In the case of equations of state, this thermodynamic potential is the Helmholtz energy $A$ as a function of its characteristic variables temperature $T$, volume $V$, and amount of substance of each component $n_i$. Examples for common (measurable) properties that are calculated from an equation of state are the pressure
with the total number of particles $n=\sum_i n_i$, the internal energy $U$, and the entropy $S$.
Residual properties
In most cases, the total value of a property is required because it is the one which can actually be measured. However, for some applications, e.g. phase equilibria or entropy scaling, residual properties are useful. Residual properties are based on the separation of the Helmholtz energy in an ideal gas ($\mathrm{ig}$) contribution and a residual ($\mathrm{res}$) contribution:
$$A=A^\mathrm{ig}+A^\mathrm{res}$$
The ideal gas contribution contains only kinetic and intramolecular energies and can be derived from statistical mechanics as
with the thermal de Broglie wavelength $\Lambda_i$ that only depends on the temperature. Residual properties depend on the reference state. The two commonly used reference states are at constant volume or at constant pressure, i.e.,
Because the Helmholtz energy is expressed in $T$, $V$ and $n_i$, residual properties at constant volume can be evaluated straightforwardly. If a property $X$ is calculated from the Helmholtz energy via the differential operator $\mathcal{D}$, i.e., $X=\mathcal{D}\left(A\right)$, then the residual contributions is calculated from
For residual properties at constant pressure, the reference state has to be evaluated for an ideal gas volume that corresponds to the constant pressure
with the compressiblity factor $Z=\frac{pV}{nRT}$.
For details on how the evaluation of properties from Helmholtz energy models is implemented in $\text{FeO}_\text{s}$ check out the Rust guide.
List of properties available in $\text{FeO}_\text{s}$
The table below lists all properties that are available in $\text{FeO}_\text{s}$, their definition, and whether they can be evaluated as residual contributions as well.
In general, the evaluation of (total) Helmholtz energies and their derivatives requires a model for the residual Helmholtz energy and a model for the ideal gas contribution, specifically for the temperature dependence of the thermal de Broglie wavelength $\Lambda_i$. However, for many properties like the pressure including its derivatives and fugacity coefficients, the de Broglie wavelength cancels out.
Due to different language paradigms, $\text{FeO}_\text{s}$ handles the ideal gas term slightly different in Rust and Python.
In Rust, if no ideal gas model is provided, users can only evaluate properties for which no ideal gas model is required because the de Broglie wavelength cancels. For those properties that require an ideal gas model but the table below indicates that they can be evaluated as residual, extra functions are provided.
In Python, no additional functions are required, instead the property evaluation will throw an exception if an ideal gas contribution is required but not provided.
Additional properties for fluids with known molar weights
If the Helmholtz energy model includes information about the molar weigt $MW_i$ of each species, additional properties are available in $\text{FeO}_\text{s}$