1 #ifndef PETSC4PY_COMPAT_HPDDM_H 2 #define PETSC4PY_COMPAT_HPDDM_H 3 4 #if !defined(PETSC_HAVE_HPDDM) 5 6 #define PetscHPDDMError do { \ 7 PetscFunctionBegin; \ 8 SETERRQ(PETSC_COMM_SELF,PETSC_ERR_SUP,"%s() requires HPDDM",PETSC_FUNCTION_NAME); \ 9 PetscFunctionReturn(PETSC_ERR_SUP);} while (0) 10 11 PetscErrorCode KSPHPDDMSetType(PETSC_UNUSED KSP ksp,PETSC_UNUSED KSPHPDDMType type){PetscHPDDMError;} 12 PetscErrorCode KSPHPDDMGetType(PETSC_UNUSED KSP ksp,PETSC_UNUSED KSPHPDDMType *type){PetscHPDDMError;} 13 14 PetscErrorCode PCHPDDMSetAuxiliaryMat(PETSC_UNUSED PC pc,PETSC_UNUSED IS is,PETSC_UNUSED Mat aux,PETSC_UNUSED PetscErrorCode (*setup)(Mat,PetscReal,Vec,Vec,PetscReal,IS,void*),PETSC_UNUSED void* ctx){PetscHPDDMError;} 15 PetscErrorCode PCHPDDMSetRHSMat(PETSC_UNUSED PC pc,PETSC_UNUSED Mat B){PetscHPDDMError;} 16 PetscErrorCode PCHPDDMHasNeumannMat(PETSC_UNUSED PC pc,PETSC_UNUSED PetscBool has){PetscHPDDMError;} 17 PetscErrorCode PCHPDDMSetCoarseCorrectionType(PETSC_UNUSED PC pc,PETSC_UNUSED PCHPDDMCoarseCorrectionType type){PetscHPDDMError;} 18 PetscErrorCode PCHPDDMGetCoarseCorrectionType(PETSC_UNUSED PC pc,PETSC_UNUSED PCHPDDMCoarseCorrectionType *type){PetscHPDDMError;} 19 PetscErrorCode PCHPDDMGetSTShareSubKSP(PETSC_UNUSED PC pc,PETSC_UNUSED PetscBool *share){PetscHPDDMError;} 20 PetscErrorCode PCHPDDMSetDeflationMat(PETSC_UNUSED PC pc,PETSC_UNUSED IS is,PETSC_UNUSED Mat U){PetscHPDDMError;} 21 22 #undef PetscHPDDMError 23 24 #endif 25 26 #endif/*PETSC4PY_COMPAT_HPDDM_H*/ 27