SNESMSRegister#

register a multistage scheme for SNESMS

Synopsis#

#include "petscsnes.h" 
PetscErrorCode SNESMSRegister(SNESMSType name, PetscInt nstages, PetscInt nregisters, PetscReal stability, const PetscReal gamma[], const PetscReal delta[], const PetscReal betasub[])

Logically Collective

Input Parameters#

  • name - identifier for method

  • nstages - number of stages

  • nregisters - number of registers used by low-storage implementation

  • stability - scaled stability region

  • gamma - coefficients, see Ketcheson’s paper [Ket10]

  • delta - coefficients, see Ketcheson’s paper [Ket10]

  • betasub - subdiagonal of Shu-Osher form

Notes#

The notation is described in [Ket10] Ketcheson (2010) Runge-Kutta methods with minimum storage implementations.

Many multistage schemes are of the form

\[ \begin{align*} X_0 = X^{(n)} \\ X_k = X_0 + \alpha_k * F(X_{k-1}), k = 1,\ldots,s \\ X^{(n+1)} = X_s \end{align*} \]

These methods can be registered with

   SNESMSRegister("name",s,1,stability,NULL,NULL,alpha);

References#

Ket10(1,2,3)

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

See Also#

SNES: Nonlinear Solvers, SNES, SNESMS

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