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