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:   if (DMRegisterAllCalled) return 0;
 44:   DMRegisterAllCalled = PETSC_TRUE;

 46:   DMRegister(DMDA,       DMCreate_DA);
 47:   DMRegister(DMCOMPOSITE,DMCreate_Composite);
 48:   DMRegister(DMSLICED,   DMCreate_Sliced);
 49:   DMRegister(DMSHELL,    DMCreate_Shell);
 50:   DMRegister(DMREDUNDANT,DMCreate_Redundant);
 51:   DMRegister(DMPLEX,     DMCreate_Plex);
 52:   DMRegister(DMPATCH,    DMCreate_Patch);
 53:   DMRegister(DMSWARM,    DMCreate_Swarm);
 54: #if defined(PETSC_HAVE_MOAB)
 55:   DMRegister(DMMOAB,     DMCreate_Moab);
 56: #endif
 57:   DMRegister(DMNETWORK,  DMCreate_Network);
 58:   DMRegister(DMFOREST,   DMCreate_Forest);
 59: #if defined(PETSC_HAVE_P4EST)
 60:   DMRegister(DMP4EST,    DMCreate_p4est);
 61:   DMRegister(DMP8EST,    DMCreate_p8est);
 62: #endif
 63:   DMRegister(DMPRODUCT,  DMCreate_Product);
 64:   DMRegister(DMSTAG,     DMCreate_Stag);
 65:   return 0;
 66: }

 68: #include <petscfe.h>

 70: PETSC_EXTERN PetscErrorCode PetscSpaceCreate_Polynomial(PetscSpace);
 71: PETSC_EXTERN PetscErrorCode PetscSpaceCreate_Ptrimmed(PetscSpace);
 72: PETSC_EXTERN PetscErrorCode PetscSpaceCreate_Tensor(PetscSpace);
 73: PETSC_EXTERN PetscErrorCode PetscSpaceCreate_Sum(PetscSpace);
 74: PETSC_EXTERN PetscErrorCode PetscSpaceCreate_Point(PetscSpace);
 75: PETSC_EXTERN PetscErrorCode PetscSpaceCreate_Subspace(PetscSpace);
 76: PETSC_EXTERN PetscErrorCode PetscSpaceCreate_WXY(PetscSpace);

 78: /*@C
 79:   PetscSpaceRegisterAll - Registers all of the PetscSpace components in the PetscFE package.

 81:   Not Collective

 83:   Input parameter:
 84: . path - The dynamic library path

 86:   Level: advanced

 88: .seealso:  PetscSpaceRegister(), PetscSpaceRegisterDestroy()
 89: @*/
 90: PetscErrorCode PetscSpaceRegisterAll(void)
 91: {
 92:   if (PetscSpaceRegisterAllCalled) return 0;
 93:   PetscSpaceRegisterAllCalled = PETSC_TRUE;

 95:   PetscSpaceRegister(PETSCSPACEPOLYNOMIAL, PetscSpaceCreate_Polynomial);
 96:   PetscSpaceRegister(PETSCSPACEPTRIMMED,   PetscSpaceCreate_Ptrimmed);
 97:   PetscSpaceRegister(PETSCSPACETENSOR,     PetscSpaceCreate_Tensor);
 98:   PetscSpaceRegister(PETSCSPACESUM,        PetscSpaceCreate_Sum);
 99:   PetscSpaceRegister(PETSCSPACEPOINT,      PetscSpaceCreate_Point);
100:   PetscSpaceRegister(PETSCSPACESUBSPACE,   PetscSpaceCreate_Subspace);
101:   PetscSpaceRegister(PETSCSPACEWXY,        PetscSpaceCreate_WXY);
102:   return 0;
103: }

105: PETSC_EXTERN PetscErrorCode PetscDualSpaceCreate_Lagrange(PetscDualSpace);
106: PETSC_EXTERN PetscErrorCode PetscDualSpaceCreate_Lagrange_BDM(PetscDualSpace);
107: PETSC_EXTERN PetscErrorCode PetscDualSpaceCreate_Simple(PetscDualSpace);
108: PETSC_EXTERN PetscErrorCode PetscDualSpaceCreate_Refined(PetscDualSpace);

110: /*@C
111:   PetscDualSpaceRegisterAll - Registers all of the PetscDualSpace components in the PetscFE package.

113:   Not Collective

115:   Input parameter:
116: . path - The dynamic library path

118:   Level: advanced

120: .seealso:  PetscDualSpaceRegister(), PetscDualSpaceRegisterDestroy()
121: @*/
122: PetscErrorCode PetscDualSpaceRegisterAll(void)
123: {
124:   if (PetscDualSpaceRegisterAllCalled) return 0;
125:   PetscDualSpaceRegisterAllCalled = PETSC_TRUE;

127:   PetscDualSpaceRegister(PETSCDUALSPACELAGRANGE, PetscDualSpaceCreate_Lagrange);
128:   PetscDualSpaceRegister(PETSCDUALSPACEBDM,      PetscDualSpaceCreate_Lagrange);
129:   PetscDualSpaceRegister(PETSCDUALSPACESIMPLE,   PetscDualSpaceCreate_Simple);
130:   PetscDualSpaceRegister(PETSCDUALSPACEREFINED,  PetscDualSpaceCreate_Refined);
131:   return 0;
132: }

