xref: /petsc/src/dm/interface/dmregall.c (revision 8bd38afe5875a4efdc75569e2b404cf609d585c2)
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()
31 @*/
32 PetscErrorCode  DMRegisterAll()
33 {
34   PetscErrorCode ierr;
35 
36   PetscFunctionBegin;
37   DMRegisterAllCalled = PETSC_TRUE;
38 
39   ierr = DMRegister(DMDA,         DMCreate_DA);CHKERRQ(ierr);
40   ierr = DMRegister(DMCOMPOSITE,  DMCreate_Composite);CHKERRQ(ierr);
41   ierr = DMRegister(DMSLICED,     DMCreate_Sliced);CHKERRQ(ierr);
42   ierr = DMRegister(DMSHELL,      DMCreate_Shell);CHKERRQ(ierr);
43   ierr = DMRegister(DMADDA,       DMCreate_ADDA);CHKERRQ(ierr);
44   ierr = DMRegister(DMREDUNDANT,  DMCreate_Redundant);CHKERRQ(ierr);
45   ierr = DMRegister(DMPLEX,       DMCreate_Plex);CHKERRQ(ierr);
46   ierr = DMRegister(DMPATCH,      DMCreate_Patch);CHKERRQ(ierr);
47 #if defined(PETSC_HAVE_SIEVE)
48   ierr = DMRegister(DMMESH,       DMCreate_Mesh);CHKERRQ(ierr);
49   ierr = DMRegister(DMCARTESIAN,  DMCreate_Cartesian);CHKERRQ(ierr);
50 #endif
51 #if defined(PETSC_HAVE_MOAB)
52   ierr = DMRegister(DMMOAB,       DMCreate_Moab);CHKERRQ(ierr);
53 #endif
54   PetscFunctionReturn(0);
55 }
56 #include <petscfe.h>     /*I  "petscfe.h"  I*/
57 
58 PETSC_EXTERN PetscErrorCode PetscSpaceCreate_Polynomial(PetscSpace);
59 
60 #undef __FUNCT__
61 #define __FUNCT__ "PetscSpaceRegisterAll"
62 /*@C
63   PetscSpaceRegisterAll - Registers all of the PetscSpace components in the PetscFE package.
64 
65   Not Collective
66 
67   Input parameter:
68 . path - The dynamic library path
69 
70   Level: advanced
71 
72 .keywords: PetscSpace, register, all
73 .seealso:  PetscSpaceRegister(), PetscSpaceRegisterDestroy()
74 @*/
75 PetscErrorCode PetscSpaceRegisterAll()
76 {
77   PetscErrorCode ierr;
78 
79   PetscFunctionBegin;
80   PetscSpaceRegisterAllCalled = PETSC_TRUE;
81 
82   ierr = PetscSpaceRegister(PETSCSPACEPOLYNOMIAL, PetscSpaceCreate_Polynomial);CHKERRQ(ierr);
83   PetscFunctionReturn(0);
84 }
85 
86 PETSC_EXTERN PetscErrorCode PetscDualSpaceCreate_Lagrange(PetscDualSpace);
87 
88 #undef __FUNCT__
89 #define __FUNCT__ "PetscDualSpaceRegisterAll"
90 /*@C
91   PetscDualSpaceRegisterAll - Registers all of the PetscDualSpace components in the PetscFE package.
92 
93   Not Collective
94 
95   Input parameter:
96 . path - The dynamic library path
97 
98   Level: advanced
99 
100 .keywords: PetscDualSpace, register, all
101 .seealso:  PetscDualSpaceRegister(), PetscDualSpaceRegisterDestroy()
102 @*/
103 PetscErrorCode PetscDualSpaceRegisterAll()
104 {
105   PetscErrorCode ierr;
106 
107   PetscFunctionBegin;
108   PetscDualSpaceRegisterAllCalled = PETSC_TRUE;
109 
110   ierr = PetscDualSpaceRegister(PETSCDUALSPACELAGRANGE, PetscDualSpaceCreate_Lagrange);CHKERRQ(ierr);
111   PetscFunctionReturn(0);
112 }
113 
114 PETSC_EXTERN PetscErrorCode PetscFECreate_Basic(PetscFE);
115 #ifdef PETSC_HAVE_OPENCL
116 PETSC_EXTERN PetscErrorCode PetscFECreate_OpenCL(PetscFE);
117 #endif
118 
119 #undef __FUNCT__
120 #define __FUNCT__ "PetscFERegisterAll"
121 /*@C
122   PetscFERegisterAll - Registers all of the PetscFE components in the PetscFE package.
123 
124   Not Collective
125 
126   Input parameter:
127 . path - The dynamic library path
128 
129   Level: advanced
130 
131 .keywords: PetscFE, register, all
132 .seealso:  PetscFERegister(), PetscFERegisterDestroy()
133 @*/
134 PetscErrorCode PetscFERegisterAll()
135 {
136   PetscErrorCode ierr;
137 
138   PetscFunctionBegin;
139   PetscFERegisterAllCalled = PETSC_TRUE;
140 
141   ierr = PetscFERegister(PETSCFEBASIC,  PetscFECreate_Basic);CHKERRQ(ierr);
142 #ifdef PETSC_HAVE_OPENCL
143   ierr = PetscFERegister(PETSCFEOPENCL, PetscFECreate_OpenCL);CHKERRQ(ierr);
144 #endif
145   PetscFunctionReturn(0);
146 }
147