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