$extrastylesheet
petscdmlibmesh.h File Reference

Go to the source code of this file.

Functions

PETSC_EXTERN PetscErrorCode DMlibMeshSetSystem (DM, libMesh::NonlinearImplicitSystem &)
PETSC_EXTERN PetscErrorCode DMlibMeshGetSystem (DM, libMesh::NonlinearImplicitSystem *&)
EXTERN_C_BEGIN PETSC_EXTERN
PetscErrorCode 
DMCreate_libMesh (DM)

Function Documentation

EXTERN_C_BEGIN PETSC_EXTERN PetscErrorCode DMCreate_libMesh ( DM  )

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