:orphan: # SNESGetIterationNumber Gets the number of nonlinear iterations completed at this time. ## Synopsis ``` #include "petscsnes.h" PetscErrorCode SNESGetIterationNumber(SNES snes, PetscInt *iter) ``` Not Collective ## Input Parameter - ***snes -*** `SNES` context ## Output Parameter - ***iter -*** iteration number ## Notes For example, during the computation of iteration 2 this would return 1. This is useful for using lagged Jacobians (where one does not recompute the Jacobian at each `SNES` iteration). For example, the code ```none ierr = SNESGetIterationNumber(snes,&it); if (!(it % 2)) { [compute Jacobian here] } ``` can be used in your function that computes the Jacobian to cause the Jacobian to be recomputed every second `SNES` iteration. See also `SNESSetLagJacobian()` After the `SNES` solve is complete this will return the number of nonlinear iterations used. ## See Also [](ch_snes), `SNES`, `SNESSolve()`, `SNESSetLagJacobian()`, `SNESGetLinearSolveIterations()` ## Level intermediate ## Location src/snes/interface/snes.c ## Examples src/snes/tutorials/ex14.c
src/snes/tutorials/ex15.c
src/snes/tutorials/ex16.c
src/snes/tutorials/ex18.c
src/snes/tutorials/ex19.c
src/snes/tutorials/ex1f.F90
src/snes/tutorials/ex2.c
src/snes/tutorials/ex21.c
src/snes/tutorials/ex25.c
src/snes/tutorials/ex3.c
src/snes/tutorials/ex30.c
--- [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](/manualpages/index.md) [Index of all manual pages](/manualpages/singleindex.md)