:orphan: # DMSNESSetNGS set `SNES` Gauss-Seidel relaxation function ## Synopsis ``` #include "petscsnes.h" #include "petscdm.h" PetscErrorCode DMSNESSetNGS(DM dm, PetscErrorCode (*f)(SNES, Vec, Vec, void *), void *ctx) ``` Not Collective ## Input Parameters - ***dm -*** `DM` to be used with `SNES` - ***f -*** relaxation function, see `SNESGSFunction` - ***ctx -*** context for residual evaluation ## Note `SNESSetNGS()` is normally used, but it calls this function internally because the user context is actually associated with the `DM`. This makes the interface consistent regardless of whether the user interacts with a `DM` or not. ## Dveloper Note If `DM` took a more central role at some later date, this could become the primary method of supplying the smoother ## See Also `DMSNESSetContext()`, `SNESSetFunction()`, `DMSNESSetJacobian()`, `DMSNESSetFunction()`, `SNESGSFunction` ## Level advanced ## Location src/snes/utils/dmsnes.c --- [Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/snes/utils/dmsnes.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)