xref: /petsc/src/binding/petsc4py/src/lib-petsc/compat/hpddm.h (revision ea9ee2c1d69c9e3cf6d2b3c8a205b9880d3dba39)
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