petsc-3.14.5 2021-03-03
Report Typos and Errors

# 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

          ierr = SNESGetIterationNumber(snes,&it);
          if (!(it % 2)) {
            [compute Jacobian here]
          }

can be used in your ComputeJacobian() function to cause the Jacobian to be recomputed every second SNES iteration.

After the SNES solve is complete this will return the number of nonlinear iterations used.

### See Also

SNESGetLinearSolveIterations()

### Level

intermediate

### Location

src/snes/interface/snes.c

### Examples

src/snes/tutorials/ex2.c.html
src/snes/tutorials/ex3.c.html
src/snes/tutorials/ex5.c.html
src/snes/tutorials/ex14.c.html
src/snes/tutorials/ex15.c.html
src/snes/tutorials/ex18.c.html
src/snes/tutorials/ex19.c.html
src/snes/tutorials/ex21.c.html
src/snes/tutorials/ex25.c.html
src/snes/tutorials/ex30.c.html
src/snes/tutorials/ex35.c.html
Index of all SNES routines
Table of Contents for all manual pages
Index of all manual pages