Show HN: Fast Thermodynamic Calculations in Python
dlr-institute-of-future-fuels.github.ioI built gaspype, a Python library for fast thermodynamic calculations, like equilibrium reactions. It's lightweight, written in typed Python/Numpy, and comes with a large species database.
Gaspype operates on multidimensional arrays for composition, temperature and pressure. It is designed for a flat learning curve and compact syntax for pocket calculator-like use in Jupyter Notebooks, as well as high performance for integration in large physical models. One central goal is the portability to GPU frameworks like JAX or PyTorch for performance as well as direct integrability in ML pipelines.
Checkout the examples, I'd love to hear you feedback, use cases, or feature ideas.
Repo is located here: https://github.com/DLR-Institute-of-Future-Fuels/gaspype
Very cool project. If you haven't already, for JAX and PyTorch support take a look at the Python Array API Standard, https://data-apis.org/array-api/latest/, and see https://data-apis.org/array-api-compat/ for how to use it. If you have or can write everything in terms of the subset of NumPy supported in the Array API Standard, you can get support for alternative array libraries almost for free.
That looks like a valuable resource, thank you! I already mostly stuck to a subset supported by NumPy and JAX (because that's the array libraries I'm familiar with). I hope the other are not to far off...
Out of curiosity, why do you call your main entrypoint "fluid" if you only compute ideal gas properties?
To avoid the discussion where around the critical point it is a gas or not a gas ;) Sure, for ideal gases it’s quite clear; however I’m looking for adding real gas behavior to capture high density supercritical fluids - being able to model high pressure processes. For example for the synthesis of hydrocarbons and chemical compound made from nitrogen and hydrogen.
This looks really promising, thank you! I have been using chemicals for things like this but it is not good at multiple conditions so your approach will teally help me. Btw, there is no link to the repo on the docs psge, st least on my phone. I want to star your repo.
Thank you! Repo is located here: https://github.com/DLR-Institute-of-Future-Fuels/gaspype
I use Aspen-Hysys which is extremely expensive for non-commercial users, and would love to have a Pythonic alternative.
That said, there's a long tail of features needed to make it practical (mole/mass/vol frac conversion, unit conversions, chemical Rxn, Steam tables etc.)
I would say it depends on the application: For energy stuff, ideal gas + water/steam might be sufficient. Rolling a lightweight process simulation framework (e.g. on top of gaspype and pint) easily competes with the costs for an aspen license. For other applications, that requires solving multiple phases of mixtures, the tradeoff shift quite allot.
[oops]
This isnt built on pandas...