xref: /petsc/src/vec/pf/interface/pfall.c (revision da8c939b118068a1ceac5e4b3ba271c87cfc5bc7)
17d0a6c19SBarry Smith 
2c6db04a5SJed Brown #include <petscpf.h> /*I   "petscpf.h"   I*/
30f51fdf8SToby Isaac #include <../src/vec/pf/pfimpl.h>
4292f8084SBarry Smith 
5*da8c939bSJacob Faibussowitsch PETSC_INTERN PetscErrorCode PFCreate_Constant(PF, void *);
6*da8c939bSJacob Faibussowitsch PETSC_INTERN PetscErrorCode PFCreate_Quick(PF, void *);
7*da8c939bSJacob Faibussowitsch PETSC_INTERN PetscErrorCode PFCreate_Identity(PF, void *);
8f236b2adSBarry Smith #if defined(PETSC_HAVE_POPEN) && defined(PETSC_USE_SHARED_LIBRARIES) && defined(PETSC_HAVE_DYNAMIC_LIBRARIES)
9*da8c939bSJacob Faibussowitsch PETSC_INTERN PetscErrorCode PFCreate_String(PF, void *);
10f236b2adSBarry Smith #endif
11d1e78c4fSBarry Smith #if defined(PETSC_HAVE_MATLAB)
12*da8c939bSJacob Faibussowitsch PETSC_INTERN 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));
33f236b2adSBarry Smith #if defined(PETSC_HAVE_POPEN) && defined(PETSC_USE_SHARED_LIBRARIES) && defined(PETSC_HAVE_DYNAMIC_LIBRARIES)
34f236b2adSBarry Smith   PetscCall(PFRegister(PFSTRING, PFCreate_String));
35f236b2adSBarry 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