xref: /petsc/src/dm/interface/dmregall.c (revision 0f51fdf84cc2af9c6ef13eed784e698b930e50d2)
1 
2 #include <petscdm.h>     /*I  "petscdm.h"  I*/
3 #include <petscdmplex.h> /*I  "petscdmplex.h"  I*/
4 #include <petsc-private/dmimpl.h>
5 #include <petsc-private/dmpleximpl.h>
6 #include <petsc-private/petscfeimpl.h>
7 #include <petsc-private/petscfvimpl.h>
8 #include <petsc-private/petscdsimpl.h>
9 PETSC_EXTERN PetscErrorCode DMCreate_DA(DM);
10 PETSC_EXTERN PetscErrorCode DMCreate_Composite(DM);
11 PETSC_EXTERN PetscErrorCode DMCreate_Sliced(DM);
12 PETSC_EXTERN PetscErrorCode DMCreate_Shell(DM);
13 PETSC_EXTERN PetscErrorCode DMCreate_Redundant(DM);
14 PETSC_EXTERN PetscErrorCode DMCreate_Plex(DM);
15 PETSC_EXTERN PetscErrorCode DMCreate_Patch(DM);
16 #if defined(PETSC_HAVE_MOAB)
17 PETSC_EXTERN PetscErrorCode DMCreate_Moab(DM);
18 #endif
19 PETSC_EXTERN PetscErrorCode DMCreate_Network(DM);
20 
21 #undef __FUNCT__
22 #define __FUNCT__ "DMRegisterAll"
23 /*@C
24   DMRegisterAll - Registers all of the DM components in the DM package.
25 
26   Not Collective
27 
28   Input parameter:
29 . path - The dynamic library path
30 
31   Level: advanced
32 
33 .keywords: DM, register, all
34 .seealso:  DMRegister(), DMRegisterDestroy()
35 @*/
36 PetscErrorCode  DMRegisterAll()
37 {
38   PetscErrorCode ierr;
39 
40   PetscFunctionBegin;
41   if (DMRegisterAllCalled) PetscFunctionReturn(0);
42   DMRegisterAllCalled = PETSC_TRUE;
43 
44   ierr = DMRegister(DMDA,         DMCreate_DA);CHKERRQ(ierr);
45   ierr = DMRegister(DMCOMPOSITE,  DMCreate_Composite);CHKERRQ(ierr);
46   ierr = DMRegister(DMSLICED,     DMCreate_Sliced);CHKERRQ(ierr);
47   ierr = DMRegister(DMSHELL,      DMCreate_Shell);CHKERRQ(ierr);
48   ierr = DMRegister(DMREDUNDANT,  DMCreate_Redundant);CHKERRQ(ierr);
49   ierr = DMRegister(DMPLEX,       DMCreate_Plex);CHKERRQ(ierr);
50   ierr = DMRegister(DMPATCH,      DMCreate_Patch);CHKERRQ(ierr);
51 #if defined(PETSC_HAVE_MOAB)
52   ierr = DMRegister(DMMOAB,       DMCreate_Moab);CHKERRQ(ierr);
53 #endif
54   ierr = DMRegister(DMNETWORK,    DMCreate_Network);CHKERRQ(ierr);
55   PetscFunctionReturn(0);
56 }
57 
58 PETSC_EXTERN PetscErrorCode PetscPartitionerCreate_Chaco(PetscPartitioner);
59 PETSC_EXTERN PetscErrorCode PetscPartitionerCreate_ParMetis(PetscPartitioner);
60 PETSC_EXTERN PetscErrorCode PetscPartitionerCreate_Shell(PetscPartitioner);
61 
62 #undef __FUNCT__
63 #define __FUNCT__ "PetscPartitionerRegisterAll"
64 /*@C
65   PetscPartitionerRegisterAll - Registers all of the PetscPartitioner components in the DM package.
66 
67   Not Collective
68 
69   Input parameter:
70 . path - The dynamic library path
71 
72   Level: advanced
73 
74 .keywords: PetscPartitioner, register, all
75 .seealso:  PetscPartitionerRegister(), PetscPartitionerRegisterDestroy()
76 @*/
77 PetscErrorCode PetscPartitionerRegisterAll()
78 {
79   PetscErrorCode ierr;
80 
81   PetscFunctionBegin;
82   if (PetscPartitionerRegisterAllCalled) PetscFunctionReturn(0);
83   PetscPartitionerRegisterAllCalled = PETSC_TRUE;
84 
85   ierr = PetscPartitionerRegister(PETSCPARTITIONERCHACO,    PetscPartitionerCreate_Chaco);CHKERRQ(ierr);
86   ierr = PetscPartitionerRegister(PETSCPARTITIONERPARMETIS, PetscPartitionerCreate_ParMetis);CHKERRQ(ierr);
87   ierr = PetscPartitionerRegister(PETSCPARTITIONERSHELL,    PetscPartitionerCreate_Shell);CHKERRQ(ierr);
88   PetscFunctionReturn(0);
89 }
90 #include <petscfe.h>     /*I  "petscfe.h"  I*/
91 
92 PETSC_EXTERN PetscErrorCode PetscSpaceCreate_Polynomial(PetscSpace);
93 PETSC_EXTERN PetscErrorCode PetscSpaceCreate_DG(PetscSpace);
94 
95 #undef __FUNCT__
96 #define __FUNCT__ "PetscSpaceRegisterAll"
97 /*@C
98   PetscSpaceRegisterAll - Registers all of the PetscSpace components in the PetscFE package.
99 
100   Not Collective
101 
102   Input parameter:
103 . path - The dynamic library path
104 
105   Level: advanced
106 
107 .keywords: PetscSpace, register, all
108 .seealso:  PetscSpaceRegister(), PetscSpaceRegisterDestroy()
109 @*/
110 PetscErrorCode PetscSpaceRegisterAll()
111 {
112   PetscErrorCode ierr;
113 
114   PetscFunctionBegin;
115   if (PetscSpaceRegisterAllCalled) PetscFunctionReturn(0);
116   PetscSpaceRegisterAllCalled = PETSC_TRUE;
117 
118   ierr = PetscSpaceRegister(PETSCSPACEPOLYNOMIAL, PetscSpaceCreate_Polynomial);CHKERRQ(ierr);
119   ierr = PetscSpaceRegister(PETSCSPACEDG,         PetscSpaceCreate_DG);CHKERRQ(ierr);
120   PetscFunctionReturn(0);
121 }
122 
123 PETSC_EXTERN PetscErrorCode PetscDualSpaceCreate_Lagrange(PetscDualSpace);
124 PETSC_EXTERN PetscErrorCode PetscDualSpaceCreate_Simple(PetscDualSpace);
125 
126 #undef __FUNCT__
127 #define __FUNCT__ "PetscDualSpaceRegisterAll"
128 /*@C
129   PetscDualSpaceRegisterAll - Registers all of the PetscDualSpace components in the PetscFE package.
130 
131   Not Collective
132 
133   Input parameter:
134 . path - The dynamic library path
135 
136   Level: advanced
137 
138 .keywords: PetscDualSpace, register, all
139 .seealso:  PetscDualSpaceRegister(), PetscDualSpaceRegisterDestroy()
140 @*/
141 PetscErrorCode PetscDualSpaceRegisterAll()
142 {
143   PetscErrorCode ierr;
144 
145   PetscFunctionBegin;
146   if (PetscDualSpaceRegisterAllCalled) PetscFunctionReturn(0);
147   PetscDualSpaceRegisterAllCalled = PETSC_TRUE;
148 
149   ierr = PetscDualSpaceRegister(PETSCDUALSPACELAGRANGE, PetscDualSpaceCreate_Lagrange);CHKERRQ(ierr);
150   ierr = PetscDualSpaceRegister(PETSCDUALSPACESIMPLE,   PetscDualSpaceCreate_Simple);CHKERRQ(ierr);
151   PetscFunctionReturn(0);
152 }
153 
154 PETSC_EXTERN PetscErrorCode PetscFECreate_Basic(PetscFE);
155 PETSC_EXTERN PetscErrorCode PetscFECreate_Nonaffine(PetscFE);
156 PETSC_EXTERN PetscErrorCode PetscFECreate_Composite(PetscFE);
157 #ifdef PETSC_HAVE_OPENCL
158 PETSC_EXTERN PetscErrorCode PetscFECreate_OpenCL(PetscFE);
159 #endif
160 
161 #undef __FUNCT__
162 #define __FUNCT__ "PetscFERegisterAll"
163 /*@C
164   PetscFERegisterAll - Registers all of the PetscFE components in the PetscFE package.
165 
166   Not Collective
167 
168   Input parameter:
169 . path - The dynamic library path
170 
171   Level: advanced
172 
173 .keywords: PetscFE, register, all
174 .seealso:  PetscFERegister(), PetscFERegisterDestroy()
175 @*/
176 PetscErrorCode PetscFERegisterAll()
177 {
178   PetscErrorCode ierr;
179 
180   PetscFunctionBegin;
181   if (PetscFERegisterAllCalled) PetscFunctionReturn(0);
182   PetscFERegisterAllCalled = PETSC_TRUE;
183 
184   ierr = PetscFERegister(PETSCFEBASIC,     PetscFECreate_Basic);CHKERRQ(ierr);
185   ierr = PetscFERegister(PETSCFENONAFFINE, PetscFECreate_Nonaffine);CHKERRQ(ierr);
186   ierr = PetscFERegister(PETSCFECOMPOSITE, PetscFECreate_Composite);CHKERRQ(ierr);
187 #ifdef PETSC_HAVE_OPENCL
188   ierr = PetscFERegister(PETSCFEOPENCL, PetscFECreate_OpenCL);CHKERRQ(ierr);
189 #endif
190   PetscFunctionReturn(0);
191 }
192 #include <petscfv.h>     /*I  "petscfv.h"  I*/
193 
194 PETSC_EXTERN PetscErrorCode PetscLimiterCreate_Sin(PetscLimiter);
195 PETSC_EXTERN PetscErrorCode PetscLimiterCreate_Zero(PetscLimiter);
196 PETSC_EXTERN PetscErrorCode PetscLimiterCreate_None(PetscLimiter);
197 PETSC_EXTERN PetscErrorCode PetscLimiterCreate_Minmod(PetscLimiter);
198 PETSC_EXTERN PetscErrorCode PetscLimiterCreate_VanLeer(PetscLimiter);
199 PETSC_EXTERN PetscErrorCode PetscLimiterCreate_VanAlbada(PetscLimiter);
200 PETSC_EXTERN PetscErrorCode PetscLimiterCreate_Superbee(PetscLimiter);
201 PETSC_EXTERN PetscErrorCode PetscLimiterCreate_MC(PetscLimiter);
202 
203 #undef __FUNCT__
204 #define __FUNCT__ "PetscLimiterRegisterAll"
205 /*@C
206   PetscLimiterRegisterAll - Registers all of the PetscLimiter components in the PetscFV package.
207 
208   Not Collective
209 
210   Input parameter:
211 . path - The dynamic library path
212 
213   Level: advanced
214 
215 .keywords: PetscLimiter, register, all
216 .seealso:  PetscLimiterRegister(), PetscLimiterRegisterDestroy()
217 @*/
218 PetscErrorCode PetscLimiterRegisterAll()
219 {
220   PetscErrorCode ierr;
221 
222   PetscFunctionBegin;
223   if (PetscLimiterRegisterAllCalled) PetscFunctionReturn(0);
224   PetscLimiterRegisterAllCalled = PETSC_TRUE;
225 
226   ierr = PetscLimiterRegister(PETSCLIMITERSIN,       PetscLimiterCreate_Sin);CHKERRQ(ierr);
227   ierr = PetscLimiterRegister(PETSCLIMITERZERO,      PetscLimiterCreate_Zero);CHKERRQ(ierr);
228   ierr = PetscLimiterRegister(PETSCLIMITERNONE,      PetscLimiterCreate_None);CHKERRQ(ierr);
229   ierr = PetscLimiterRegister(PETSCLIMITERMINMOD,    PetscLimiterCreate_Minmod);CHKERRQ(ierr);
230   ierr = PetscLimiterRegister(PETSCLIMITERVANLEER,   PetscLimiterCreate_VanLeer);CHKERRQ(ierr);
231   ierr = PetscLimiterRegister(PETSCLIMITERVANALBADA, PetscLimiterCreate_VanAlbada);CHKERRQ(ierr);
232   ierr = PetscLimiterRegister(PETSCLIMITERSUPERBEE,  PetscLimiterCreate_Superbee);CHKERRQ(ierr);
233   ierr = PetscLimiterRegister(PETSCLIMITERMC,        PetscLimiterCreate_MC);CHKERRQ(ierr);
234   PetscFunctionReturn(0);
235 }
236 
237 PETSC_EXTERN PetscErrorCode PetscFVCreate_Upwind(PetscFV);
238 PETSC_EXTERN PetscErrorCode PetscFVCreate_LeastSquares(PetscFV);
239 
240 #undef __FUNCT__
241 #define __FUNCT__ "PetscFVRegisterAll"
242 /*@C
243   PetscFVRegisterAll - Registers all of the PetscFV components in the PetscFV package.
244 
245   Not Collective
246 
247   Input parameter:
248 . path - The dynamic library path
249 
250   Level: advanced
251 
252 .keywords: PetscFV, register, all
253 .seealso:  PetscFVRegister(), PetscFVRegisterDestroy()
254 @*/
255 PetscErrorCode PetscFVRegisterAll()
256 {
257   PetscErrorCode ierr;
258 
259   PetscFunctionBegin;
260   if (PetscFVRegisterAllCalled) PetscFunctionReturn(0);
261   PetscFVRegisterAllCalled = PETSC_TRUE;
262 
263   ierr = PetscFVRegister(PETSCFVUPWIND,       PetscFVCreate_Upwind);CHKERRQ(ierr);
264   ierr = PetscFVRegister(PETSCFVLEASTSQUARES, PetscFVCreate_LeastSquares);CHKERRQ(ierr);
265   PetscFunctionReturn(0);
266 }
267 #include <petscds.h>     /*I  "petscds.h"  I*/
268 
269 PETSC_EXTERN PetscErrorCode PetscDSCreate_Basic(PetscDS);
270 
271 #undef __FUNCT__
272 #define __FUNCT__ "PetscDSRegisterAll"
273 /*@C
274   PetscDSRegisterAll - Registers all of the PetscDS components in the PetscDS package.
275 
276   Not Collective
277 
278   Input parameter:
279 . path - The dynamic library path
280 
281   Level: advanced
282 
283 .keywords: PetscDS, register, all
284 .seealso:  PetscDSRegister(), PetscDSRegisterDestroy()
285 @*/
286 PetscErrorCode PetscDSRegisterAll()
287 {
288   PetscErrorCode ierr;
289 
290   PetscFunctionBegin;
291   if (PetscDSRegisterAllCalled) PetscFunctionReturn(0);
292   PetscDSRegisterAllCalled = PETSC_TRUE;
293 
294   ierr = PetscDSRegister(PETSCDSBASIC, PetscDSCreate_Basic);CHKERRQ(ierr);
295   PetscFunctionReturn(0);
296 }
297