Show HN: Fast Thermodynamic Calculations in Python

dlr-institute-of-future-fuels.github.io

45 points by Saloc 8 hours ago

I 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

steppi 6 hours ago

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.

  • Saloc 5 hours ago

    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...

FilosofumRex 3 hours ago

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.)

2cynykyl 7 hours ago

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.

baq 6 hours ago

    import gaspype
I commend you for not wasting an opportunity to pick a great name for this package.