20 #include "libmesh/petsc_solver_exception.h" 22 #ifdef LIBMESH_HAVE_PETSC 24 #if !PETSC_VERSION_LESS_THAN(3,6,0) 25 # include <petsc/private/petscimpl.h> 27 # include <petsc-private/petscimpl.h> 30 #include "libmesh/petscdmlibmesh.h" 33 #define __FUNCT__ "DMlibMeshSetSystem" 39 PetscValidHeaderSpecific(dm,DM_CLASSID,1);
40 LibmeshPetscCallQ(PetscObjectQueryFunction((PetscObject)dm,
"DMlibMeshSetSystem_C",&f));
41 if (!f) SETERRQ(PETSC_COMM_SELF,PETSC_ERR_SUP,
"DM has no implementation for DMlibMeshSetSystem");
47 #define __FUNCT__ "DMlibMeshGetSystem" 53 PetscValidHeaderSpecific(dm,DM_CLASSID,1);
54 LibmeshPetscCallQ(PetscObjectQueryFunction((PetscObject)dm,
"DMlibMeshGetSystem_C",&f));
55 if (!f) SETERRQ(PETSC_COMM_SELF,PETSC_ERR_SUP,
"DM has no implementation for DMlibMeshGetSystem");
60 #endif // LIBMESH_HAVE_PETSC Manages consistently variables, degrees of freedom, coefficient vectors, matrices and non-linear solv...
PetscErrorCode DMlibMeshSetSystem(DM dm, libMesh::NonlinearImplicitSystem &sys)
Any functional implementation of the DMlibMesh API must compose the following functions with the DM o...
LibmeshPetscCallQ(DMShellGetContext(dm, &ctx))
PetscErrorCode DMlibMeshGetSystem(DM dm, libMesh::NonlinearImplicitSystem *&sys)
PetscFunctionReturn(LIBMESH_PETSC_SUCCESS)