Actual source code: dmregall.c
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
26: PETSC_EXTERN PetscErrorCode DMCreate_Product(DM);
27: PETSC_EXTERN PetscErrorCode DMCreate_Stag(DM);
29: /*@C
30: DMRegisterAll - Registers all of the DM components in the DM package.
32: Not Collective
34: Input parameter:
35: . path - The dynamic library path
37: Level: advanced
39: .seealso: `DMRegister()`, `DMRegisterDestroy()`
40: @*/
41: PetscErrorCode DMRegisterAll(void)
42: {
43: PetscFunctionBegin;
44: if (DMRegisterAllCalled) PetscFunctionReturn(PETSC_SUCCESS);
45: DMRegisterAllCalled = PETSC_TRUE;
47: PetscCall(DMRegister(DMDA, DMCreate_DA));
48: PetscCall(DMRegister(DMCOMPOSITE, DMCreate_Composite));
49: PetscCall(DMRegister(DMSLICED, DMCreate_Sliced));
50: PetscCall(DMRegister(DMSHELL, DMCreate_Shell));
51: PetscCall(DMRegister(DMREDUNDANT, DMCreate_Redundant));
52: PetscCall(DMRegister(DMPLEX, DMCreate_Plex));
53: PetscCall(DMRegister(DMPATCH, DMCreate_Patch));
54: PetscCall(DMRegister(DMSWARM, DMCreate_Swarm));
55: #if defined(PETSC_HAVE_MOAB)
56: PetscCall(DMRegister(DMMOAB, DMCreate_Moab));
57: #endif
58: PetscCall(DMRegister(DMNETWORK, DMCreate_Network));
59: PetscCall(DMRegister(DMFOREST, DMCreate_Forest));
60: #if defined(PETSC_HAVE_P4EST)
61: PetscCall(DMRegister(DMP4EST, DMCreate_p4est));
62: PetscCall(DMRegister(DMP8EST, DMCreate_p8est));
63: #endif
64: PetscCall(DMRegister(DMPRODUCT, DMCreate_Product));
65: PetscCall(DMRegister(DMSTAG, DMCreate_Stag));
66: PetscFunctionReturn(PETSC_SUCCESS);
67: }
69: #include <petscfe.h>
71: PETSC_EXTERN PetscErrorCode PetscSpaceCreate_Polynomial(PetscSpace);
72: PETSC_EXTERN PetscErrorCode PetscSpaceCreate_Ptrimmed(PetscSpace);
73: PETSC_EXTERN PetscErrorCode PetscSpaceCreate_Tensor(PetscSpace);
74: PETSC_EXTERN PetscErrorCode PetscSpaceCreate_Sum(PetscSpace);
75: PETSC_EXTERN PetscErrorCode PetscSpaceCreate_Point(PetscSpace);
76: PETSC_EXTERN PetscErrorCode PetscSpaceCreate_Subspace(PetscSpace);
77: PETSC_EXTERN PetscErrorCode PetscSpaceCreate_WXY(PetscSpace);
79: /*@C
80: PetscSpaceRegisterAll - Registers all of the PetscSpace components in the PetscFE package.
82: Not Collective
84: Input parameter:
85: . path - The dynamic library path
87: Level: advanced
89: .seealso: `PetscSpaceRegister()`, `PetscSpaceRegisterDestroy()`
90: @*/
91: PetscErrorCode PetscSpaceRegisterAll(void)
92: {
93: PetscFunctionBegin;
94: if (PetscSpaceRegisterAllCalled) PetscFunctionReturn(PETSC_SUCCESS);
95: PetscSpaceRegisterAllCalled = PETSC_TRUE;
97: PetscCall(PetscSpaceRegister(PETSCSPACEPOLYNOMIAL, PetscSpaceCreate_Polynomial));
98: PetscCall(PetscSpaceRegister(PETSCSPACEPTRIMMED, PetscSpaceCreate_Ptrimmed));
99: PetscCall(PetscSpaceRegister(PETSCSPACETENSOR, PetscSpaceCreate_Tensor));
100: PetscCall(PetscSpaceRegister(PETSCSPACESUM, PetscSpaceCreate_Sum));
101: PetscCall(PetscSpaceRegister(PETSCSPACEPOINT, PetscSpaceCreate_Point));
102: PetscCall(PetscSpaceRegister(PETSCSPACESUBSPACE, PetscSpaceCreate_Subspace));
103: PetscCall(PetscSpaceRegister(PETSCSPACEWXY, PetscSpaceCreate_WXY));
104: PetscFunctionReturn(PETSC_SUCCESS);
105: }
107: PETSC_EXTERN PetscErrorCode PetscDualSpaceCreate_Lagrange(PetscDualSpace);
108: PETSC_EXTERN PetscErrorCode PetscDualSpaceCreate_Lagrange_BDM(PetscDualSpace);
109: PETSC_EXTERN PetscErrorCode PetscDualSpaceCreate_Simple(PetscDualSpace);
110: PETSC_EXTERN PetscErrorCode PetscDualSpaceCreate_Refined(PetscDualSpace);
112: /*@C
113: PetscDualSpaceRegisterAll - Registers all of the PetscDualSpace components in the PetscFE package.
115: Not Collective
117: Input parameter:
118: . path - The dynamic library path
120: Level: advanced
122: .seealso: `PetscDualSpaceRegister()`, `PetscDualSpaceRegisterDestroy()`
123: @*/
124: PetscErrorCode PetscDualSpaceRegisterAll(void)
125: {
126: PetscFunctionBegin;
127: if (PetscDualSpaceRegisterAllCalled) PetscFunctionReturn(PETSC_SUCCESS);
128: PetscDualSpaceRegisterAllCalled = PETSC_TRUE;
130: PetscCall(PetscDualSpaceRegister(PETSCDUALSPACELAGRANGE, PetscDualSpaceCreate_Lagrange));
131: PetscCall(PetscDualSpaceRegister(PETSCDUALSPACEBDM, PetscDualSpaceCreate_Lagrange));
132: PetscCall(PetscDualSpaceRegister(PETSCDUALSPACESIMPLE, PetscDualSpaceCreate_Simple));
133: PetscCall(PetscDualSpaceRegister(PETSCDUALSPACEREFINED, PetscDualSpaceCreate_Refined));
134: PetscFunctionReturn(PETSC_SUCCESS);
135: }
137: PETSC_EXTERN PetscErrorCode PetscFECreate_Basic(PetscFE);
138: PETSC_EXTERN PetscErrorCode PetscFECreate_Nonaffine(PetscFE);
139: PETSC_EXTERN PetscErrorCode PetscFECreate_Composite(PetscFE);
140: #if defined(PETSC_HAVE_OPENCL)
141: PETSC_EXTERN PetscErrorCode PetscFECreate_OpenCL(PetscFE);
142: #endif
144: /*@C
145: PetscFERegisterAll - Registers all of the PetscFE components in the PetscFE package.
147: Not Collective
149: Input parameter:
150: . path - The dynamic library path
152: Level: advanced
154: .seealso: `PetscFERegister()`, `PetscFERegisterDestroy()`
155: @*/
156: PetscErrorCode PetscFERegisterAll(void)
157: {
158: PetscFunctionBegin;
159: if (PetscFERegisterAllCalled) PetscFunctionReturn(PETSC_SUCCESS);
160: PetscFERegisterAllCalled = PETSC_TRUE;
162: PetscCall(PetscFERegister(PETSCFEBASIC, PetscFECreate_Basic));
163: PetscCall(PetscFERegister(PETSCFECOMPOSITE, PetscFECreate_Composite));
164: #if defined(PETSC_HAVE_OPENCL)
165: PetscCall(PetscFERegister(PETSCFEOPENCL, PetscFECreate_OpenCL));
166: #endif
167: PetscFunctionReturn(PETSC_SUCCESS);
168: }
169: #include <petscfv.h>
171: PETSC_EXTERN PetscErrorCode PetscLimiterCreate_Sin(PetscLimiter);
172: PETSC_EXTERN PetscErrorCode PetscLimiterCreate_Zero(PetscLimiter);
173: PETSC_EXTERN PetscErrorCode PetscLimiterCreate_None(PetscLimiter);
174: PETSC_EXTERN PetscErrorCode PetscLimiterCreate_Minmod(PetscLimiter);
175: PETSC_EXTERN PetscErrorCode PetscLimiterCreate_VanLeer(PetscLimiter);
176: PETSC_EXTERN PetscErrorCode PetscLimiterCreate_VanAlbada(PetscLimiter);
177: PETSC_EXTERN PetscErrorCode PetscLimiterCreate_Superbee(PetscLimiter);
178: PETSC_EXTERN PetscErrorCode PetscLimiterCreate_MC(PetscLimiter);
180: /*@C
181: PetscLimiterRegisterAll - Registers all of the PetscLimiter components in the PetscFV package.
183: Not Collective
185: Input parameter:
186: . path - The dynamic library path
188: Level: advanced
190: .seealso: `PetscLimiterRegister()`, `PetscLimiterRegisterDestroy()`
191: @*/
192: PetscErrorCode PetscLimiterRegisterAll(void)
193: {
194: PetscFunctionBegin;
195: if (PetscLimiterRegisterAllCalled) PetscFunctionReturn(PETSC_SUCCESS);
196: PetscLimiterRegisterAllCalled = PETSC_TRUE;
198: PetscCall(PetscLimiterRegister(PETSCLIMITERSIN, PetscLimiterCreate_Sin));
199: PetscCall(PetscLimiterRegister(PETSCLIMITERZERO, PetscLimiterCreate_Zero));
200: PetscCall(PetscLimiterRegister(PETSCLIMITERNONE, PetscLimiterCreate_None));
201: PetscCall(PetscLimiterRegister(PETSCLIMITERMINMOD, PetscLimiterCreate_Minmod));
202: PetscCall(PetscLimiterRegister(PETSCLIMITERVANLEER, PetscLimiterCreate_VanLeer));
203: PetscCall(PetscLimiterRegister(PETSCLIMITERVANALBADA, PetscLimiterCreate_VanAlbada));
204: PetscCall(PetscLimiterRegister(PETSCLIMITERSUPERBEE, PetscLimiterCreate_Superbee));
205: PetscCall(PetscLimiterRegister(PETSCLIMITERMC, PetscLimiterCreate_MC));
206: PetscFunctionReturn(PETSC_SUCCESS);
207: }
209: PETSC_EXTERN PetscErrorCode PetscFVCreate_Upwind(PetscFV);
210: PETSC_EXTERN PetscErrorCode PetscFVCreate_LeastSquares(PetscFV);
212: /*@C
213: PetscFVRegisterAll - Registers all of the PetscFV components in the PetscFV package.
215: Not Collective
217: Input parameter:
218: . path - The dynamic library path
220: Level: advanced
222: .seealso: `PetscFVRegister()`, `PetscFVRegisterDestroy()`
223: @*/
224: PetscErrorCode PetscFVRegisterAll(void)
225: {
226: PetscFunctionBegin;
227: if (PetscFVRegisterAllCalled) PetscFunctionReturn(PETSC_SUCCESS);
228: PetscFVRegisterAllCalled = PETSC_TRUE;
230: PetscCall(PetscFVRegister(PETSCFVUPWIND, PetscFVCreate_Upwind));
231: PetscCall(PetscFVRegister(PETSCFVLEASTSQUARES, PetscFVCreate_LeastSquares));
232: PetscFunctionReturn(PETSC_SUCCESS);
233: }
234: #include <petscds.h>
236: PETSC_EXTERN PetscErrorCode PetscDSCreate_Basic(PetscDS);
238: /*@C
239: PetscDSRegisterAll - Registers all of the PetscDS components in the PetscDS package.
241: Not Collective
243: Input parameter:
244: . path - The dynamic library path
246: Level: advanced
248: .seealso: `PetscDSRegister()`, `PetscDSRegisterDestroy()`
249: @*/
250: PetscErrorCode PetscDSRegisterAll(void)
251: {
252: PetscFunctionBegin;
253: if (PetscDSRegisterAllCalled) PetscFunctionReturn(PETSC_SUCCESS);
254: PetscDSRegisterAllCalled = PETSC_TRUE;
256: PetscCall(PetscDSRegister(PETSCDSBASIC, PetscDSCreate_Basic));
257: PetscFunctionReturn(PETSC_SUCCESS);
258: }