Actual source code: dmregall.c
1: #include <petscdm.h>
2: #include <petscdmplex.h>
3: #include <petsc/private/dmimpl.h>
4: #include <petsc/private/dmpleximpl.h>
5: #include <petsc/private/petscfeimpl.h>
6: #include <petsc/private/petscfvimpl.h>
7: #include <petsc/private/petscdsimpl.h>
8: PETSC_EXTERN PetscErrorCode DMCreate_DA(DM);
9: PETSC_EXTERN PetscErrorCode DMCreate_Composite(DM);
10: PETSC_EXTERN PetscErrorCode DMCreate_Sliced(DM);
11: PETSC_EXTERN PetscErrorCode DMCreate_Shell(DM);
12: PETSC_EXTERN PetscErrorCode DMCreate_Redundant(DM);
13: PETSC_EXTERN PetscErrorCode DMCreate_Plex(DM);
14: PETSC_EXTERN PetscErrorCode DMCreate_Patch(DM);
15: PETSC_EXTERN PetscErrorCode DMCreate_Swarm(DM);
16: #if defined(PETSC_HAVE_MOAB)
17: PETSC_EXTERN PetscErrorCode DMCreate_Moab(DM);
18: #endif
19: PETSC_EXTERN PetscErrorCode DMCreate_Network(DM);
20: PETSC_EXTERN PetscErrorCode DMCreate_Forest(DM);
21: #if defined(PETSC_HAVE_P4EST)
22: PETSC_EXTERN PetscErrorCode DMCreate_p4est(DM);
23: PETSC_EXTERN PetscErrorCode DMCreate_p8est(DM);
24: #endif
25: PETSC_EXTERN PetscErrorCode DMCreate_Product(DM);
26: PETSC_EXTERN PetscErrorCode DMCreate_Stag(DM);
28: /*@C
29: DMRegisterAll - Registers all of the DM components in the DM package.
31: Not Collective
33: Level: advanced
35: .seealso: `DMRegister()`, `DMRegisterDestroy()`
36: @*/
37: PetscErrorCode DMRegisterAll(void)
38: {
39: PetscFunctionBegin;
40: if (DMRegisterAllCalled) PetscFunctionReturn(PETSC_SUCCESS);
41: DMRegisterAllCalled = PETSC_TRUE;
43: PetscCall(DMRegister(DMDA, DMCreate_DA));
44: PetscCall(DMRegister(DMCOMPOSITE, DMCreate_Composite));
45: PetscCall(DMRegister(DMSLICED, DMCreate_Sliced));
46: PetscCall(DMRegister(DMSHELL, DMCreate_Shell));
47: PetscCall(DMRegister(DMREDUNDANT, DMCreate_Redundant));
48: PetscCall(DMRegister(DMPLEX, DMCreate_Plex));
49: PetscCall(DMRegister(DMPATCH, DMCreate_Patch));
50: PetscCall(DMRegister(DMSWARM, DMCreate_Swarm));
51: #if defined(PETSC_HAVE_MOAB)
52: PetscCall(DMRegister(DMMOAB, DMCreate_Moab));
53: #endif
54: PetscCall(DMRegister(DMNETWORK, DMCreate_Network));
55: PetscCall(DMRegister(DMFOREST, DMCreate_Forest));
56: #if defined(PETSC_HAVE_P4EST)
57: PetscCall(DMRegister(DMP4EST, DMCreate_p4est));
58: PetscCall(DMRegister(DMP8EST, DMCreate_p8est));
59: #endif
60: PetscCall(DMRegister(DMPRODUCT, DMCreate_Product));
61: PetscCall(DMRegister(DMSTAG, DMCreate_Stag));
62: PetscFunctionReturn(PETSC_SUCCESS);
63: }
65: #include <petscfe.h>
67: PETSC_EXTERN PetscErrorCode PetscSpaceCreate_Polynomial(PetscSpace);
68: PETSC_EXTERN PetscErrorCode PetscSpaceCreate_Ptrimmed(PetscSpace);
69: PETSC_EXTERN PetscErrorCode PetscSpaceCreate_Tensor(PetscSpace);
70: PETSC_EXTERN PetscErrorCode PetscSpaceCreate_Sum(PetscSpace);
71: PETSC_EXTERN PetscErrorCode PetscSpaceCreate_Point(PetscSpace);
72: PETSC_EXTERN PetscErrorCode PetscSpaceCreate_Subspace(PetscSpace);
73: PETSC_EXTERN PetscErrorCode PetscSpaceCreate_WXY(PetscSpace);
75: /*@C
76: PetscSpaceRegisterAll - Registers all of the PetscSpace components in the PetscFE package.
78: Not Collective
80: Level: advanced
82: .seealso: `PetscSpaceRegister()`, `PetscSpaceRegisterDestroy()`
83: @*/
84: PetscErrorCode PetscSpaceRegisterAll(void)
85: {
86: PetscFunctionBegin;
87: if (PetscSpaceRegisterAllCalled) PetscFunctionReturn(PETSC_SUCCESS);
88: PetscSpaceRegisterAllCalled = PETSC_TRUE;
90: PetscCall(PetscSpaceRegister(PETSCSPACEPOLYNOMIAL, PetscSpaceCreate_Polynomial));
91: PetscCall(PetscSpaceRegister(PETSCSPACEPTRIMMED, PetscSpaceCreate_Ptrimmed));
92: PetscCall(PetscSpaceRegister(PETSCSPACETENSOR, PetscSpaceCreate_Tensor));
93: PetscCall(PetscSpaceRegister(PETSCSPACESUM, PetscSpaceCreate_Sum));
94: PetscCall(PetscSpaceRegister(PETSCSPACEPOINT, PetscSpaceCreate_Point));
95: PetscCall(PetscSpaceRegister(PETSCSPACESUBSPACE, PetscSpaceCreate_Subspace));
96: PetscCall(PetscSpaceRegister(PETSCSPACEWXY, PetscSpaceCreate_WXY));
97: PetscFunctionReturn(PETSC_SUCCESS);
98: }
100: PETSC_EXTERN PetscErrorCode PetscDualSpaceCreate_Lagrange(PetscDualSpace);
101: PETSC_EXTERN PetscErrorCode PetscDualSpaceCreate_Lagrange_BDM(PetscDualSpace);
102: PETSC_EXTERN PetscErrorCode PetscDualSpaceCreate_Simple(PetscDualSpace);
103: PETSC_EXTERN PetscErrorCode PetscDualSpaceCreate_Refined(PetscDualSpace);
104: PETSC_EXTERN PetscErrorCode PetscDualSpaceCreate_Sum(PetscDualSpace);
106: /*@C
107: PetscDualSpaceRegisterAll - Registers all of the PetscDualSpace components in the PetscFE package.
109: Not Collective
111: Level: advanced
113: .seealso: `PetscDualSpaceRegister()`, `PetscDualSpaceRegisterDestroy()`
114: @*/
115: PetscErrorCode PetscDualSpaceRegisterAll(void)
116: {
117: PetscFunctionBegin;
118: if (PetscDualSpaceRegisterAllCalled) PetscFunctionReturn(PETSC_SUCCESS);
119: PetscDualSpaceRegisterAllCalled = PETSC_TRUE;
121: PetscCall(PetscDualSpaceRegister(PETSCDUALSPACELAGRANGE, PetscDualSpaceCreate_Lagrange));
122: PetscCall(PetscDualSpaceRegister(PETSCDUALSPACEBDM, PetscDualSpaceCreate_Lagrange));
123: PetscCall(PetscDualSpaceRegister(PETSCDUALSPACESIMPLE, PetscDualSpaceCreate_Simple));
124: PetscCall(PetscDualSpaceRegister(PETSCDUALSPACEREFINED, PetscDualSpaceCreate_Refined));
125: PetscCall(PetscDualSpaceRegister(PETSCDUALSPACESUM, PetscDualSpaceCreate_Sum));
126: PetscFunctionReturn(PETSC_SUCCESS);
127: }
129: PETSC_EXTERN PetscErrorCode PetscFECreate_Basic(PetscFE);
130: PETSC_EXTERN PetscErrorCode PetscFECreate_Nonaffine(PetscFE);
131: PETSC_EXTERN PetscErrorCode PetscFECreate_Composite(PetscFE);
132: #if defined(PETSC_HAVE_OPENCL)
133: PETSC_EXTERN PetscErrorCode PetscFECreate_OpenCL(PetscFE);
134: #endif
135: PETSC_EXTERN PetscErrorCode PetscFECreate_Vector(PetscFE);
137: /*@C
138: PetscFERegisterAll - Registers all of the PetscFE components in the `PetscFE` package.
140: Not Collective
142: Level: advanced
144: .seealso: `PetscFERegister()`, `PetscFERegisterDestroy()`
145: @*/
146: PetscErrorCode PetscFERegisterAll(void)
147: {
148: PetscFunctionBegin;
149: if (PetscFERegisterAllCalled) PetscFunctionReturn(PETSC_SUCCESS);
150: PetscFERegisterAllCalled = PETSC_TRUE;
152: PetscCall(PetscFERegister(PETSCFEBASIC, PetscFECreate_Basic));
153: PetscCall(PetscFERegister(PETSCFECOMPOSITE, PetscFECreate_Composite));
154: #if defined(PETSC_HAVE_OPENCL)
155: PetscCall(PetscFERegister(PETSCFEOPENCL, PetscFECreate_OpenCL));
156: #endif
157: PetscCall(PetscFERegister(PETSCFEVECTOR, PetscFECreate_Vector));
158: PetscFunctionReturn(PETSC_SUCCESS);
159: }
160: #include <petscfv.h>
162: PETSC_EXTERN PetscErrorCode PetscLimiterCreate_Sin(PetscLimiter);
163: PETSC_EXTERN PetscErrorCode PetscLimiterCreate_Zero(PetscLimiter);
164: PETSC_EXTERN PetscErrorCode PetscLimiterCreate_None(PetscLimiter);
165: PETSC_EXTERN PetscErrorCode PetscLimiterCreate_Minmod(PetscLimiter);
166: PETSC_EXTERN PetscErrorCode PetscLimiterCreate_VanLeer(PetscLimiter);
167: PETSC_EXTERN PetscErrorCode PetscLimiterCreate_VanAlbada(PetscLimiter);
168: PETSC_EXTERN PetscErrorCode PetscLimiterCreate_Superbee(PetscLimiter);
169: PETSC_EXTERN PetscErrorCode PetscLimiterCreate_MC(PetscLimiter);
171: /*@C
172: PetscLimiterRegisterAll - Registers all of the `PetscLimiter` components in the `PetscFV` package.
174: Not Collective
176: Level: advanced
178: .seealso: `PetscLimiterRegister()`, `PetscLimiterRegisterDestroy()`
179: @*/
180: PetscErrorCode PetscLimiterRegisterAll(void)
181: {
182: PetscFunctionBegin;
183: if (PetscLimiterRegisterAllCalled) PetscFunctionReturn(PETSC_SUCCESS);
184: PetscLimiterRegisterAllCalled = PETSC_TRUE;
186: PetscCall(PetscLimiterRegister(PETSCLIMITERSIN, PetscLimiterCreate_Sin));
187: PetscCall(PetscLimiterRegister(PETSCLIMITERZERO, PetscLimiterCreate_Zero));
188: PetscCall(PetscLimiterRegister(PETSCLIMITERNONE, PetscLimiterCreate_None));
189: PetscCall(PetscLimiterRegister(PETSCLIMITERMINMOD, PetscLimiterCreate_Minmod));
190: PetscCall(PetscLimiterRegister(PETSCLIMITERVANLEER, PetscLimiterCreate_VanLeer));
191: PetscCall(PetscLimiterRegister(PETSCLIMITERVANALBADA, PetscLimiterCreate_VanAlbada));
192: PetscCall(PetscLimiterRegister(PETSCLIMITERSUPERBEE, PetscLimiterCreate_Superbee));
193: PetscCall(PetscLimiterRegister(PETSCLIMITERMC, PetscLimiterCreate_MC));
194: PetscFunctionReturn(PETSC_SUCCESS);
195: }
197: PETSC_EXTERN PetscErrorCode PetscFVCreate_Upwind(PetscFV);
198: PETSC_EXTERN PetscErrorCode PetscFVCreate_LeastSquares(PetscFV);
200: /*@C
201: PetscFVRegisterAll - Registers all of the `PetscFV` components in the `PetscFV` package.
203: Not Collective
205: Level: advanced
207: .seealso: `PetscFVRegister()`, `PetscFVRegisterDestroy()`
208: @*/
209: PetscErrorCode PetscFVRegisterAll(void)
210: {
211: PetscFunctionBegin;
212: if (PetscFVRegisterAllCalled) PetscFunctionReturn(PETSC_SUCCESS);
213: PetscFVRegisterAllCalled = PETSC_TRUE;
215: PetscCall(PetscFVRegister(PETSCFVUPWIND, PetscFVCreate_Upwind));
216: PetscCall(PetscFVRegister(PETSCFVLEASTSQUARES, PetscFVCreate_LeastSquares));
217: PetscFunctionReturn(PETSC_SUCCESS);
218: }
219: #include <petscds.h>
221: PETSC_EXTERN PetscErrorCode PetscDSCreate_Basic(PetscDS);
223: /*@C
224: PetscDSRegisterAll - Registers all of the `PetscDS` components in the `PetscDS` package.
226: Not Collective
228: Level: advanced
230: .seealso: `PetscDSRegister()`, `PetscDSRegisterDestroy()`
231: @*/
232: PetscErrorCode PetscDSRegisterAll(void)
233: {
234: PetscFunctionBegin;
235: if (PetscDSRegisterAllCalled) PetscFunctionReturn(PETSC_SUCCESS);
236: PetscDSRegisterAllCalled = PETSC_TRUE;
238: PetscCall(PetscDSRegister(PETSCDSBASIC, PetscDSCreate_Basic));
239: PetscFunctionReturn(PETSC_SUCCESS);
240: }