petsc-3.14.6 2021-03-30
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