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 *);