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