[FLASH-USERS] Hybrid Riemann solver in USM

Dongwook Lee dongwook at flash.uchicago.edu
Thu Jul 26 12:54:48 EDT 2018


Dea Yi-Hao,

Thanks for pointing out the inconsistency on the information. This happened
mainly because various parts of the code go through more frequent
updates than the users manual.

I'd like to let you know that this inconsistency doesn't really matter too
much though, as far as the code combines two different Riemann solvers
depending on the local shock strength information.
What is important here is to combine a sophisticated Riemann solver (e.g.,
Roe, HLLD, or HLLC) on smooth cells and a robust solver (HLL or a local
Lax-Friedrichs (LLF)) on shock cells.

If you want to know why you would need this, please see Section 4.6 in my
paper, Lee, JCP, 243 (2013).

In addition, if you want to learn more about general Riemann solvers, the
FLASH users manual is not good enough. You should find better references
such as the famous book by Toro, "Riemann solvers and numerical methods for
fluid dynamics: a practical introduction". Also, there are numerous papers
you can read too. You can easily find some key papers if you search
keywords like HLL-type of Riemann solvers, Roe solvers, Godunov methods,
and so on. You may also follow the references in Toro as well as my JCP
paper.

I am sure you will enjoy learning all these mathematical algorithms on such
novel Riemann solvers, but I am also happy to give you a one-line crash
course as well -- Among the Riemann solvers that FLASH implements, you have:

More wave structures (less stable) <----------> Less wave structures (more
stable)

   - For MHD:  Roe > HLLD > HLL ~ LLF
   - For Hydro: Roe ~ HLLC > HLL ~ LLF

Now you see clearly what the strategy of a hybrid Riemann solver needs to
be. You can combine any two different types of Riemann solvers to balance
accuracy and stability, otherwise, some numerical instabilities (e.g.,
carbuncle instability, see the discussion in Lee, JCP, 243 (2013)) can
happen and may crash your run. There is another approach to improve Riemann
solvers using *multi-dimensional* formulations. See various studies by
Balsara, Dumbser, etc. (e.g., JCP, 261 (2014)).

Hope this helps,
Dongwook



On Wed, Jul 25, 2018 at 4:57 PM Yi-Hao Chen <ychen at astro.wisc.edu> wrote:

> Dear All,
>
> I found there is some inconsistency between the manual and the code in
> describing the hybrid Riemann solver in unsplit staggered mesh scheme.
>
> In the user manual, section 14.3.3, it says "A hybrid type of Riemann
> solver which combines using the Roe solver for high accuracy and HLLD for
> stability is also available."
>
> However, in the source code, choosing the hybrid Riemann solver will call
> HLL solver for shock region and call HLLD (MHD) or HLLC (hydro) solver
> otherwise. The code I refer to is located in
> source/physics/Hydro/HydroMain/unsplit/hy_uhd_getFaceFlux.F90
> I believe this is the only place in the code that chooses different
> Riemann solvers. Please let me know if there are somewhere else.
>
> The version that I have been using is FLASH 4.4, but I checked version 4.5
> and the same description is still there.
>
> Another related question is: how do people choose which solver to use? The
> FLASH user manual has a good description of the Roe solver, but very little
> on all other available solvers. I understand this is probably not an easy
> question to answer. But it would be very helpful if someone can point out
> resources that introduce or compare different Riemann solvers. Especially
> what solvers are suitable for what kind of problem and maybe the cautions
> of using a particular solver.
>
> Thank you!
>
> Best,
> Yi-Hao
>
>
>

=========================================
Dongwook Lee, Ph.D., Associate Professor
Applied Mathematics
University of California, Santa Cruz
Baskin Engineering, Room 353C
1156 High Street, Santa Cruz, CA 95064
https://users.soe.ucsc.edu/~dongwook/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://flash.rochester.edu/pipermail/flash-users/attachments/20180726/faa2a983/attachment.htm>


More information about the flash-users mailing list