Actual source code: gsimpl.h

      1: #pragma once

      3: #include <petsc/private/snesimpl.h>
      4: #include <petscdm.h>

      6: typedef struct {
      7:   PetscInt   sweeps;     /* number of sweeps through the local subdomain before neighbor communication */
      8:   PetscInt   max_its;    /* maximum iterations of the inner pointblock solver */
      9:   PetscReal  rtol;       /* relative tolerance of the inner pointblock solver */
     10:   PetscReal  abstol;     /* absolute tolerance of the inner pointblock solver */
     11:   PetscReal  stol;       /* step tolerance of the inner pointblock solver */
     12:   PetscReal  h;          /* differencing for secant variants */
     13:   PetscBool  secant_mat; /* use the Jacobian to get the coloring for the secant */
     14:   ISColoring coloring;
     15: } SNES_NGS;

     17: PETSC_EXTERN PetscErrorCode SNESComputeNGSDefaultSecant(SNES, Vec, Vec, void *);