17d0a6c19SBarry Smith 2c6db04a5SJed Brown #include <petscpf.h> /*I "petscpf.h" I*/ 30f51fdf8SToby Isaac #include <../src/vec/pf/pfimpl.h> 4292f8084SBarry Smith 58cc058d9SJed Brown PETSC_EXTERN PetscErrorCode PFCreate_Constant(PF, void *); 68cc058d9SJed Brown PETSC_EXTERN PetscErrorCode PFCreate_Quick(PF, void *); 78cc058d9SJed Brown PETSC_EXTERN PetscErrorCode PFCreate_Identity(PF, void *); 8*f236b2adSBarry Smith #if defined(PETSC_HAVE_POPEN) && defined(PETSC_USE_SHARED_LIBRARIES) && defined(PETSC_HAVE_DYNAMIC_LIBRARIES) 9*f236b2adSBarry Smith PETSC_EXTERN PetscErrorCode PFCreate_String(PF, void *); 10*f236b2adSBarry Smith #endif 11d1e78c4fSBarry Smith #if defined(PETSC_HAVE_MATLAB) 128cc058d9SJed Brown PETSC_EXTERN PetscErrorCode PFCreate_Matlab(PF, void *); 13292f8084SBarry Smith #endif 14292f8084SBarry Smith 15292f8084SBarry Smith /*@C 16292f8084SBarry Smith PFRegisterAll - Registers all of the preconditioners in the PF package. 17292f8084SBarry Smith 18292f8084SBarry Smith Not Collective 19292f8084SBarry Smith 20292f8084SBarry Smith Level: advanced 21292f8084SBarry Smith 22db781477SPatrick Sanan .seealso: `PFRegister()`, `PFRegisterDestroy()` 23292f8084SBarry Smith @*/ 24d71ae5a4SJacob Faibussowitsch PetscErrorCode PFRegisterAll(void) 25d71ae5a4SJacob Faibussowitsch { 26292f8084SBarry Smith PetscFunctionBegin; 273ba16761SJacob Faibussowitsch if (PFRegisterAllCalled) PetscFunctionReturn(PETSC_SUCCESS); 28292f8084SBarry Smith PFRegisterAllCalled = PETSC_TRUE; 29292f8084SBarry Smith 309566063dSJacob Faibussowitsch PetscCall(PFRegister(PFCONSTANT, PFCreate_Constant)); 319566063dSJacob Faibussowitsch PetscCall(PFRegister(PFQUICK, PFCreate_Quick)); 329566063dSJacob Faibussowitsch PetscCall(PFRegister(PFIDENTITY, PFCreate_Identity)); 33*f236b2adSBarry Smith #if defined(PETSC_HAVE_POPEN) && defined(PETSC_USE_SHARED_LIBRARIES) && defined(PETSC_HAVE_DYNAMIC_LIBRARIES) 34*f236b2adSBarry Smith PetscCall(PFRegister(PFSTRING, PFCreate_String)); 35*f236b2adSBarry Smith #endif 36d1e78c4fSBarry Smith #if defined(PETSC_HAVE_MATLAB) 379566063dSJacob Faibussowitsch PetscCall(PFRegister(PFMATLAB, PFCreate_Matlab)); 38292f8084SBarry Smith #endif 393ba16761SJacob Faibussowitsch PetscFunctionReturn(PETSC_SUCCESS); 40292f8084SBarry Smith } 41