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