Actual source code: pfall.c


  2: #include <petscpf.h>
  3: #include <../src/vec/pf/pfimpl.h>

  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

 13: /*@C
 14:    PFRegisterAll - Registers all of the preconditioners in the PF package.

 16:    Not Collective

 18:    Level: advanced

 20: .seealso: `PFRegister()`, `PFRegisterDestroy()`
 21: @*/
 22: PetscErrorCode PFRegisterAll(void)
 23: {
 24:   PetscFunctionBegin;
 25:   if (PFRegisterAllCalled) PetscFunctionReturn(PETSC_SUCCESS);
 26:   PFRegisterAllCalled = PETSC_TRUE;

 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(PETSC_SUCCESS);
 36: }