xref: /petsc/src/vec/pf/interface/pfall.c (revision d71ae5a4db6382e7f06317b8d368875286fe9008)
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)
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 {
24   PetscFunctionBegin;
25   if (PFRegisterAllCalled) PetscFunctionReturn(0);
26   PFRegisterAllCalled = PETSC_TRUE;
27 
28   PetscCall(PFRegister(PFCONSTANT, PFCreate_Constant));
29   PetscCall(PFRegister(PFSTRING, PFCreate_String));
30   PetscCall(PFRegister(PFQUICK, PFCreate_Quick));
31   PetscCall(PFRegister(PFIDENTITY, PFCreate_Identity));
32 #if defined(PETSC_HAVE_MATLAB)
33   PetscCall(PFRegister(PFMATLAB, PFCreate_Matlab));
34 #endif
35   PetscFunctionReturn(0);
36 }
37