mutationpp / Mutationpp

The MUlticomponent Thermodynamic And Transport library for IONized gases in C++
GNU Lesser General Public License v3.0
103 stars 58 forks source link

Confusion over the Park's correction for vibrational relaxtion #171

Closed WallyMaier closed 2 years ago

WallyMaier commented 3 years ago

Hi All,

I had a quick question regarding Park's correction within Mutation++. Particularly in the computation of the collision speed(s), Cs. In the literature, Cs is computed using : sqrt(8*R*T/(pi*Ms)) (sorry, my images weren't loading in properly.) Here, we can see the use of MolarMass in the denominator

However Mutation++ uses a reduced mass, mu, which is (Ms_i*Ms_j/(Ms_i+Ms_j)). I was hoping there was some literature that discusses the use here.

I am working on SU2-NEMO and found that these differences account for results being slightly different than LeMANS.

Thanks for the help!

jbscoggi commented 3 years ago

Hey @WallyMaier, thanks for your question. For clarity for others coming to this question, we are talking about this: https://github.com/mutationpp/Mutationpp/blob/8c1c129474239dc172d42ed82310a108aa7bba42/src/transfer/OmegaVT.cpp#L154-L168

Indeed, based on the literature it seems the common approach is to use the species mass (or molecular weight depending on R or kB) and not the reduced mass. For example, the Gnoffo et al. (1989) classic paper uses species mass.

@grgbellas, I think this was implemented by you? Can you confirm? and if so, could you provide a reference for the way you have implemented it?

grgbellasvki commented 3 years ago

Hello @WallyMaier,

Thanks for bringing this to our attention.

If I remember correctly it comes from some legacy version of the original mutation library. I will try to retrieve it and see if there is any comment on why this formalism was chosen.

In any case, we should probably stick to literature for a term like this one and follow the Gnoffo's (1989) approach. What's your opinion @jbscoggi?

jbscoggi commented 3 years ago

Yep, totally agree we should stick to the literature for this and that Gnoffo's approach is the one to follow. I'll work on it as soon as I can and submit a PR when it's done.

jbscoggi commented 3 years ago

Hi @WallyMaier and @grgbellasvki, I have just submitted a PR to fix this issue. Once the reviews and tests are done, I'll merge and hopefully this will fix the problem.

jbscoggi commented 3 years ago

Hey @WallyMaier, I believe the problem is now fixed. Can you please reinstall M++ on your end and verify that the comparison with LeMANS is working?

WallyMaier commented 3 years ago

@jbscoggi Sounds good! Will report back soon.

jbscoggi commented 2 years ago

Hey @WallyMaier, any update about the update to the OmegaVT term?

WallyMaier commented 2 years ago

@jbscoggi Sorry JB, Let me do this right now!

WallyMaier commented 2 years ago

@jbscoggi Heres a quick update....running the same case for N2-N case the thermal relaxation behavior can be seen here. Something isnt working as expected, the relaxation times (green and magenta) are significantly different

N2-tt-tv

mgoodson-cvd commented 2 years ago

I can further confirm that the modifications made recently appear to be problematic. @jbscoggi I can't post these results here, but I would be happy to share more in private communication. Suffice it to say that we are running two-temperatures with Mutation++ and comparing against a well-established and trusted CFD code. Our results prior to the recent changes match very well and our results after this do not.

mgoodson-cvd commented 2 years ago

After bisecting the commits between a known good version and the latest master, I can confirm that https://github.com/mutationpp/Mutationpp/commit/bc9ce81c5dc607f927fc4e07781b8bad44e43d6c is the breaking commit. I will start digging in to see where the bug was introduced.

mgoodson-cvd commented 2 years ago

@jbscoggi @WallyMaier I believe I have found the bug. The Park correction to the Landau-Teller relaxation time is missing the temperature scaling factor here,

\sigma_s = \sigma_{s,0} \left ( \frac{50000}{T} \right )^2

This was present prior to bc9ce81, as can be seen here. Once I make this fix, my results match both the comparison code and the older results much better.

I'll make a pull request with the fix. @jbscoggi should I include the limiting temperature of 20,000 K in there? I've seen varying values or none at all.

WallyMaier commented 2 years ago

@mgoodson-cvd Thanks for looking into this! Ill try to run the case above again with your fixes, and iIl post the results here.