xref: /petsc/src/vec/pf/interface/pfall.c (revision e8e8640d1cb9a3a2f50c0c0d7b26e5c4d521e2e4)
1 #include <petscpf.h> /*I   "petscpf.h"   I*/
2 #include <../src/vec/pf/pfimpl.h>
3 
4 PETSC_INTERN PetscErrorCode PFCreate_Constant(PF, void *);
5 PETSC_INTERN PetscErrorCode PFCreate_Quick(PF, void *);
6 PETSC_INTERN PetscErrorCode PFCreate_Identity(PF, void *);
7 #if defined(PETSC_HAVE_POPEN) && defined(PETSC_USE_SHARED_LIBRARIES) && defined(PETSC_HAVE_DYNAMIC_LIBRARIES)
8 PETSC_INTERN PetscErrorCode PFCreate_String(PF, void *);
9 #endif
10 #if defined(PETSC_HAVE_MATLAB)
11 PETSC_INTERN PetscErrorCode PFCreate_Matlab(PF, void *);
12 #endif
13 
14 /*@C
15   PFRegisterAll - Registers all of the preconditioners in the PF package.
16 
17   Not Collective
18 
19   Level: advanced
20 
21 .seealso: `PFRegister()`, `PFRegisterDestroy()`
22 @*/
PFRegisterAll(void)23 PetscErrorCode PFRegisterAll(void)
24 {
25   PetscFunctionBegin;
26   if (PFRegisterAllCalled) PetscFunctionReturn(PETSC_SUCCESS);
27   PFRegisterAllCalled = PETSC_TRUE;
28 
29   PetscCall(PFRegister(PFCONSTANT, PFCreate_Constant));
30   PetscCall(PFRegister(PFQUICK, PFCreate_Quick));
31   PetscCall(PFRegister(PFIDENTITY, PFCreate_Identity));
32 #if defined(PETSC_HAVE_POPEN) && defined(PETSC_USE_SHARED_LIBRARIES) && defined(PETSC_HAVE_DYNAMIC_LIBRARIES)
33   PetscCall(PFRegister(PFSTRING, PFCreate_String));
34 #endif
35 #if defined(PETSC_HAVE_MATLAB)
36   PetscCall(PFRegister(PFMATLAB, PFCreate_Matlab));
37 #endif
38   PetscFunctionReturn(PETSC_SUCCESS);
39 }
40