xref: /petsc/src/dm/interface/dmregall.c (revision 97ea5657e5243d901ebf3da24fa756317624b9bc)
1 
2 #include <petscdm.h>     /*I  "petscdm.h"  I*/
3 PETSC_EXTERN PetscErrorCode DMCreate_DA(DM);
4 PETSC_EXTERN PetscErrorCode DMCreate_Composite(DM);
5 PETSC_EXTERN PetscErrorCode DMCreate_Sliced(DM);
6 PETSC_EXTERN PetscErrorCode DMCreate_Shell(DM);
7 PETSC_EXTERN PetscErrorCode DMCreate_ADDA(DM);
8 PETSC_EXTERN PetscErrorCode DMCreate_Redundant(DM);
9 PETSC_EXTERN PetscErrorCode DMCreate_Plex(DM);
10 PETSC_EXTERN PetscErrorCode DMCreate_Patch(DM);
11 #if defined(PETSC_HAVE_SIEVE)
12 PETSC_EXTERN PetscErrorCode DMCreate_Mesh(DM);
13 PETSC_EXTERN PetscErrorCode DMCreate_Cartesian(DM);
14 #endif
15 PETSC_EXTERN PetscErrorCode  DMCreate_Moab(DM);
16 
17 #undef __FUNCT__
18 #define __FUNCT__ "DMRegisterAll"
19 /*@C
20   DMRegisterAll - Registers all of the DM components in the DM package.
21 
22   Not Collective
23 
24   Input parameter:
25 . path - The dynamic library path
26 
27   Level: advanced
28 
29 .keywords: DM, register, all
30 .seealso:  DMRegister(), DMRegisterDestroy(), DMRegisterDynamic()
31 @*/
32 PetscErrorCode  DMRegisterAll(const char path[])
33 {
34   PetscErrorCode ierr;
35 
36   PetscFunctionBegin;
37   DMRegisterAllCalled = PETSC_TRUE;
38 
39   ierr = DMRegisterDynamic(DMDA,        path, "DMCreate_DA",        DMCreate_DA);CHKERRQ(ierr);
40   ierr = DMRegisterDynamic(DMCOMPOSITE, path, "DMCreate_Composite", DMCreate_Composite);CHKERRQ(ierr);
41   ierr = DMRegisterDynamic(DMSLICED,    path, "DMCreate_Sliced",    DMCreate_Sliced);CHKERRQ(ierr);
42   ierr = DMRegisterDynamic(DMSHELL,     path, "DMCreate_Shell",     DMCreate_Shell);CHKERRQ(ierr);
43   ierr = DMRegisterDynamic(DMADDA,      path, "DMCreate_ADDA",      DMCreate_ADDA);CHKERRQ(ierr);
44   ierr = DMRegisterDynamic(DMREDUNDANT, path, "DMCreate_Redundant", DMCreate_Redundant);CHKERRQ(ierr);
45   ierr = DMRegisterDynamic(DMPLEX,      path, "DMCreate_Plex",      DMCreate_Plex);CHKERRQ(ierr);
46   ierr = DMRegisterDynamic(DMPATCH,     path, "DMCreate_Patch",     DMCreate_Patch);CHKERRQ(ierr);
47 #if defined(PETSC_HAVE_SIEVE)
48   ierr = DMRegisterDynamic(DMMESH,      path, "DMCreate_Mesh",      DMCreate_Mesh);CHKERRQ(ierr);
49   ierr = DMRegisterDynamic(DMCARTESIAN, path, "DMCreate_Cartesian", DMCreate_Cartesian);CHKERRQ(ierr);
50 #endif
51 #if defined(PETSC_HAVE_MOAB)
52   ierr = DMRegisterDynamic(DMMOAB,      path, "DMCreate_Moab",      DMCreate_Moab);CHKERRQ(ierr);
53 #endif
54   PetscFunctionReturn(0);
55 }
56 
57