xref: /petsc/src/snes/impls/gs/gsimpl.h (revision df4cd43f92eaa320656440c40edb1046daee8f75)
1 #ifndef PETSC_GSIMPL_H
2 #define PETSC_GSIMPL_H
3 
4 #include <petsc/private/snesimpl.h> /*I "petscsnes.h"  I*/
5 #include <petscdm.h>
6 
7 typedef struct {
8   PetscInt   sweeps;     /* number of sweeps through the local subdomain before neighbor communication */
9   PetscInt   max_its;    /* maximum iterations of the inner pointblock solver */
10   PetscReal  rtol;       /* relative tolerance of the inner pointblock solver */
11   PetscReal  abstol;     /* absolute tolerance of the inner pointblock solver */
12   PetscReal  stol;       /* step tolerance of the inner pointblock solver */
13   PetscReal  h;          /* differencing for secant variants */
14   PetscBool  secant_mat; /* use the Jacobian to get the coloring for the secant */
15   ISColoring coloring;
16 } SNES_NGS;
17 
18 PETSC_EXTERN PetscErrorCode SNESComputeNGSDefaultSecant(SNES, Vec, Vec, void *);
19 
20 #endif // PETSC_GSIMPL_H
21