Actual source code: dmregall.c
petsc-3.8.0 2017-09-26
2: #include <petscdm.h>
3: #include <petscdmplex.h>
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: PETSC_EXTERN PetscErrorCode DMCreate_Swarm(DM);
17: #if defined(PETSC_HAVE_MOAB)
18: PETSC_EXTERN PetscErrorCode DMCreate_Moab(DM);
19: #endif
20: PETSC_EXTERN PetscErrorCode DMCreate_Network(DM);
21: PETSC_EXTERN PetscErrorCode DMCreate_Forest(DM);
22: #if defined(PETSC_HAVE_P4EST)
23: PETSC_EXTERN PetscErrorCode DMCreate_p4est(DM);
24: PETSC_EXTERN PetscErrorCode DMCreate_p8est(DM);
25: #endif
27: /*@C
28: DMRegisterAll - Registers all of the DM components in the DM package.
30: Not Collective
32: Input parameter:
33: . path - The dynamic library path
35: Level: advanced
37: .keywords: DM, register, all
38: .seealso: DMRegister(), DMRegisterDestroy()
39: @*/
40: PetscErrorCode DMRegisterAll(void)
41: {
45: if (DMRegisterAllCalled) return(0);
46: DMRegisterAllCalled = PETSC_TRUE;
48: DMRegister(DMDA, DMCreate_DA);
49: DMRegister(DMCOMPOSITE, DMCreate_Composite);
50: DMRegister(DMSLICED, DMCreate_Sliced);
51: DMRegister(DMSHELL, DMCreate_Shell);
52: DMRegister(DMREDUNDANT, DMCreate_Redundant);
53: DMRegister(DMPLEX, DMCreate_Plex);
54: DMRegister(DMPATCH, DMCreate_Patch);
55: DMRegister(DMSWARM, DMCreate_Swarm);
56: #if defined(PETSC_HAVE_MOAB)
57: DMRegister(DMMOAB, DMCreate_Moab);
58: #endif
59: DMRegister(DMNETWORK, DMCreate_Network);
60: DMRegister(DMFOREST, DMCreate_Forest);
61: #if defined(PETSC_HAVE_P4EST)
62: DMRegister(DMP4EST, DMCreate_p4est);
63: DMRegister(DMP8EST, DMCreate_p8est);
64: #endif
65: return(0);
66: }
68: PETSC_EXTERN PetscErrorCode PetscPartitionerCreate_Chaco(PetscPartitioner);
69: PETSC_EXTERN PetscErrorCode PetscPartitionerCreate_ParMetis(PetscPartitioner);
70: PETSC_EXTERN PetscErrorCode PetscPartitionerCreate_Shell(PetscPartitioner);
71: PETSC_EXTERN PetscErrorCode PetscPartitionerCreate_Simple(PetscPartitioner);
72: PETSC_EXTERN PetscErrorCode PetscPartitionerCreate_Gather(PetscPartitioner);
74: /*@C
75: PetscPartitionerRegisterAll - Registers all of the PetscPartitioner components in the DM package.
77: Not Collective
79: Input parameter:
80: . path - The dynamic library path
82: Level: advanced
84: .keywords: PetscPartitioner, register, all
85: .seealso: PetscPartitionerRegister(), PetscPartitionerRegisterDestroy()
86: @*/
87: PetscErrorCode PetscPartitionerRegisterAll(void)
88: {
92: if (PetscPartitionerRegisterAllCalled) return(0);
93: PetscPartitionerRegisterAllCalled = PETSC_TRUE;
95: PetscPartitionerRegister(PETSCPARTITIONERCHACO, PetscPartitionerCreate_Chaco);
96: PetscPartitionerRegister(PETSCPARTITIONERPARMETIS, PetscPartitionerCreate_ParMetis);
97: PetscPartitionerRegister(PETSCPARTITIONERSHELL, PetscPartitionerCreate_Shell);
98: PetscPartitionerRegister(PETSCPARTITIONERSIMPLE, PetscPartitionerCreate_Simple);
99: PetscPartitionerRegister(PETSCPARTITIONERGATHER, PetscPartitionerCreate_Gather);
100: return(0);
101: }
102: #include <petscfe.h>
104: PETSC_EXTERN PetscErrorCode PetscSpaceCreate_Polynomial(PetscSpace);
105: PETSC_EXTERN PetscErrorCode PetscSpaceCreate_Point(PetscSpace);
107: /*@C
108: PetscSpaceRegisterAll - Registers all of the PetscSpace components in the PetscFE package.
110: Not Collective
112: Input parameter:
113: . path - The dynamic library path
115: Level: advanced
117: .keywords: PetscSpace, register, all
118: .seealso: PetscSpaceRegister(), PetscSpaceRegisterDestroy()
119: @*/
120: PetscErrorCode PetscSpaceRegisterAll(void)
121: {
125: if (PetscSpaceRegisterAllCalled) return(0);
126: PetscSpaceRegisterAllCalled = PETSC_TRUE;
128: PetscSpaceRegister(PETSCSPACEPOLYNOMIAL, PetscSpaceCreate_Polynomial);
129: PetscSpaceRegister(PETSCSPACEPOINT, PetscSpaceCreate_Point);
130: return(0);
131: }
133: PETSC_EXTERN PetscErrorCode PetscDualSpaceCreate_Lagrange(PetscDualSpace);
134: PETSC_EXTERN PetscErrorCode PetscDualSpaceCreate_Simple(PetscDualSpace);
136: /*@C
137: PetscDualSpaceRegisterAll - Registers all of the PetscDualSpace components in the PetscFE package.
139: Not Collective
141: Input parameter:
142: . path - The dynamic library path
144: Level: advanced
146: .keywords: PetscDualSpace, register, all
147: .seealso: PetscDualSpaceRegister(), PetscDualSpaceRegisterDestroy()
148: @*/
149: PetscErrorCode PetscDualSpaceRegisterAll(void)
150: {
154: if (PetscDualSpaceRegisterAllCalled) return(0);
155: PetscDualSpaceRegisterAllCalled = PETSC_TRUE;
157: PetscDualSpaceRegister(PETSCDUALSPACELAGRANGE, PetscDualSpaceCreate_Lagrange);
158: PetscDualSpaceRegister(PETSCDUALSPACESIMPLE, PetscDualSpaceCreate_Simple);
159: return(0);
160: }
162: PETSC_EXTERN PetscErrorCode PetscFECreate_Basic(PetscFE);
163: PETSC_EXTERN PetscErrorCode PetscFECreate_Nonaffine(PetscFE);
164: PETSC_EXTERN PetscErrorCode PetscFECreate_Composite(PetscFE);
165: #ifdef PETSC_HAVE_OPENCL
166: PETSC_EXTERN PetscErrorCode PetscFECreate_OpenCL(PetscFE);
167: #endif
169: /*@C
170: PetscFERegisterAll - Registers all of the PetscFE components in the PetscFE package.
172: Not Collective
174: Input parameter:
175: . path - The dynamic library path
177: Level: advanced
179: .keywords: PetscFE, register, all
180: .seealso: PetscFERegister(), PetscFERegisterDestroy()
181: @*/
182: PetscErrorCode PetscFERegisterAll(void)
183: {
187: if (PetscFERegisterAllCalled) return(0);
188: PetscFERegisterAllCalled = PETSC_TRUE;
190: PetscFERegister(PETSCFEBASIC, PetscFECreate_Basic);
191: PetscFERegister(PETSCFENONAFFINE, PetscFECreate_Nonaffine);
192: PetscFERegister(PETSCFECOMPOSITE, PetscFECreate_Composite);
193: #ifdef PETSC_HAVE_OPENCL
194: PetscFERegister(PETSCFEOPENCL, PetscFECreate_OpenCL);
195: #endif
196: return(0);
197: }
198: #include <petscfv.h>
200: PETSC_EXTERN PetscErrorCode PetscLimiterCreate_Sin(PetscLimiter);
201: PETSC_EXTERN PetscErrorCode PetscLimiterCreate_Zero(PetscLimiter);
202: PETSC_EXTERN PetscErrorCode PetscLimiterCreate_None(PetscLimiter);
203: PETSC_EXTERN PetscErrorCode PetscLimiterCreate_Minmod(PetscLimiter);
204: PETSC_EXTERN PetscErrorCode PetscLimiterCreate_VanLeer(PetscLimiter);
205: PETSC_EXTERN PetscErrorCode PetscLimiterCreate_VanAlbada(PetscLimiter);
206: PETSC_EXTERN PetscErrorCode PetscLimiterCreate_Superbee(PetscLimiter);
207: PETSC_EXTERN PetscErrorCode PetscLimiterCreate_MC(PetscLimiter);
209: /*@C
210: PetscLimiterRegisterAll - Registers all of the PetscLimiter components in the PetscFV package.
212: Not Collective
214: Input parameter:
215: . path - The dynamic library path
217: Level: advanced
219: .keywords: PetscLimiter, register, all
220: .seealso: PetscLimiterRegister(), PetscLimiterRegisterDestroy()
221: @*/
222: PetscErrorCode PetscLimiterRegisterAll(void)
223: {
227: if (PetscLimiterRegisterAllCalled) return(0);
228: PetscLimiterRegisterAllCalled = PETSC_TRUE;
230: PetscLimiterRegister(PETSCLIMITERSIN, PetscLimiterCreate_Sin);
231: PetscLimiterRegister(PETSCLIMITERZERO, PetscLimiterCreate_Zero);
232: PetscLimiterRegister(PETSCLIMITERNONE, PetscLimiterCreate_None);
233: PetscLimiterRegister(PETSCLIMITERMINMOD, PetscLimiterCreate_Minmod);
234: PetscLimiterRegister(PETSCLIMITERVANLEER, PetscLimiterCreate_VanLeer);
235: PetscLimiterRegister(PETSCLIMITERVANALBADA, PetscLimiterCreate_VanAlbada);
236: PetscLimiterRegister(PETSCLIMITERSUPERBEE, PetscLimiterCreate_Superbee);
237: PetscLimiterRegister(PETSCLIMITERMC, PetscLimiterCreate_MC);
238: return(0);
239: }
241: PETSC_EXTERN PetscErrorCode PetscFVCreate_Upwind(PetscFV);
242: PETSC_EXTERN PetscErrorCode PetscFVCreate_LeastSquares(PetscFV);
244: /*@C
245: PetscFVRegisterAll - Registers all of the PetscFV components in the PetscFV package.
247: Not Collective
249: Input parameter:
250: . path - The dynamic library path
252: Level: advanced
254: .keywords: PetscFV, register, all
255: .seealso: PetscFVRegister(), PetscFVRegisterDestroy()
256: @*/
257: PetscErrorCode PetscFVRegisterAll(void)
258: {
262: if (PetscFVRegisterAllCalled) return(0);
263: PetscFVRegisterAllCalled = PETSC_TRUE;
265: PetscFVRegister(PETSCFVUPWIND, PetscFVCreate_Upwind);
266: PetscFVRegister(PETSCFVLEASTSQUARES, PetscFVCreate_LeastSquares);
267: return(0);
268: }
269: #include <petscds.h>
271: PETSC_EXTERN PetscErrorCode PetscDSCreate_Basic(PetscDS);
273: /*@C
274: PetscDSRegisterAll - Registers all of the PetscDS components in the PetscDS package.
276: Not Collective
278: Input parameter:
279: . path - The dynamic library path
281: Level: advanced
283: .keywords: PetscDS, register, all
284: .seealso: PetscDSRegister(), PetscDSRegisterDestroy()
285: @*/
286: PetscErrorCode PetscDSRegisterAll(void)
287: {
291: if (PetscDSRegisterAllCalled) return(0);
292: PetscDSRegisterAllCalled = PETSC_TRUE;
294: PetscDSRegister(PETSCDSBASIC, PetscDSCreate_Basic);
295: return(0);
296: }