:orphan: # 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 - ***delta -*** coefficients, see Ketcheson's paper - ***betasub -*** subdiagonal of Shu-Osher form ## Notes The notation is described in Ketcheson (2010) Runge-Kutta methods with minimum storage implementations. Many multistage schemes are of the form $ X_0 = X^{(n)} $ X_k = X_0 + \alpha_k * F(X_{k-1}), k = 1,\ldots,s $ X^{(n+1)} = X_s These methods can be registered with ```none SNESMSRegister("name",s,1,stability,NULL,NULL,alpha); ``` ## See Also `SNESMS` ## Level advanced ## Location src/snes/impls/ms/ms.c --- [Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/snes/impls/ms/ms.c) [Index of all SNES routines](index.md) [Table of Contents for all manual pages](/manualpages/index.md) [Index of all manual pages](/manualpages/singleindex.md)