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