Convergence study of the inviscid part of MFC with multicomponent species #1002
Replies: 9 comments
-
Hi @RadouanBoukharfane -- thanks for the question and investigating MFC! Would you not expect the seemingly seen first-order accuracy for a problem with a shock? You can confirm the design order of accuracy on a smooth problem, of course. We have multicomponent chemistry cases that have discontinuities, though they have not seen a grid study yet. But I would not expect them to converge at order 5, for example. Useful ref: https://www3.nd.edu/~powers/paper.list/jcp.weno5m.05.pdf |
Beta Was this translation helpful? Give feedback.
-
Hi @sbryngelson and thanks for the quick reply. The test case I’m running is smooth -it’s purely sinusoidal (no shocks or discontinuities). That’s why I was expecting to observe the design-order convergence rather than the first-order behavior I’m seeing. |
Beta Was this translation helpful? Give feedback.
-
Ah yes I should have seen this. It's not the usual TT problem. Ok, do you see 5th order convergence (or something >1) if you take out chemistry? What about single-species? |
Beta Was this translation helpful? Give feedback.
-
That’s exactly the “magic” I can’t quite explain yet. For purely aero cases (no chemistry), I do recover the expected high-order convergence of WENO. But as soon as I couple with Cantera and the thermodynamic/transport quantities depend on temperature, the observed order collapses back to first order. |
Beta Was this translation helpful? Give feedback.
-
This is a good finding. I don't have a definitive answer at the moment. I'm curious what your cantera file looks like, and what happens if you drop to single-species chemistry? cc'ing @DimAdam-01, @henryleberre, @ecisneros8 |
Beta Was this translation helpful? Give feedback.
-
I’m currently using ``h2o2.yaml'' with 9 species, and for the setup I’ve run so far I used a mixture of 0.21 O₂ and 0.79 N₂. I will see as sugggested the single-species case you mention, to see how the behavior compares. |
Beta Was this translation helpful? Give feedback.
-
Got it. Keep us posted and I think we will hear from some of the cc'ed above as well. |
Beta Was this translation helpful? Give feedback.
-
Thanks for looking into this @RadouanBoukharfane. Can you clarify whether your case has temperature variations? I vaguely remember we went back and forth on how to compute the specific heat ratio for multi-component mixtures with variable T in the Riemann solver. I can see that part of the code as a potential source of error. @DimAdam-01 should be able to tell us more about what he did there. The 1 species case is definitely the place to start. (There are other things you can test too, like modifying the NASA polynomials in your Cantera input file to yield constant thermodynamic properties. But, if you do continue to run multi-species, start with only O2 and N2 in your mechanism). Keep us posted! |
Beta Was this translation helpful? Give feedback.
-
Thanks for your question @RadouanBoukharfane. Are you comparing against an analytical solution or a solution from a very dense grid? That's the key question. The method has to change from using the analytical solution to using a dense grid. The analytical solution is only valid for a simplified problem with constant thermodynamic properties. Once chemistry is enabled with Cantera, those properties become temperature-dependent, which fundamentally changes the problem. This makes the analytical solution the wrong benchmark. The proper procedure is a grid refinement study: A benchmark solution is generated by running the full chemistry simulation on the finest possible grid (e.g., 4096 cells). The L2 error for all coarser grids is then calculated by comparing them against this single benchmark solution. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Hello everyone,
Has anyone performed a convergence study of the inviscid part of the MFC solver with multicomponent species?
I ran the 1D_titarevtorro_analytical case using the default WENO5 reconstruction. Based on the scheme, I was expecting 5th-order convergence, but my results show only about 1st order:
Has anyone encountered this before, or can confirm the expected convergence rate in this setup?
Any hints on whether this is a known limitation of the current implementation, or if additional options/settings are needed to recover the theoretical WENO5 order would be very helpful.
Thanks in advance!
Best,
Radouan
Here are my
case.py
parameters:Beta Was this translation helpful? Give feedback.
All reactions