# SNESMonitorSolution
Monitors progress of the `SNES` solvers by calling `VecView()` for the approximate solution at each iteration. 
## Synopsis
```
#include "petsc/private/snesimpl.h"   
PetscErrorCode SNESMonitorSolution(SNES snes, PetscInt its, PetscReal fgnorm, PetscViewerAndFormat *vf)
```
Collective


## Input Parameters

- ***snes -*** the `SNES` context
- ***its -*** iteration number
- ***fgnorm -*** 2-norm of residual
- ***dummy -*** a viewer



## Options Database Key

- ***-snes_monitor_solution [ascii binary draw][:filename][:viewer format] -*** plots solution at each iteration



## Note
This is not called directly by users, rather one calls `SNESMonitorSet()`, with this function as an argument, to cause the monitor
to be used during the `SNESSolve()`




## See Also
 `SNES`, `SNESMonitorSet()`, `SNESMonitorDefault()`, `VecView()`

## Level
intermediate

## Location
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/snes/interface/snesut.c.html#SNESMonitorSolution">src/snes/interface/snesut.c</A>


---
[Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/snes/interface/snesut.c)


[Index of all SNES routines](index.md)  
[Table of Contents for all manual pages](/docs/manualpages/index.md)  
[Index of all manual pages](/docs/manualpages/singleindex.md)  
