1: #ifndef PETSC_GSIMPL_H 2: #define PETSC_GSIMPL_H 4: #include <petsc/private/snesimpl.h> 5: #include <petscdm.h> 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; 18: PETSC_EXTERN PetscErrorCode SNESComputeNGSDefaultSecant(SNES, Vec, Vec, void *); 20: #endif // PETSC_GSIMPL_H