Skip to main content
`Ctrl`+`K`

# DMSNESSetNGS

set `SNES` Gauss-Seidel relaxation function into a `DMSNES` object

## Synopsis

    #include "petscsnes.h"
    #include "petscdm.h"
    PetscErrorCode DMSNESSetNGS(DM dm, PetscErrorCode (*f)(SNES, Vec, Vec, void *), PetscCtx 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.

## Developer Note

If `DM` took a more central role at some later date, this could become the primary method of supplying the smoother

## See Also

SNES: Nonlinear Solvers, `DMSNES`, `DMSNESSetContext()`, `SNESSetFunction()`, `DMSNESSetJacobian()`, `DMSNESSetFunction()`, `SNESGSFunction`

## Level

developer

## Location

src/snes/utils/dmsnes.c

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