:orphan: # SNESSetConvergenceHistory Sets the array used to hold the convergence history. ## Synopsis ``` #include "petscsnes.h" PetscErrorCode SNESSetConvergenceHistory(SNES snes, PetscReal a[], PetscInt its[], PetscInt na, PetscBool reset) ``` Logically Collective ## Input Parameters - ***snes -*** iterative context obtained from `SNESCreate()` - ***a -*** array to hold history, this array will contain the function norms computed at each step - ***its -*** integer array holds the number of linear iterations for each solve. - ***na -*** size of a and its - ***reset -*** `PETSC_TRUE` indicates each new nonlinear solve resets the history counter to zero, else it continues storing new values for new nonlinear solves after the old ones ## Notes If 'a' and 'its' are `NULL` then space is allocated for the history. If 'na' `PETSC_DECIDE` or `PETSC_DEFAULT` then a default array of length 10000 is allocated. This routine is useful, e.g., when running a code for purposes of accurate performance monitoring, when no I/O should be done during the section of code that is being timed. ## See Also [](ch_snes), `SNES`, `SNESSolve()`, `SNESGetConvergenceHistory()` ## Level intermediate ## Location src/snes/interface/snes.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)