134: PETSC_EXTERN PetscErrorCode PetscFECreate_Basic(PetscFE);
135: PETSC_EXTERN PetscErrorCode PetscFECreate_Nonaffine(PetscFE);
136: PETSC_EXTERN PetscErrorCode PetscFECreate_Composite(PetscFE);
137: #if defined(PETSC_HAVE_OPENCL)
138: PETSC_EXTERN PetscErrorCode PetscFECreate_OpenCL(PetscFE);
139: #endif

141: /*@C
142:   PetscFERegisterAll - Registers all of the PetscFE components in the PetscFE package.

144:   Not Collective

146:   Input parameter:
147: . path - The dynamic library path

149:   Level: advanced

151: .seealso:  PetscFERegister(), PetscFERegisterDestroy()
152: @*/
153: PetscErrorCode PetscFERegisterAll(void)
154: {
155:   if (PetscFERegisterAllCalled) return 0;
156:   PetscFERegisterAllCalled = PETSC_TRUE;

158:   PetscFERegister(PETSCFEBASIC,     PetscFECreate_Basic);
159:   PetscFERegister(PETSCFECOMPOSITE, PetscFECreate_Composite);
160: #if defined(PETSC_HAVE_OPENCL)
161:   PetscFERegister(PETSCFEOPENCL, PetscFECreate_OpenCL);
162: #endif
163:   return 0;
164: }
165: #include <petscfv.h>

167: PETSC_EXTERN PetscErrorCode PetscLimiterCreate_Sin(PetscLimiter);
168: PETSC_EXTERN PetscErrorCode PetscLimiterCreate_Zero(PetscLimiter);
169: PETSC_EXTERN PetscErrorCode PetscLimiterCreate_None(PetscLimiter);
170: PETSC_EXTERN PetscErrorCode PetscLimiterCreate_Minmod(PetscLimiter);
171: PETSC_EXTERN PetscErrorCode PetscLimiterCreate_VanLeer(PetscLimiter);
172: PETSC_EXTERN PetscErrorCode PetscLimiterCreate_VanAlbada(PetscLimiter);
173: PETSC_EXTERN PetscErrorCode PetscLimiterCreate_Superbee(PetscLimiter);
174: PETSC_EXTERN PetscErrorCode PetscLimiterCreate_MC(PetscLimiter);

176: /*@C
177:   PetscLimiterRegisterAll - Registers all of the PetscLimiter components in the PetscFV package.

179:   Not Collective

181:   Input parameter:
182: . path - The dynamic library path

184:   Level: advanced

186: .seealso:  PetscLimiterRegister(), PetscLimiterRegisterDestroy()
187: @*/
188: PetscErrorCode PetscLimiterRegisterAll(void)
189: {
190:   if (PetscLimiterRegisterAllCalled) return 0;
191:   PetscLimiterRegisterAllCalled = PETSC_TRUE;

193:   PetscLimiterRegister(PETSCLIMITERSIN,       PetscLimiterCreate_Sin);
194:   PetscLimiterRegister(PETSCLIMITERZERO,      PetscLimiterCreate_Zero);
195:   PetscLimiterRegister(PETSCLIMITERNONE,      PetscLimiterCreate_None);
196:   PetscLimiterRegister(PETSCLIMITERMINMOD,    PetscLimiterCreate_Minmod);
197:   PetscLimiterRegister(PETSCLIMITERVANLEER,   PetscLimiterCreate_VanLeer);
198:   PetscLimiterRegister(PETSCLIMITERVANALBADA, PetscLimiterCreate_VanAlbada);
199:   PetscLimiterRegister(PETSCLIMITERSUPERBEE,  PetscLimiterCreate_Superbee);
200:   PetscLimiterRegister(PETSCLIMITERMC,        PetscLimiterCreate_MC);
201:   return 0;
202: }

204: PETSC_EXTERN PetscErrorCode PetscFVCreate_Upwind(PetscFV);
205: PETSC_EXTERN PetscErrorCode PetscFVCreate_LeastSquares(PetscFV);

207: /*@C
208:   PetscFVRegisterAll - Registers all of the PetscFV components in the PetscFV package.

210:   Not Collective

212:   Input parameter:
213: . path - The dynamic library path

215:   Level: advanced

217: .seealso:  PetscFVRegister(), PetscFVRegisterDestroy()
218: @*/
219: PetscErrorCode PetscFVRegisterAll(void)
220: {
221:   if (PetscFVRegisterAllCalled) return 0;
222:   PetscFVRegisterAllCalled = PETSC_TRUE;

224:   PetscFVRegister(PETSCFVUPWIND,       PetscFVCreate_Upwind);
225:   PetscFVRegister(PETSCFVLEASTSQUARES, PetscFVCreate_LeastSquares);
226:   return 0;
227: }
228: #include <petscds.h>

230: PETSC_EXTERN PetscErrorCode PetscDSCreate_Basic(PetscDS);

232: /*@C
233:   PetscDSRegisterAll - Registers all of the PetscDS components in the PetscDS package.

235:   Not Collective

237:   Input parameter:
238: . path - The dynamic library path

240:   Level: advanced

242: .seealso:  PetscDSRegister(), PetscDSRegisterDestroy()
243: @*/
244: PetscErrorCode PetscDSRegisterAll(void)
245: {
246:   if (PetscDSRegisterAllCalled) return 0;
247:   PetscDSRegisterAllCalled = PETSC_TRUE;

249:   PetscDSRegister(PETSCDSBASIC, PetscDSCreate_Basic);
250:   return 0;
251: }