| hide-toc | true |
|---|
{math}\text{FeO}_\text{s} is a framework for thermodynamic equations of state and classical functional theory.
It is written in Rust with a Python interface.
````{tab-item} Python
```python
from feos.si import *
from feos.pcsaft import *
from feos.pcsaft.eos import *
parameters = PcSaftParameters.from_json(['methanol'], 'parameters.json')
eos = PcSaft(parameters)
critical_point = State.critical_point(eos)
p = critical_point.pressure()
t = critical_point.temperature
print(f'Critical point for methanol: T={t}, p={p}.')
```
```terminal
Critical point for methanol: T=531.5 K, p=10.7 MPa.
```
````
````{tab-item} Rust
```rust
// some imports omitted
use feos_core::{State, Contributions};
use feos_pcsaft::{PcSaft, PcSaftParameters};
let parameters = PcSaftParameters.from_json(vec!["methanol"], "parameters.json")?;
let eos = Rc::new(PcSaft::new(Rc::new(parameters)));
let critical_point = State::critical_point(&eos, None, None, Default::default())?;
let p = critical_point.pressure(Contributions::Total);
let t = critical_point.temperature;
println!("Critical point for methanol: T={}, p={}.", t, p);
```
```terminal
Critical point for methanol: T=531.5 K, p=10.7 MPa.
```
````
:open:
- thermodynamic **properties**
- **phase equilibria** for pure substances and mixtures
- **critical point** calculations for pure substances and mixtures
- **dynamic properties** (entropy scaling)
- **stability analysis**
---
**Implemented equations of state**
- PC-SAFT (incl. group contribution method)
- uv-Theory
- PeTS
:open:
- **interfacial** properties,
- properties in **pores** and at **walls**,
- **adsorption isotherms**,
- **solvation free energies**,
- different **dimensions** and **coordinate systems**
:open:
- Helmholtz energy uses **generalized (hyper-) dual numbers** - **no analytical derivatives are needed**.
- Interfaces use **dimensioned quantities**.
- Python bindings are written in Rust - **robust type checking** and **error handling**.
- Learn how to install the code.
- Browse the python examples.
- Delve into the python API.
- Interested in extending the library? Check out our Rust guide!
:hidden:
installation
help_and_feedback
:caption: Python
:hidden:
api/index
examples/index
:caption: Rust
:hidden:
rustguide/index
rust_api