petsc-master 2019-04-18
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.

### Keywords

SNES, nonlinear, get, iteration, number,

### See Also

SNESGetLinearSolveIterations()

intermediate

### Location

src/snes/interface/snes.c

### Examples

src/snes/examples/tutorials/ex2.c.html
src/snes/examples/tutorials/ex3.c.html
src/snes/examples/tutorials/ex5.c.html
src/snes/examples/tutorials/ex14.c.html
src/snes/examples/tutorials/ex15.c.html
src/snes/examples/tutorials/ex18.c.html
src/snes/examples/tutorials/ex19.c.html
src/snes/examples/tutorials/ex20.c.html
src/snes/examples/tutorials/ex21.c.html
src/snes/examples/tutorials/ex25.c.html
src/snes/examples/tutorials/ex30.c.html

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