SNESMS#

multi-stage smoothers

Options Database Keys#

  • -snes_ms_type - type of multi-stage smoother

  • -snes_ms_damping - damping for multi-stage method

Notes#

These multistage methods are explicit Runge-Kutta methods that are often used as smoothers for FAS multigrid for transport problems. In the linear case, these are equivalent to polynomial smoothers (such as Chebyshev).

Multi-stage smoothers should usually be preconditioned by point-block Jacobi to ensure proper scaling and to normalize the wave speeds.

The methods are specified in low storage form (Ketcheson 2010). New methods can be registered with SNESMSRegister().

References#

  • **** -*** Ketcheson (2010) Runge Kutta methods with minimum storage implementations (https://doi.org/10.1016/j.jcp.2009.11.006).

  • **** -*** Jameson (1983) Solution of the Euler equations for two dimensional transonic flow by a multigrid method (https://doi.org/10.1016/0096-3003(83)90019-X).

  • **** -*** Pierce and Giles (1997) Preconditioned multigrid methods for compressible flow calculations on stretched meshes (https://doi.org/10.1006/jcph.1997.5772).

  • **** -*** Van Leer, Tai, and Powell (1989) Design of optimally smoothing multi-stage schemes for the Euler equations (https://doi.org/10.2514/6.1989-1933).

See Also#

SNESCreate(), SNES, SNESSetType(), SNESMS, SNESFAS, KSPCHEBYSHEV

Level#

advanced

Location#

src/snes/impls/ms/ms.c


Edit on GitLab

Index of all SNES routines
Table of Contents for all manual pages
Index of all manual pages