FVAdvectedMinmodWeightBased

Overview

This object provides a second-order, Total Variation Diminishing (TVD)-style scheme for interpolating a cell-centered advected quantity to a finite-volume face on unstructured grids. It is formulated as a limited blending weight between upwind and linear (geometric) interpolation, so it can be assembled using only two-cell (elem/neighbor) matrix weights (Moukalled et al. (2016), Jasak (1996), Greenshields and Weller (2022), Harten (1997)).

Let and denote the upwind and downwind cell-centered values on a face (as determined by the sign of the face mass flux). The face value is written in a Normalized Variable Diagram (NVD) / Greenshields-type blending form (Greenshields and Weller (2022), Jasak (1996)):

where controls how much downwind information is admitted. This method computes

with:

  • the user scaling factor ("blending_factor"). gives pure upwind; gives the full limited blending. Values can be useful for improving robustness of fully implicit solves.

  • the geometric linear-interpolation weight associated with the upwind cell. On a uniform orthogonal mesh, and the linear scheme is recovered when .

  • the limiter coefficient computed from a smoothness indicator that compares upwind and downwind variation.

When "limit_to_linear" is enabled (default), the blending is additionally constrained so the scheme is never more downwind-biased than linear interpolation:

For unstructured grids, is typically formed using a virtual upwind state built from the upwind cell gradient and the vector connecting neighboring cell centroids (see Moukalled et al. (2016)). In smooth regions (), and the method approaches linear interpolation. At local extrema or discontinuities (), and the method reverts to upwind, suppressing non-physical oscillations.

For minmod, the limiter function is

Minmod is generally more diffusive than van Leer (it reduces high-order blending more aggressively), but it is often more robust near steep gradients. For limiter theory and available limiter definitions in MOOSE, see Limiters.

Example Syntax

Declare the interpolation method in [FVInterpolationMethods]:

  [nvd_minmod]
    type = FVAdvectedMinmodWeightBased
    blending_factor = 0.75
  []
(moose/test/tests/linearfvkernels/advection/diagonal-step-2d.i)

Use it in a linear FV advection kernel via "advected_interp_method_name":

  [advection]
    type = LinearFVAdvection
    variable = u
    velocity = "1 1 0"
    advected_interp_method_name = nvd_minmod
  []
(moose/test/tests/linearfvkernels/advection/diagonal-step-2d.i)

Input Parameters

  • blending_factor1Scales the high-order blending strength; 0 gives pure upwind, 1 gives the full limited blending. Values < 1 can improve linear solver robustness for fully implicit assembly.

    Default:1

    C++ Type:double

    Unit:(no unit assumed)

    Range:blending_factor>=0 & blending_factor<=1

    Controllable:No

    Description:Scales the high-order blending strength; 0 gives pure upwind, 1 gives the full limited blending. Values < 1 can improve linear solver robustness for fully implicit assembly.

  • limit_to_linearTrueWhether to limit the scheme to be no more downwind-biased than linear interpolation.

    Default:True

    C++ Type:bool

    Controllable:No

    Description:Whether to limit the scheme to be no more downwind-biased than linear interpolation.

Optional Parameters

  • control_tagsAdds user-defined labels for accessing object parameters via control logic.

    C++ Type:std::vector<std::string>

    Controllable:No

    Description:Adds user-defined labels for accessing object parameters via control logic.

  • enableTrueSet the enabled status of the MooseObject.

    Default:True

    C++ Type:bool

    Controllable:No

    Description:Set the enabled status of the MooseObject.

Advanced Parameters

References

  1. Christopher Greenshields and Henry Weller. Notes on Computational Fluid Dynamics: General Principles. CFD Direct Ltd, Reading, UK, 2022.[BibTeX]
  2. Ami Harten. High resolution schemes for hyperbolic conservation laws. Journal of computational physics, 135(2):260–278, 1997.[BibTeX]
  3. Hrvoje Jasak. Error analysis and estimation for the finite volume method with applications to fluid flows. PhD thesis, Imperial College London (University of London), 1996.[BibTeX]
  4. Fadl Moukalled, L Mangani, Marwan Darwish, and others. The finite volume method in computational fluid dynamics. Volume 6. Springer, 2016.[BibTeX]