-
Notifications
You must be signed in to change notification settings - Fork 96
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Monotoinic upstream scheme for discretizing the convection term #2901
Comments
Hi @ThitiACHR thanks for trying BOUT++! Many schemes, including MUSCL, are difficult to implement in a simple per-operator way, because they need to know characteristic wave speeds of the system for the approximate Riemann solve. The implementation was probably removed because it didn't work well and wasn't being used. I think the most advanced methods for BOUT++ are implemented in Hermes-3 (but I'm biased). See shock tube tests: https://hermes3.readthedocs.io/en/latest/tests.html#sod-shock and writeup of the method: https://hermes3.readthedocs.io/en/latest/numerical_methods.html |
Hi @bendudson, thank you for your quick response. In this case, the pinch velocity (V_n) is not constant where it is position-dependent. Suppose we consider the system of PDEs in the y-direction for simplicity, the expression of this term in equation A6 is Why, if the time integrator is 1st order Euler, the monotonic upstream scheme might be 1st order unwinding. Is there any reason behind this? I will take a look at the sod-shock test in Hermes3. |
Hi @bendudson
My final goal is to implement a high-resolution method such as MUSCL for nonlinear problems like those in the aforementioned paper by Xiaobo Li et al., 2024. It would be better if I start with something simple that can be used as a starting point to implement higher-resolution schemes.
|
Dear BOUT++ community
I am studying the transport model, where the expression of the model can be found at https://iopscience.iop.org/article/10.1088/1741-4326/ad2d39 (i.e., equation 1, 6, 10, A5, and A6). We will focus on the convection term of equations A5 and A6.
Regarding the numerical method in Appendix A.3 of the reference paper, they use the monotonic upstream scheme to discretize the convection term. I have seen that in a document of BOUT++, the convection term can be implemented through the function
FDDY(V_n,n)
whereV_n
is the particle pinch velocity that depends on profile evolution andn
is the density.The built-in numerical schemes to discretize this term are upwinding (
U1
) and central finite difference (C2
andC4
) methods. I want to implement the monotonic upstream scheme for discretizing this term. May anybody suggest to me where I should start? So far, unwinding and central finite difference methods are not working properly.Note that once I have seen the MUSCL scheme is available in BOUT++ version 4.2.3
BOUT-dev/src/mesh/index_derivs.cxx
Line 245 in 9ca15c3
The text was updated successfully, but these errors were encountered: