<div dir="ltr">Dea Yi-Hao,<div><br></div><div>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. </div><div><br></div><div>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.</div><div>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.</div><div><br></div><div>If you want to know why you would need this, please see Section 4.6 in my paper, Lee, JCP, 243 (2013).</div><div><br></div><div>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.</div><div><br></div><div>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:</div><div><br></div><div>More wave structures (less stable) <----------> Less wave structures (more stable)</div><div><ul><li>For MHD:  Roe > HLLD > HLL ~ LLF<br></li><li>For Hydro: Roe ~ HLLC > HLL ~ LLF<br></li></ul></div><div>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)).</div><div><br></div><div>Hope this helps,</div><div>Dongwook</div><div><br></div><div><br></div><br><div class="gmail_quote"><div dir="ltr">On Wed, Jul 25, 2018 at 4:57 PM Yi-Hao Chen <<a href="mailto:ychen@astro.wisc.edu" target="_blank">ychen@astro.wisc.edu</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>Dear All,</div><div><br></div><div>I found there is some inconsistency between the manual and the code in describing the hybrid Riemann solver in unsplit staggered mesh scheme.</div><div><br></div><div>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."</div><div></div><div></div><div><br></div><div>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</div><div>source/physics/Hydro/HydroMain/unsplit/hy_uhd_getFaceFlux.F90</div><div></div><div>I believe this is the only place in the code that chooses different Riemann solvers. Please let me know if there are somewhere else.<br></div><div><br></div><div></div><div>The version that I have been using is FLASH 4.4, but I checked version 4.5 and the same description is still there.</div><div><br></div><div>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. <br></div><div></div><div><br></div><div>Thank you!<br></div><div><br></div><div>Best,<br></div><div>Yi-Hao<br></div><div><br></div><div><br></div></div>
</blockquote></div><div><br></div><div dir="ltr" class="gmail-m_-2671526730377308938gmail_signature"><div dir="ltr"><div style="font-size:12.8px"><font color="#000000" size="2" face="arial, helvetica, sans-serif"><br>=========================================</font></div><div style="font-size:12.8px"><font color="#000000" size="2" face="arial, helvetica, sans-serif">Dongwook Lee, Ph.D., Associate Professor</font></div><div style="font-size:12.8px"><font color="#000000" size="2" face="arial, helvetica, sans-serif">Applied Mathematics<br></font></div><div style="font-size:12.8px"><font color="#000000" size="2" face="arial, helvetica, sans-serif">University of California, Santa Cruz</font></div><div style="font-size:12.8px"><font color="#000000" size="2" face="arial, helvetica, sans-serif">Baskin Engineering, Room 353C</font></div><div style="font-size:12.8px"><font color="#000000" size="2" face="arial, helvetica, sans-serif">1156 High Street, Santa Cruz, CA 95064</font></div><div style="font-size:12.8px"><font color="#000000" size="2" face="arial, helvetica, sans-serif"><a href="https://users.soe.ucsc.edu/~dongwook/" target="_blank">https://users.soe.ucsc.edu/~dongwook/</a></font></div><div><br></div></div></div></div>