wiki:IntegrationScheme

Version 26 (modified by trac, 12 years ago) ( diff )

Integration Scheme

Integration parameters are chosen using the method flags in bear.data. Further Details and references on each method can be found in Cunningham et al 2007.

For iScheme = 0

Spatial Interpolation

method(2)
Value Method Details
0 Gudonov 1st order
1 MUSCL Primitive Field Linear Interpolation
2 MUSCL Wave-by-Wave Interpolation MUSCL wave-by-wave interpolation of conservative fields. May result in better resolution of contact discontinuities, but adds and additional eigen-decomposition in the interpolation step. Generally the decrease in diffusion is too small to be worth the extra computational cost.
3 Piecewise Parabolic Method (PPM) Least diffusive, but "shock-flatteners" which prevent numerical oscillation near shocks (typically required) is not yet implemented. Future updates will include this feature, improving PPM for most problems.
4 Piecewise Hyperbolic Method (PHM) Average diffusion; achieves a good balance between the desire for low diffusion and a numerically robust method.

The MUSCL with minmod limiting (see below) is the most diffusive, and typically the most robust against numerical difficulty. MUSL interpolation with the vanLeer limiter also strikes a good balance between robustness of the scheme for strong shocks and low diffusion.

Slope Limiters

The MUSCL and PPM interpolations make use of so-called slope limiters as of revision 221, the code implements several choices set by the mthlim parameter in bear.data. The mthlim parameter is an array with each element indicating the limiter to be used on the corresponding conservative field.

mthlim
Value Limiter Details
0 Constant
1 Minmod Most diffusive (and generally most robust) TVD limiter.
2 Superbee Least diffusive TVD limiter. Typically suffers oscillations behind strong shocks, but may be the best choice for problems with only weak shocks where high resolution is desired.
3 VanLeer Llimiter used in the original vanLeer (1974) MUSCL scheme. Uniquely, it does not have sharp discontinuities in the limiter function. May be a good "default choice". Seemingly almost as robust as minmod, but not as diffusive.
4 Monotonized Centered (MC) Suggested as another good default in Randy Leveque's book.

Direction Splitting

method(3)
Value Method Details
0 Directionally Unsplit with No Transverse Corrections. Stable for CFL < 1/nDim.
1 Directionally Split with Direction Interleaving. Stable for CFL < 1.

Future versions will use method(3) to enable corner transport and other more fully multi-dimensional schemes.

Temporal Interpolation

method(4)
Value Method Details
0 Gudonov 1st Order
1 MUSCL-Hancock Predictor-Corrector Fastest, and least accurate method.
2 TVD-Preserving Runge-Kutta Shu & Osher 88. Generally the most numerically robust and slowest method.
3 Piecewise Parabolic Method (PPM) Characteristic tracing predictor-corrector. Good "default" option. In cases where PPM spatial interpolation is used, it makes sense to use PPM temporal interpolation which produces the original PPM method of Colella & Woodward.
4 Linear Characteristic tracing predictor-corrector. Good "default" option. If the spatial interpolation is not PPM then linear characteristic tracing is a good choice.

Source Terms

method(5)
Value Term Details
0 No Source Terms
1 Source Step w/o Strang Splitting
2 Strang Split Source Term Applied from subroutine src in physics i_src.f90

Flux Upwinding

method(6)
Value Solver Details
0 Roe Flux Uses Roe-Type Riemann solver. Least diffusive method, however this method can cause entropy errors and carbuncles at transonic points in highly compressible flows.
1 Adapted Marquina Flux Uses Roe-Type Riemann solver. Overcomes Roe Flux limitations by applying a more diffusive local Lax Fredrich's flux at transonic points. Can fail in certain cases for MHD due to the non-convex nature of the MHD flux function.
2 Marquina Flux (pure hydro only) Uses Roe-Type Riemann solver. Combines elements of the Roe and Marquina methods to construct a method that is suitable for MHD which retains the local Lax Fredrich's flux at transonic points.
3 HLLD Riemann (MHD only)



Spatial/Temporal Method Combinations (iScheme=0)

Ultimately, the user is responsible for the choice of integration methods which best balances accuracy with robustness for their specific problem. In general, however, there are combinations of method()'s which make more sense than others. For example, there would be little sense in using the costly Runge-Kutta temporal integration method (method(4)=2) with the most-basic spatial integration method of Godunov (method(2)=0).

Below are offered common spatial/temporal method() combinations, roughly in order of increasing accuracy. method(5) (Source Terms) is omitted—it should be 0 when no source terms present and 2 otherwise. method(6) is omitted—it should be 0 in nearly all cases. Also, the minmod slope limiter (mthlim(:)=1) is recommended.

method(2) method(4) Details
0 0 1st order everywhere; most basic & diffusive. Not recommended for "production" simulations.
1 1 Fastest MUSCL scheme. A good starting place.
2 1 Better MUSCL spatial method, but may not justify increased computational cost.
4 1 Better spatial interpolation (PHM) w/ OK temporal integration.
1, 2, 4 4 Better temporal integration than method(4)=1.
3 3 PPM spatial/temporal methods. Typically "the best" in terms of accuracy & robustness.
1, 2, 3, 4 2 TVD Runge-Kutta integration should be most robust, but VERY slow.



For iScheme = 1

Spatial Interpolation

method(2)
Value Method Details
0 Gudonov 1st order
1 Piecewise Parabolic Interpolation

Temporal Interpolation

method(4)
Value Method Details
0 Gudonov 1st Order
1 Piecewise Parabolic Characteristic Tracing 3rd order accurate method.

Source Terms

method(5)
Value Term Details
0 No Source Terms
2 Strang Split Source Term Applied from subroutine src in physics i_src.f90

Flux Upwinding

method(6)
Value Solver Details
0 Chooses Default HLLC solver depending on lMHD and iEOS
1 Exact Riemann Solver Exact solver for hydro with an ideal EOS.
2 HLLC Solver Fast, positive preserving somewhat diffusive solver for ideal hydro.
3 HLL Solver Very fast, positive preserving very diffusive solver for ideal hydro.
4 HLLC_ISO Solver Fast, positive preserving somewhat diffusive solver for isothermal hydro.
6 HLLD Solver Fast, positive preserving somewhat diffusive solver for ideal MHD.
8 HLLD_ISO Solver Fast, positive preserving somewhat diffusive solver for isothermal MHD.

Spatial/Temporal Method Combinations (iScheme=1)

In general the Gudonov option should be used as a last resort. The PPM is a somewhat expensive high order reconstruction method. Method(4) should always equal method(2). If there are source terms present, method(5) must be 2. And method(6) should be between 1 and 3 for ideal hydro, 4 for isothermal hydro, 6 for ideal MHD and 8 for isothermal MHD. If method(6)=0, then the appropriate HLL solver (2,4,6, or 8) is chosen depending on lMHD and iEOS. (If lMHD is true then iDivB must also be set to 6.)

Click here for plot showing order of default PPM method compared to Gudonov 1st order scheme used when (lGudonov == .true.)

Attachments (1)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.