xref: /petsc/src/snes/impls/gs/gsimpl.h (revision 8a86d3c58f8fa1b9ff9e69bfa0d33045bfc2518d)
1737a7e12SPeter Brune #if !defined(__GSIMPL)
2737a7e12SPeter Brune #define __GSIMPL
3737a7e12SPeter Brune 
4af0996ceSBarry Smith #include <petsc/private/snesimpl.h>      /*I "petscsnes.h"  I*/
5737a7e12SPeter Brune #include <petscdm.h>
6737a7e12SPeter Brune 
7737a7e12SPeter Brune typedef struct {
8737a7e12SPeter Brune   PetscInt  sweeps;     /* number of sweeps through the local subdomain before neighbor communication */
9737a7e12SPeter Brune   PetscInt  max_its;    /* maximum iterations of the inner pointblock solver */
10737a7e12SPeter Brune   PetscReal rtol;       /* relative tolerance of the inner pointblock solver */
11737a7e12SPeter Brune   PetscReal abstol;     /* absolute tolerance of the inner pointblock solver */
12737a7e12SPeter Brune   PetscReal stol;       /* step tolerance of the inner pointblock solver */
13737a7e12SPeter Brune   PetscReal h;          /* differencing for secant variants */
14737a7e12SPeter Brune   PetscBool secant_mat; /* use the Jacobian to get the coloring for the secant */
15*8a86d3c5SBarry Smith   ISColoring coloring;
16be95d8f1SBarry Smith } SNES_NGS;
17737a7e12SPeter Brune 
18be95d8f1SBarry Smith PETSC_EXTERN PetscErrorCode SNESComputeNGSDefaultSecant(SNES,Vec,Vec,void *);
19737a7e12SPeter Brune 
20737a7e12SPeter Brune #endif
21