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