1 2 #include <petscpf.h> /*I "petscpf.h" I*/ 3 4 EXTERN_C_BEGIN 5 extern PetscErrorCode PFCreate_Constant(PF,void*); 6 extern PetscErrorCode PFCreate_String(PF,void*); 7 extern PetscErrorCode PFCreate_Quick(PF,void*); 8 extern PetscErrorCode PFCreate_Identity(PF,void*); 9 #if defined(PETSC_HAVE_MATLAB_ENGINE) 10 extern PetscErrorCode PFCreate_Matlab(PF,void*); 11 #endif 12 EXTERN_C_END 13 14 #undef __FUNCT__ 15 #define __FUNCT__ "PFRegisterAll" 16 /*@C 17 PFRegisterAll - Registers all of the preconditioners in the PF package. 18 19 Not Collective 20 21 Input Parameter: 22 . path - the library where the routines are to be found (optional) 23 24 Level: advanced 25 26 .keywords: PF, register, all 27 28 .seealso: PFRegisterDynamic(), PFRegisterDestroy() 29 @*/ 30 PetscErrorCode PFRegisterAll(const char path[]) 31 { 32 PetscErrorCode ierr; 33 34 PetscFunctionBegin; 35 PFRegisterAllCalled = PETSC_TRUE; 36 37 ierr = PFRegisterDynamic(PFCONSTANT ,path,"PFCreate_Constant",PFCreate_Constant);CHKERRQ(ierr); 38 ierr = PFRegisterDynamic(PFSTRING ,path,"PFCreate_String",PFCreate_String);CHKERRQ(ierr); 39 ierr = PFRegisterDynamic(PFQUICK ,path,"PFCreate_Quick",PFCreate_Quick);CHKERRQ(ierr); 40 ierr = PFRegisterDynamic(PFIDENTITY ,path,"PFCreate_Identity",PFCreate_Identity);CHKERRQ(ierr); 41 #if defined(PETSC_HAVE_MATLAB_ENGINE) 42 ierr = PFRegisterDynamic(PFMATLAB ,path,"PFCreate_Matlab",PFCreate_Matlab);CHKERRQ(ierr); 43 #endif 44 PetscFunctionReturn(0); 45 } 46 47 48