18 #include "libmesh/libmesh_config.h" 20 #ifdef LIBMESH_HAVE_PETSC 23 #include "libmesh/wrapped_petsc.h" 24 #include "libmesh/petsc_macro.h" 25 #include "libmesh/petsc_solver_exception.h" 36 #include <petscviewer.h> 38 #include <petscsnes.h> 43 #if !PETSC_VERSION_LESS_THAN(3, 12, 0) 44 #include <petscsection.h> 48 #undef I // Avoid complex.h contamination 59 LibmeshPetscCallA(PETSC_COMM_SELF, VecDestroy(&obj));
66 LibmeshPetscCallA(PETSC_COMM_SELF, KSPDestroy(&obj));
73 LibmeshPetscCallA(PETSC_COMM_SELF, ISDestroy(&obj));
80 LibmeshPetscCallA(PETSC_COMM_SELF, MatDestroy(&obj));
87 LibmeshPetscCallA(PETSC_COMM_SELF, VecScatterDestroy(&obj));
94 LibmeshPetscCallA(PETSC_COMM_SELF, PetscViewerDestroy(&obj));
101 LibmeshPetscCallA(PETSC_COMM_SELF, MatNullSpaceDestroy(&obj));
108 LibmeshPetscCallA(PETSC_COMM_SELF, DMDestroy(&obj));
115 LibmeshPetscCallA(PETSC_COMM_SELF, MatPartitioningDestroy(&obj));
122 LibmeshPetscCallA(PETSC_COMM_SELF, SNESDestroy(&obj));
129 LibmeshPetscCallA(PETSC_COMM_SELF, PCDestroy(&obj));
136 LibmeshPetscCallA(PETSC_COMM_SELF, PetscSectionDestroy(&obj));
140 #endif // LIBMESH_HAVE_PETSC The libMesh namespace provides an interface to certain functionality in the library.
void destroy(triangulateio &t, IO_Type)
Frees any memory which has been dynamically allocated by Triangle.
void destroy()
Must be specialized to call the appropriate XXXDestroy() routine in order for a WrappedPetsc<T> objec...