# SNESSetNormSchedule
Sets the `SNESNormSchedule` used in convergence and monitoring of the `SNES` method, when norms are computed in the solving process 
## Synopsis
```
#include "petscsnes.h"  
PetscErrorCode SNESSetNormSchedule(SNES snes, SNESNormSchedule normschedule)
```
Logically Collective


## Input Parameters

- ***snes -*** the `SNES` context
- ***normschedule -*** the frequency of norm computation



## Options Database Key

- ***-snes_norm_schedule <none, always, initialonly, finalonly, initialfinalonly> -*** set the schedule



## Notes
Only certain `SNES` methods support certain `SNESNormSchedules`.  Most require evaluation
of the nonlinear function and the taking of its norm at every iteration to
even ensure convergence at all.  However, methods such as custom Gauss-Seidel methods
`SNESNGS` and the like do not require the norm of the function to be computed, and therefore
may either be monitored for convergence or not.  As these are often used as nonlinear
preconditioners, monitoring the norm of their error is not a useful enterprise within
their solution.




## See Also
 `SNESNormSchedule`, `SNESGetNormSchedule()`, `SNESComputeFunction()`, `VecNorm()`, `SNESSetFunction()`, `SNESSetInitialFunction()`, `SNESNormSchedule`

## Level
advanced

## Location
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/snes/interface/snes.c.html#SNESSetNormSchedule">src/snes/interface/snes.c</A>


---
[Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/snes/interface/snes.c)


[Index of all SNES routines](index.md)  
[Table of Contents for all manual pages](/docs/manualpages/index.md)  
[Index of all manual pages](/docs/manualpages/singleindex.md)  
