SNESMS — PETSc 3.23.0 documentation

Skip to main content
`Ctrl`+`K`

# 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()`.

See [Ket10], [Jam83], [PG97], and [VLTP81]

## References

[Jam83]

Antony Jameson. Solution of the euler equations for two dimensional transonic flow by a multigrid method. Applied mathematics and computation, 13(3-4):327–355, 1983.

[Ket10]

David I Ketcheson. Runge–Kutta methods with minimum storage implementations. Journal of Computational Physics, 229(5):1763–1773, 2010.

[PG97]

Niles A Pierce and Michael B Giles. Preconditioned multigrid methods for compressible flow calculations on stretched meshes. Journal of Computational Physics, 136(2):425–445, 1997.

[VLTP81]

Bram Van Leer, Chang-Hsien Tai, and Kenneth Powell. Design of optimally smoothing multi-stage schemes for the Euler equations. In 9th Computational Fluid Dynamics Conference, 1933. 1981.

## See Also

SNES: Nonlinear Solvers, `SNESCreate()`, `SNES`, `SNESSetType()`, `SNESMS`, `SNESFAS`, `KSPCHEBYSHEV`, `SNESMSSetDamping()`, `SNESMSGetDamping()`, `SNESMSSetType()`, `SNESMSGetType()`

## Level

advanced

## Location

src/snes/impls/ms/ms.c

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