1c6db04a5SJed Brown #include <petscpf.h> /*I "petscpf.h" I*/
20f51fdf8SToby Isaac #include <../src/vec/pf/pfimpl.h>
3292f8084SBarry Smith
4*da8c939bSJacob Faibussowitsch PETSC_INTERN PetscErrorCode PFCreate_Constant(PF, void *);
5*da8c939bSJacob Faibussowitsch PETSC_INTERN PetscErrorCode PFCreate_Quick(PF, void *);
6*da8c939bSJacob Faibussowitsch PETSC_INTERN PetscErrorCode PFCreate_Identity(PF, void *);
7f236b2adSBarry Smith #if defined(PETSC_HAVE_POPEN) && defined(PETSC_USE_SHARED_LIBRARIES) && defined(PETSC_HAVE_DYNAMIC_LIBRARIES)
8*da8c939bSJacob Faibussowitsch PETSC_INTERN PetscErrorCode PFCreate_String(PF, void *);
9f236b2adSBarry Smith #endif
10d1e78c4fSBarry Smith #if defined(PETSC_HAVE_MATLAB)
11*da8c939bSJacob Faibussowitsch PETSC_INTERN PetscErrorCode PFCreate_Matlab(PF, void *);
12292f8084SBarry Smith #endif
13292f8084SBarry Smith
14292f8084SBarry Smith /*@C
15292f8084SBarry Smith PFRegisterAll - Registers all of the preconditioners in the PF package.
16292f8084SBarry Smith
17292f8084SBarry Smith Not Collective
18292f8084SBarry Smith
19292f8084SBarry Smith Level: advanced
20292f8084SBarry Smith
21db781477SPatrick Sanan .seealso: `PFRegister()`, `PFRegisterDestroy()`
22292f8084SBarry Smith @*/
PFRegisterAll(void)23d71ae5a4SJacob Faibussowitsch PetscErrorCode PFRegisterAll(void)
24d71ae5a4SJacob Faibussowitsch {
25292f8084SBarry Smith PetscFunctionBegin;
263ba16761SJacob Faibussowitsch if (PFRegisterAllCalled) PetscFunctionReturn(PETSC_SUCCESS);
27292f8084SBarry Smith PFRegisterAllCalled = PETSC_TRUE;
28292f8084SBarry Smith
299566063dSJacob Faibussowitsch PetscCall(PFRegister(PFCONSTANT, PFCreate_Constant));
309566063dSJacob Faibussowitsch PetscCall(PFRegister(PFQUICK, PFCreate_Quick));
319566063dSJacob Faibussowitsch PetscCall(PFRegister(PFIDENTITY, PFCreate_Identity));
32f236b2adSBarry Smith #if defined(PETSC_HAVE_POPEN) && defined(PETSC_USE_SHARED_LIBRARIES) && defined(PETSC_HAVE_DYNAMIC_LIBRARIES)
33f236b2adSBarry Smith PetscCall(PFRegister(PFSTRING, PFCreate_String));
34f236b2adSBarry Smith #endif
35d1e78c4fSBarry Smith #if defined(PETSC_HAVE_MATLAB)
369566063dSJacob Faibussowitsch PetscCall(PFRegister(PFMATLAB, PFCreate_Matlab));
37292f8084SBarry Smith #endif
383ba16761SJacob Faibussowitsch PetscFunctionReturn(PETSC_SUCCESS);
39292f8084SBarry Smith }
40