Skip to content
This repository was archived by the owner on Jun 14, 2022. It is now read-only.

Commit a5dd929

Browse files
authored
Release v0.2.0 (#42)
1 parent 3a42fe0 commit a5dd929

File tree

4 files changed

+48
-4
lines changed

4 files changed

+48
-4
lines changed

CHANGELOG.md

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,45 @@ 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+
9+
## [0.2.0] - 2022-04-12
10+
### Added
11+
- Added conversions between `ParameterError` and `EosError` to improve the error messages in some cases. [#40](https://github.com/feos-org/feos-core/pull/40)
12+
- Added new struct `StateVec`, that gives easy access to properties of lists of states, e.g. in phase diagrams. [#48](https://github.com/feos-org/feos-core/pull/48)
13+
- Added `ln_symmetric_activity_coefficient` and `ln_phi_pure` to the list of state properties that can be calculated. [#50](https://github.com/feos-org/feos-core/pull/50)
14+
815
### Changed
916
- Removed `State` from `EntropyScaling` trait and adjusted associated methods to use temperature, volume and moles instead of state. [#36](https://github.com/feos-org/feos-core/pull/36)
1017
- Replaced the outer loop iterations for the critical point of binary systems with dedicated algorithms. [#34](https://github.com/feos-org/feos-core/pull/34)
18+
- Renamed `VLEOptions` to `SolverOptions`. [#38](https://github.com/feos-org/feos-core/pull/38)
19+
- Renamed methods of `StateBuilder` and the parameters in the `State` constructor in python to `molar_enthalpy`, `molar_entropy`, and `molar_internal_energy`. [#35](https://github.com/feos-org/feos-core/pull/35)
20+
- Removed `PyContributions` and `PyVerbosity` in favor of a simpler implementation using `PyO3`'s new `#[pyclass]` for fieldless enums feature. [#41](https://github.com/feos-org/feos-core/pull/41)
21+
- Renamed `Contributions::Residual` to `Contributions::ResidualNvt` and `Contributions::ResidualP` to `Contributions::ResidualNpt`. [#43](https://github.com/feos-org/feos-core/pull/43)
22+
- Renamed macro `impl_vle_state!` to `impl_phase_equilibrium!`. [#48](https://github.com/feos-org/feos-core/pull/48)
23+
- Removed `_t` and `_p` functions in favor of simpler interfaces. The kind of specification (temperature or pressure) is determined from the unit of the argument. [#48](https://github.com/feos-org/feos-core/pull/48)
24+
- `PhaseEquilibrium::pure_t`, `PhaseEquilibrium::pure_p` -> `PhaseEquilibrium::pure`
25+
- `PhaseEquilibrium::vle_pure_comps_t`, `PhaseEquilibrium::vle_pure_comps_p` -> `PhaseEquilibrium::vle_pure_comps`\
26+
The `PhaseEquilibria` returned by this function now have the same number of components as the (mixture) eos, that it is called with.
27+
- `PhaseEquilibrium::bubble_point_tx`, `PhaseEquilibrium::bubble_point_px` -> `PhaseEquilibrium::bubble_point`
28+
- `PhaseEquilibrium::dew_point_tx`, `PhaseEquilibrium::dew_point_px` -> `PhaseEquilibrium::dew_point`
29+
- `PhaseEquilibrium::heteroazeotrope_t`, `PhaseEquilibrium::heteroazeotrope_p` -> `PhaseEquilibrium::heteroazeotrope`
30+
- `State::critical_point_binary_t`, `State::critical_point_binary_p` -> `State::crititcal_point_binary`
31+
- Combined `PhaseDiagramPure` and `PhaseDiagramBinary` into a single struct `PhaseDiagram` and renamed its constructors. Properties of the phase diagram are available from the `vapor` and `liquid` getters, that return `StateVec`s. [#48](https://github.com/feos-org/feos-core/pull/48)
32+
- `PhaseDiagramPure::new` -> `PhaseDiagram::pure`
33+
- `PhaseDiagramBinary::new_txy`, `PhaseDiagramBinary::new_pxy` -> `PhaseDiagram::binary_vle`
34+
- `PhaseDiagramBinary::new_txy_lle`, `PhaseDiagramBinary::new_pxy_lle` -> `PhaseDiagram::lle`
35+
- `PhaseDiagramHetero::new_txy`, `PhaseDiagramHetero::new_pxy` -> `PhaseDiagram::binary_vlle`\
36+
which still returns an instance of `PhaseDiagramHetero`
37+
- Changed the internal implementation of the Peng-Robinson equation of state to use contributions like the more complex equations of state and removed the suggestion to overwrite the `evaluate_residual` function of `EquationOfState`. [#51](https://github.com/feos-org/feos-core/pull/51)
38+
- Moved the creation of the python module to the `build_wheel` auxilliary crate, so that only the relevant structs and macros are available for the dependents. [#47](https://github.com/feos-org/feos-core/pull/47)
39+
40+
### Removed
41+
- Removed the `utils` module containing `DataSet` and `Estimator` in favor of a separate crate. [#47](https://github.com/feos-org/feos-core/pull/47)
42+
43+
### Packaging
44+
- Updated `pyo3` and `numpy` dependencies to 0.16.
45+
- Updated `num-dual` dependency to 0.5.
46+
- Updated `quantity` dependency to 0.5.
1147

1248
## [0.1.5] - 2022-02-21
1349
### Fixed

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "feos-core"
3-
version = "0.1.5"
3+
version = "0.2.0"
44
authors = ["Gernot Bauer <bauer@itt.uni-stuttgart.de>",
55
"Philipp Rehner <prehner@ethz.ch"]
66
edition = "2018"

README.md

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,25 @@
22

33
[![crate](https://img.shields.io/crates/v/feos-core.svg)](https://crates.io/crates/feos-core)
44
[![documentation](https://docs.rs/feos-core/badge.svg)](https://docs.rs/feos-core)
5-
[![minimum rustc 1.51](https://img.shields.io/badge/rustc-1.51+-red.svg)](https://rust-lang.github.io/rfcs/2495-min-rust-version.html)
65

76
Core traits and functionalities for the `feos` project.
87

8+
The crate makes use of [generalized (hyper-) dual numbers](https://github.com/itt-ustutt/num-dual) to generically calculate exact partial derivatives from Helmholtz energy equations of state. The derivatives are used to calculate
9+
- **properties**,
10+
- **critical points**,
11+
- and **phase equilibria**.
12+
13+
In addition to that, utilities are provided to assist in the handling of **parameters** for both molecular equations of state and (homosegmented) group contribution methods. Mainly as a simple test case, a **cubic** equation of state is published as part of this crate. Implementations of more sophisticated models are meant to be contained in individual crates. A list of currently available implementations can be found in the [feos](https://github.com/feos-org/feos) repository.
14+
15+
For information on how to implement your own equation of state, check out the [documentation](https://feos-org.github.io/feos/rustguide/index.html).
16+
917
## Installation
1018

1119
Add this to your `Cargo.toml`
1220

1321
```toml
1422
[dependencies]
15-
feos-core = "0.1"
23+
feos-core = "0.2"
1624
```
1725

1826
## Test building python wheel

build_wheel/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "feos_core"
3-
version = "0.1.5"
3+
version = "0.2.0"
44
authors = ["Gernot Bauer <bauer@itt.uni-stuttgart.de>",
55
"Philipp Rehner <prehner@ethz.ch"]
66
edition = "2018"

0 commit comments

Comments
 (0)