wiki:SolverDataExplained

Version 4 (modified by Brandon Shroyer, 14 years ago) ( diff )

solver.data Explained

The solver.data file controls the options used by AstroBEAR's hyperbolic equation integrators. Some of the options in this file are a bit esoteric, so wherever possible the default options will be clearly labeled.

SolverData

This short namelist governs the numerical solvers used by AstroBEAR, as well as the integration scheme used to implement those solvers.

  • iScheme: Selects the numerical scheme to run. Currently, we only have option 1 (the sweep method) implemented in AstroBEAR 2.0.
  • iSolver:: Selects the solver option to use for this problem. AstroBEAR currently has one exact Riemann solver and five HLL-based approximate solvers.
    • 0 -- Default: With this option, AstroBEAR selects the appropriate solver option based on the equation of state and whether or not the problem is MHD. If you aren't certain which solver to use, then select this option.
    • 1 -- iExactRS: An exact Riemann solver. Such solvers produce the most accurate solutions to the Riemann problem, but are also the most computationally expensive.
    • 2 -- HLLC: A three-wave version of the HLL solver. A good choice for hydrodynamic problems.
    • 3 -- HLL: The standard HLL solver from Chapter 10 of Toro. HLL uses a two-wave approximation of the intermediate region of the Riemann problem, sacrificing accuracy for speed.
    • 4 -- HLLC_ISO: A variant of the HLLC solver option to be used in isothermal conditions (i.e., when iEOS = 4).
    • 6 -- HLLD: A three-wave HLL-derived solver that can resolve discontinuities in MHD. Consequently, it is a good solver to use when magnetic fields are present (lMHD = true).
    • 8 -- HLLD_ISO: An isothermal variant of HLLD to use then iEOS = 4.

When in doubt, the HLLC and HLLD solvers are the best choices, as they are faster than the exact solver and more robust than the standard HLL solver. The appropriate HLLx solver choice is determined by two factors: whether or not the problem is MHD, and whether or not the problem is isothermal. To select the appropriate solver based on the physics of your problem, consult the table below:

lMHD iEOS solver
F 0 HLLC (2)
T 0 HLLD (6)
F 4 HLLC_ISO (4)
T 4 HLLD_ISO (8)


SweepData

This namelist controls the options associated with the sweep integration scheme. It will only be used if the iScheme option in SolverData is set to 1.

NOTE: There are several deprecated options in the SweepData namelist right now. If you see a particular option in an older data file that isn't discussed here, it is probably deprecated and therefore of no consequence.

  • lChar_Limiters: Controls whether characteristic variablers are used instead of primitive variables in certain parts of the sweep scheme. By default, this is set to .true.
  • lCTU: A boolean flag controlling the corner transport upwind method. This should always be set to .true.
  • lCautious: When set to true, AstroBEAR protects hyperbolic quantities when solving. In general, this should be set to .true.
  • lLimiter: Controls the use of slope limiters. This should always be set to .true.
  • InterpOrder: Sets the interpolation order to be used during variable reconstruction. AstroBEAR has three options for this:
    • {{{1 — Constant Interpolation}}
    • {{{2 — Linear Interpolation}}: WARNING: this option is not well-tested.
    • {{{3 — Parabolic Interpolation}}: This is the default option.
  • ViscCD Controls AstroBEAR's numerical viscosity options. ViscCD currently has three options:
    • 0 -- ROE_VISCOSITY: The default option, this value turns viscosity off.
    • 1 -- ROE_VISCOSITY: ! 0 = NO_VISCOSITY, 1 = ROE_VISCOSITY, 2 = H_VISCOSITY lApplyLOF = .false. ! Apply local oscillation filter (reduces carbuncles) LOF_ALPHA = .075 ! Strength of local oscillation filter. iTracer = 0 ! 0 = Normal Tracers, 1 = Lagrangian Tracers
Note: See TracWiki for help on using the wiki.