All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Extended tp-flash algorithm to static numbers of components and enabled automatic differentiation for binary systems. #336
- Rewrote
PhaseEquilibrium::pure_pto mirrorpure_tand enabled automatic differentiation. #337 - Added
boiling_temperatureto the list of properties for parallel evaluations of gradients. #337 - Added the
Compositiontrait to allow more flexibility in the creation of states and phase equilibria. #330
- Removed any assumptions about the total number of moles in a
StateorPhaseEquilibrium. Evaluating extensive properties now returns aResult. #330
- Removed the
StateBuilderstruct, because it is mostly obsolete with the addition of theCompositiontrait. #330
- Updated
quantitydependency to 0.13 and removed thetypenumdependency. #328
- Added
py-feostests to GitHub Actions and movedpyo3/extension-modulefeature topyproject.toml. #334
- Fixed
Nonetransformation when binary parameters are provided toPyParametersto properly raise errors. #334 - Fixed the calculation of critical points and tp-flashes when one or more of the mixture components have zero composition. #331
- Fixed calculation of enthalpies of adsorption for mixtures. #329
- Updated to
ndarray0.17 andnum-dual0.13 to fix a broken dependency resolution. #327 - Fixed calculation of parameter combination in entropy scaling for mixtures in
viscosity_correlation,diffusion_correlation,thermal_conductivity_correlation. #323
- Fixed a wrong Jacobian entry in
heteroazeotrope_t. (Thanks to @ImagineBaggins for reporting the issue) #320
- Integrated the functionalities of
feos-ad. #289- In Rust: Full access to arbitrary derivatives of properties and phase equilibria with respect to model parameters. See, e.g.,
feos-campdfor an application to molecular design. - In Python: Specialized functions for the parallel evaluation of relevant properties (vapor pressure, liquid density, bubble/dew point pressure) including the gradients with respect to model parameters for parameter estimations or the inclusion in backpropagation frameworks.
- In Rust: Full access to arbitrary derivatives of properties and phase equilibria with respect to model parameters. See, e.g.,
- Implement pure-component multiparameter equations of state from CoolProp. #301
⚠️ Changed the format of parameter files. The contents of the oldmodel_recordfield are now flattened into thePureRecord/SegmentRecord. #233- Generalized the implementation of association to allow for arbitrarily many association sites per molecule or group and full control over each interaction. #233 #290
- Reimplemented the Python interface to avoid the necessity of having multiple classes with the same name.
- All Python classes are exported at the package root. #309
- Add initial density as optional argument to critical point algorithms. #300
- Updated
quantitydependency to 0.12. - Updated
num-dualdependency to 0.12. - Updated
numpy,PyO3andpythonizedependencies to 0.27. - Updated
nalgebradependency to 0.34.
- Fixed the handling of association records in combination with induced association in PC-SAFT #264
- Updated
quantitydependency to 0.10. #262 - Updated
num-dualdependency to 0.11. #262 - Updated
numpyandPyO3dependencies to 0.23. #262
- Updated model implementations to account for the removal of trait objects for Helmholtz energy contributions and the de Broglie in
feos-core. #226 - Changed Helmholtz energy functions in
PcSaftcontributions so that the temperature-dependent diameter is re-used across different contributions. #226 - Renamed structs in
uvtheorymodule in accordance with names in other models (UV...toUVTheory...). #226 - Restructured
uvtheorymodule: added modules for BH and WCA. #226 - Updated github action versions for CI/CD. #226
- Added
codegen-units = 1torelease-ltoprofile. #226
- Removed
VirialOrderfromuvtheorymodule. Orders are now variants of the existingPerturbationenum. #226
- Updated
quantitydependency to 0.8. #238 - Updated
num-dualdependency to 0.9. #238 - Updated
numpyandPyO3dependencies to 0.21. #238
- Python only: Release the changes introduced in
feos-core0.6.1.
- Added
EquationOfState.ideal_gas()to initialize an equation of state that only consists of an ideal gas contribution. #204 - Added
PureRecord,SegmentRecord,Identifier, andIdentifierOptiontofeos.ideal_gas. #205 - Added implementation of the Joback ideal gas model that was previously part of
feos-core. #204 - Added an implementation of the ideal gas heat capacity based on DIPPR equations. #204
- Added re-exports for the members of
feos-coreandfeos-dftin the new modulesfeos::coreandfeos::dft. #212
- Split
feos.ideal_gasintofeos.jobackandfeos.dippr. #204
- Python only: Release the changes introduced in
feos-core0.5.1.
- Added
IdealGasModelenum that collects all implementors of theIdealGastrait. #158 - Added
feos.ideal_gasmodule in Python from which (currently)JobackandJobackParametersare available. #158 - Added binary association parameters to PC-SAFT. #167
- Added derive for
EntropyScalingfor SAFT-VRQ Mie toResidualModeland adjusted parameter initialization. #179
- Changed the internal implementation of the association contribution to accomodate more general association schemes. #150
- To comply with the new association implementation, the default values of
naandnbare now0rather than1. Parameter files have been adapted accordingly. #150 - Added the possibility to specify a pure component correction parameter
phifor the heterosegmented gc PC-SAFT equation of state. #157 - Adjusted all models' implementation of the
Parametertrait which now requiresResults in some methods. #161 - Renamed
EosVarianttoResidualModel. #158 - Added methods to add an ideal gas contribution to an initialized equation of state object in Python. #158
- Moved
molar_weightimpls toResidualdue to removal ofMolarWeighttrait. #177
- Updated
quantitydependency to 0.7. - Updated
num-dualdependency to 0.8. #137 - Updated
numpyandPyO3dependencies to 0.20.
- Python only: Release the changes introduced in
feos-core0.4.2.
- Python only: Release the changes introduced in
feos-core0.4.1 andfeos-dft0.4.1.
- Replaced some slow array operations to make calculations with multiple associating molecules significantly faster. #129
- Fixed a regression introduced in #108 that lead to incorrect results for the 3B association scheme. #129
- Added SAFT-VRQ Mie equation of state and Helmholtz energy functional for first order Feynman-Hibbs corrected Mie fluids. #79
- Added
estimatormodule to documentation. #86 - Added benchmarks for the evaluation of the Helmholtz energy and some properties of the
Stateobject for PC-SAFT. #89 - The Python class
StateVecis exposed in both thefeos.eosandfeos.dftmodule. #113 - Added uv-B3-theory and additional optional argument
virial_orderto uvtheory constructor to enable uv-B3. #98
- Export
EosVariantandFunctionalVariantdirectly in the crate root instead of their own modules. #62 - Changed constructors
VaporPressure::newandDataSet.vapor_pressure(Python) to take a new optional argumentcritical_temperature. #86 - The limitations of the homo gc method for PC-SAFT are enforced more strictly. #88
- Removed generics for units in all structs and traits in favor of static SI units. #115
- Updated
pyo3andnumpydependencies to 0.18. #119 - Updated
quantitydependency to 0.6. #119 - Updated
num-dualdependency to 0.6. #119
- Fixed incorrect indexing that lead to panics in the polar contribution of gc-PC-SAFT. #104
VaporPressurenow returns an empty array instead of crashing. #124
- Major restructuring of the entire
feosproject. All individual models are reunited in thefeoscrate.feos-coreandfeos-dftstill live as individual crates within thefeosworkspace.
- Fixed a bug due to which the default ideal gas contribution was used for every equation of state. #17
- Added gc-PC-SAFT equation of state and Helmholtz energy functional.
- Added PeTS equation of state and Helmholtz energy functional.
- Added UV-Theory equation of state for Mie fluids.
- Combined all equations of state into a single Python class
EquationOfStateand all Helmholtz energy functionals into the Python classHelmholtzEnergyFunctional. #11
- Updated
quantityto 0.5.0. - Updated
feos-coreto 0.2.0. - Updated
feos-dftto 0.2.0. - Updated
feos-pcsaftto 0.2.0.
- Initial release