File petsclib.hxx#
Defines
-
PETSC_HAVE_BROKEN_RECURSIVE_MACRO#
-
BOUT_DO_PETSC(cmd)#
-
PETSC_VERSION_GE(MAJOR, MINOR, SUBMINOR)#
-
class PetscLib#
- #include <petsclib.hxx>
Handles initialisation and finalisation of PETSc library. The first instance which is created initialises PETSc Keeps a count of the number of how many instances exist When the last instance is destroyed it finalises PETSc.
Public Functions
-
void setOptionsFromInputFile(KSP &ksp)#
Set options for a KSP linear solver that uses the options specific to this PetscLib, by setting an options prefix for the KSP, and adding that prefix to all the options set in the [petsc] section, or [petsc] subsection of the options, if non-null ‘opt’ was passed to the constructor.
-
void setOptionsFromInputFile(SNES &snes)#
Set options for a SNES linear solver that uses the options specific to this PetscLib, by setting an options prefix for the SNES, and adding that prefix to all the options set in the [petsc] section, or [petsc] subsection of the options, if non-null ‘opt’ was passed to the constructor.
Public Static Functions
-
static inline void setArgs(int &argc, char **&argv)#
This is called once to set the command-line options. Should be done early in the program, before any instances of PetscLib are created. The arguments will be passed to PetscInitialize()
-
static void cleanup()#
Force cleanup. This will call PetscFinalize, printing a warning if any instances of PetscLib still exist
-
static inline void assertIerr(PetscErrorCode ierr, const std::string &petsc_op = "PETSc operation")#
-
static BoutException SNESFailure(SNES &snes)#
-
void setOptionsFromInputFile(KSP &ksp)#