:orphan:
# SNESNormSchedule
Frequency with which the norm is computed during a nonliner solve 
## Synopsis
```
typedef enum {
  SNES_NORM_DEFAULT            = -1,
  SNES_NORM_NONE               = 0,
  SNES_NORM_ALWAYS             = 1,
  SNES_NORM_INITIAL_ONLY       = 2,
  SNES_NORM_FINAL_ONLY         = 3,
  SNES_NORM_INITIAL_FINAL_ONLY = 4
} SNESNormSchedule;
```

## Values

- ***`SNES_NORM_DEFAULT` -*** use the default behavior for the current `SNESType`
- ***`SNES_NORM_NONE` -*** avoid all norm computations
- ***`SNES_NORM_ALWAYS` -*** compute the norms whenever possible
- ***`SNES_NORM_INITIAL_ONLY` -*** compute the norm only when the algorithm starts
- ***`SNES_NORM_FINAL_ONLY` -*** compute the norm only when the algorithm finishes
- ***`SNES_NORM_INITIAL_FINAL_ONLY` -*** compute the norm at the start and end of the algorithm





## Notes
Support for these is highly dependent on the solver.

Some options limit the convergence tests that can be used.

The `SNES_NORM_NONE` option is most commonly used when the nonlinear solver is being used as a smoother, for example for `SNESFAS`

This is primarily used to turn off extra norm and function computation
when the solvers are composed.


## See Also
 [](ch_snes), `SNES`, `SNESSolve()`, `SNESGetConvergedReason()`, `KSPSetNormType()`,
`KSPSetConvergenceTest()`, `KSPSetPCSide()`

## Level
advanced

## Location
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/include/petscsnes.h.html#SNESNormSchedule">include/petscsnes.h</A>


---
[Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/include/petscsnes.h)


[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)  
