$extrastylesheet
petscdmlibmesh.C File Reference

Go to the source code of this file.

Functions

PetscErrorCode DMlibMeshSetSystem (DM dm, libMesh::NonlinearImplicitSystem &sys)
PetscErrorCode DMlibMeshGetSystem (DM dm, libMesh::NonlinearImplicitSystem *&sys)

Function Documentation

Definition at line 29 of file petscdmlibmesh.C.

References libMesh::ierr, PetscErrorCode, and libMesh::sys.

Referenced by DMlibMeshFunction().

{
  PetscErrorCode (*f)(DM,libMesh::NonlinearImplicitSystem*&) = NULL;
  PetscErrorCode ierr;

  PetscFunctionBegin;
  PetscValidHeaderSpecific(dm,DM_CLASSID,1);
#if PETSC_RELEASE_LESS_THAN(3,4,0)
  ierr = PetscObjectQueryFunction((PetscObject)dm,"DMlibMeshGetSystem_C",(PetscVoidFunction*)&f);CHKERRQ(ierr);
#else
  ierr = PetscObjectQueryFunction((PetscObject)dm,"DMlibMeshGetSystem_C",&f);CHKERRQ(ierr);
#endif
  if(!f) SETERRQ(PETSC_COMM_SELF,PETSC_ERR_SUP, "DM has no implementation for DMlibMeshGetSystem");
  ierr = (*f)(dm,sys);CHKERRQ(ierr);
  PetscFunctionReturn(0);
}

Definition at line 10 of file petscdmlibmesh.C.

References libMesh::ierr, PetscErrorCode, and libMesh::sys.

Referenced by libMesh::PetscNonlinearSolver< T >::init().

{
  PetscErrorCode (*f)(DM,libMesh::NonlinearImplicitSystem&) = NULL;
  PetscErrorCode ierr;

  PetscFunctionBegin;
  PetscValidHeaderSpecific(dm,DM_CLASSID,1);
#if PETSC_RELEASE_LESS_THAN(3,4,0)
  ierr = PetscObjectQueryFunction((PetscObject)dm,"DMlibMeshSetSystem_C",(PetscVoidFunction*)&f);CHKERRQ(ierr);
#else
  ierr = PetscObjectQueryFunction((PetscObject)dm,"DMlibMeshSetSystem_C",&f);CHKERRQ(ierr);
#endif
  if(!f) SETERRQ(PETSC_COMM_SELF,PETSC_ERR_SUP, "DM has no implementation for DMlibMeshSetSystem");
  ierr = (*f)(dm,sys);CHKERRQ(ierr);
  PetscFunctionReturn(0);
}