Skip to content

Commit b7ed8d7

Browse files
mortehamg-bauer
andauthored
Implementation of SAFT-VRQ Mie EoS (feos-org#79)
* Added SAFT-VRQ Mie EOS and DFT functional * added documentation, minor refactoring incl. clippy suggestions * updated README, added README for parameters, renamed parameter files, updated CI * added dft feature to dispersion energy density * added function to generate lammps tables from parameters incl. python binding * Added tutorial on how to compute the rdf using DFT and comparison to LAMMPS output, added Python docstrings for functional constructor * Deleted commented code * Added aasen2019 parameter set and updated litterature.bib file * Added comment on SAFT-VRQ Mie in the changelog * Updated parameter readme, renamed binary parameter file to aasen2020_binary.json, added links to publications and comment about different hydrogen parameters, updated changelog Co-authored-by: Morten Hammer <morten.hammer@ntnu.no> Co-authored-by: Gernot Bauer <bauer@itt.uni-stuttgart.de>
1 parent 8f0ebcc commit b7ed8d7

37 files changed

+19961
-8
lines changed

.github/workflows/test.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ jobs:
2828
strategy:
2929
fail-fast: false
3030
matrix:
31-
model: [pcsaft, gc_pcsaft, pets, uvtheory]
31+
model: [pcsaft, gc_pcsaft, pets, uvtheory, saftvrqmie]
3232

3333
steps:
3434
- uses: actions/checkout@v3

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
55
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
66

77
## [Unreleased]
8+
### Added
9+
- Added SAFT-VRQ Mie equation of state and Helmholtz energy functional for first order Feynman-Hibbs corrected Mie fluids. [#79](https://github.com/feos-org/feos/pull/79)
10+
811
### Changed
912
- Export `EosVariant` and `FunctionalVariant` directly in the crate root instead of their own modules. [#62](https://github.com/feos-org/feos/pull/62)
1013

Cargo.toml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ pcsaft = ["association"]
5656
gc_pcsaft = ["association"]
5757
uvtheory = ["lazy_static"]
5858
pets = []
59+
saftvrqmie = []
5960
rayon = ["dep:rayon", "ndarray/rayon", "feos-core/rayon", "feos-dft?/rayon"]
6061
python = ["pyo3", "numpy", "feos-core/python", "feos-dft?/python", "rayon"]
61-
all_models = ["dft", "estimator", "pcsaft", "gc_pcsaft", "uvtheory", "pets"]
62+
all_models = ["dft", "estimator", "pcsaft", "gc_pcsaft", "uvtheory", "pets", "saftvrqmie"]

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ The following models are currently published as part of the `FeOs` framework
3636
|`gc-pcsaft`|(heterosegmented) group contribution PC-SAFT|||
3737
|`pets`|perturbed truncated and shifted Lennard-Jones mixtures|||
3838
|`uvtheory`|equation of state for Mie fluids and mixtures|||
39+
|`saftvrqmie`|equation of state for quantum fluids and mixtures|||
3940

4041
The list is being expanded continuously. Currently under development are implementations of ePC-SAFT, a Helmholtz energy functional for the UV theory, and SAFT-VRQ-Mie.
4142

docs/api/dft.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ Implementations of Helmholtz energy functionals for DFT.
1515
HelmholtzEnergyFunctional.pcsaft
1616
HelmholtzEnergyFunctional.gcpcsaft
1717
HelmholtzEnergyFunctional.pets
18+
HelmholtzEnergyFunctional.saftvrqmie
1819
HelmholtzEnergyFunctional.fmt
1920
```
2021

docs/api/eos.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ The `State` and `PhaseEquilibrium` objects are used to define thermodynamic cond
1818
EquationOfState.pets
1919
EquationOfState.python
2020
EquationOfState.uvtheory
21+
EquationOfState.saftvrqmie
2122
```
2223

2324
## Other data types

docs/api/index.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,4 +24,5 @@ These modules contain the objects to e.g. read parameters from files or build pa
2424
peng_robinson
2525
pets
2626
uvtheory
27+
saftvrqmie
2728
```

docs/api/saftvrqmie.md

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# `feos.saftvrqmie`
2+
3+
Utilities to build `SaftVRQMieParameters`.
4+
5+
## Example
6+
7+
```python
8+
from feos.saftvrqmie import SaftVRQMieParameters
9+
10+
parameters = SaftVRQMieParameters.from_json(['hydrogen', 'neon'], 'parameters.json')
11+
```
12+
13+
## Data types
14+
15+
```{eval-rst}
16+
.. currentmodule:: feos.saftvrqmie
17+
18+
.. autosummary::
19+
:toctree: generated/
20+
21+
FeynmanHibbsOrder
22+
Identifier
23+
JobackRecord
24+
PureRecord
25+
BinaryRecord
26+
SaftVRQMieRecord
27+
SaftVRQMieParameters
28+
```

docs/api/uvtheory.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,7 @@ parameters = UVParameters.from_json(['methane', 'ethane'], 'parameters.json')
2121
Identifier
2222
ChemicalRecord
2323
PureRecord
24-
SegmentRecord
2524
BinaryRecord
26-
BinarySegmentRecord
2725
Perturbation
2826
UVRecord
2927
UVParameters

examples/saftvrqmie/deuterium_32K.table

Lines changed: 5005 additions & 0 deletions
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)