sandialabs / Spitfire

Spitfire is a Python/C++ library for constructing tabulated chemistry models and solving differential equations.
Other
37 stars 8 forks source link

Question: Flamelet generation for non-ideal equations of state? #29

Open wandadars opened 1 year ago

wandadars commented 1 year ago

In your experience, is there a feasible path to extend Spitfire to handle non-ideal equations of state? Something like using a cubic eos to model behavior of supercritical flamelets for counter-flow diffusion configurations for example? Is such a thing on the radar for future Spitfire capabilities?

michael-a-hansen commented 1 year ago

Hello. That's a very significant change. I wouldn't say that's on our radar at all, either as an application or a general capability.

Sorry for the super slow reply - I need to figure out why I didn't get an email...

michael-a-hansen commented 1 year ago

@wandadars Did some more thinking on this.

I have two primary concerns at this point.

1) How do cubic EOSs handle species? I've only ever seen some van der Waals EOS with a species mixing rule, and it just seemed like a nightmare, at the very least with the number of extra coefficients (species-species matrix?!). Fortunately I've been able to stick with ideal gas behavior in my career, so I haven't had the yearning to jump to non-ideal EOSs in my personal time :). Any info and mostly clarity that you could provide on this front would help a ton. 2) While we could extend Spitfire's capabilities, it still does rely on Cantera for quite a bit. Mechanism and thermodynamic data input and equilibrium solves are the big ones. Can Cantera handle non-ideal EOSs as you'd like? That might also help me understand things better.

A final concern is just the nastiness of the implementation. While Spitfire's docs do contain some of the math, it doesn't get into the sensitivities, which is mostly just tedious due to the chemical source term and constant pressure requirement. This paper from my grad school days gets into it a bit more.