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