[ANN] v1.0 of SteamTables now available

SteamTables v1.0 is now available. I have added option physical unit support via the excellent Unitful.jl.

I dropped support for <v.1.0, simply because I am no longer maintaining a copy to check if something gets broken.

Equations for the meta stable region are included, but not exported. If someone actually uses those and has an idea for a sensible interface, let me know and I’ll happily implement it. I’ve never designed or modelled turbines, so I have no idea how these are used in real life.

I had lots of fun building this, but hey, these are steam tables and I really don’t have ideas for fancy additional features. I’ll make sure this package keep working, since I actually use it in my day job. If you want/need a feature that is not included, feel free to let me know, or better still, make a PR.


Nice! I have an implementation of IAPWS95 (and GERG2008) , but I I’m struggling a bit with the equilibrium solver part (I’m trying to do a multiphase, multicomponent equilibrium solver for helmholtz equations of state).
First, vapor tables. Next, hysys.jl :smile:


My next step, when time allows, is to implement some general purpose VLE models, starting with PSRK.

Looking for some help on your solver? Sounds like an interesting problem to stuck into.

1 Like

I using an strategy for a recent paper, it proposes a framework for equilibrium in VT, PT, UV flash specs. in a nutshell, tries an amount of random points and search for instability. If there is, an instability, adds a phase. Then it proceeds to calculate equilibria. After the equilibrium calculation, checks a phase if it is inestable, if it is, it removes it… And it does that until all the phases are found.
I want to implement more EOS too, as, given an helmholtz molar energy equation, i can calculate all the properties via derivatives (currently using Forwarddiff),
I have critical data of the DIPPR 2018 (2197 compounds) in my repository, if you need values

As I recall, there are similar methods in Michelsen and Mollerup’s book.

What is your article reference? I’ll have a look in Michelsen&Mollerup for some alternatives. I sure we can find at least one workable solution.

1 Like

Have a look here.

Is this similar to what you are looking at?

Michaelsen uses the K-value updating and the rachford-rice equation, it works well, but it’s only two-phase, and requires the inicialization of the K-values(using Wilson correlation) . The future idea is to use the same algorithm with predictive equations (SAFT), so the minimal information is required.

Wow, this is, new, I’m gonna check this out!

I wish this was around when I did my PhD! I needed a water P–V–T relation for some planetary structure models but I ended up writing my own based on IAPWS. It was certainly not what I wanted to spend my limited research time doing.

Could you commit some of your work to the repo? I could also take some time to help with the equilibrium solver.

As for the original topic, I like SteamTables, and in fact I used it recently to design a heat exchanger for a class project. Which forced me to get a bunch of heat exchanger design code working in Julia, and I may turn that into a working package someday.

1 Like

How would you feel about a Github group for process modelling? We could all contribute bits and bobs that may be useful to others.

I think that would be great! I do molten salt chemistry which is a bit specialized, and that makes Julia pretty great for my purposes (turns out Aspen doesn’t have thermodynamic data for nonaqueous mixtures of fluorides and chlorides :smiley: )

1 Like

let me order a bit, for now i have two good stability tests for P-T-N and V-T-N equilibria, the second one can generate an initial point (like the wilson correlation and its more general)

How would you feel about a Github group for process modelling? We could all contribute bits and bobs that may be useful to others.

That would be great!