Actual source code: dmregall.c

petsc-3.13.6 2020-09-29
Report Typos and Errors

  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: {

 46:   if (DMRegisterAllCalled) return(0);
 47:   DMRegisterAllCalled = PETSC_TRUE;

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

 69:   PetscPartitionerRegisterAll();
 70:   return(0);
 71: }

 73: PETSC_EXTERN PetscErrorCode PetscPartitionerCreate_Chaco(PetscPartitioner);
 74: PETSC_EXTERN PetscErrorCode PetscPartitionerCreate_ParMetis(PetscPartitioner);
 75: PETSC_EXTERN PetscErrorCode PetscPartitionerCreate_PTScotch(PetscPartitioner);
 76: PETSC_EXTERN PetscErrorCode PetscPartitionerCreate_Shell(PetscPartitioner);
 77: PETSC_EXTERN PetscErrorCode PetscPartitionerCreate_Simple(PetscPartitioner);
 78: PETSC_EXTERN PetscErrorCode PetscPartitionerCreate_Gather(PetscPartitioner);
 79: PETSC_EXTERN PetscErrorCode PetscPartitionerCreate_MatPartitioning(PetscPartitioner);

 81: /*@C
 82:   PetscPartitionerRegisterAll - Registers all of the PetscPartitioner components in the DM package.

 84:   Not Collective

 86:   Input parameter:
 87: . path - The dynamic library path

 89:   Level: advanced

 91: .seealso:  PetscPartitionerRegister(), PetscPartitionerRegisterDestroy()
 92: @*/
 93: PetscErrorCode PetscPartitionerRegisterAll(void)
 94: {

 98:   if (PetscPartitionerRegisterAllCalled) return(0);
 99:   PetscPartitionerRegisterAllCalled = PETSC_TRUE;

101:   PetscPartitionerRegister(PETSCPARTITIONERCHACO,    PetscPartitionerCreate_Chaco);
102:   PetscPartitionerRegister(PETSCPARTITIONERPARMETIS, PetscPartitionerCreate_ParMetis);
103:   PetscPartitionerRegister(PETSCPARTITIONERPTSCOTCH, PetscPartitionerCreate_PTScotch);
104:   PetscPartitionerRegister(PETSCPARTITIONERSHELL,    PetscPartitionerCreate_Shell);
105:   PetscPartitionerRegister(PETSCPARTITIONERSIMPLE,   PetscPartitionerCreate_Simple);
106:   PetscPartitionerRegister(PETSCPARTITIONERGATHER,   PetscPartitionerCreate_Gather);
107:   PetscPartitionerRegister(PETSCPARTITIONERMATPARTITIONING, PetscPartitionerCreate_MatPartitioning);
108:   return(0);
109: }
110:  #include <petscfe.h>

112: PETSC_EXTERN PetscErrorCode PetscSpaceCreate_Polynomial(PetscSpace);
113: PETSC_EXTERN PetscErrorCode PetscSpaceCreate_Tensor(PetscSpace);
114: PETSC_EXTERN PetscErrorCode PetscSpaceCreate_Point(PetscSpace);
115: PETSC_EXTERN PetscErrorCode PetscSpaceCreate_Subspace(PetscSpace);

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

120:   Not Collective

122:   Input parameter:
123: . path - The dynamic library path

125:   Level: advanced

127: .seealso:  PetscSpaceRegister(), PetscSpaceRegisterDestroy()
128: @*/
129: PetscErrorCode PetscSpaceRegisterAll(void)
130: {

134:   if (PetscSpaceRegisterAllCalled) return(0);
135:   PetscSpaceRegisterAllCalled = PETSC_TRUE;

137:   PetscSpaceRegister(PETSCSPACEPOLYNOMIAL, PetscSpaceCreate_Polynomial);
138:   PetscSpaceRegister(PETSCSPACETENSOR,     PetscSpaceCreate_Tensor);
139:   PetscSpaceRegister(PETSCSPACEPOINT,      PetscSpaceCreate_Point);
140:   PetscSpaceRegister(PETSCSPACESUBSPACE,   PetscSpaceCreate_Subspace);
141:   return(0);
142: }

144: PETSC_EXTERN PetscErrorCode PetscDualSpaceCreate_Lagrange(PetscDualSpace);
145: PETSC_EXTERN PetscErrorCode PetscDualSpaceCreate_Lagrange_BDM(PetscDualSpace);
146: PETSC_EXTERN PetscErrorCode PetscDualSpaceCreate_Simple(PetscDualSpace);
147: PETSC_EXTERN PetscErrorCode PetscDualSpaceCreate_Refined(PetscDualSpace);

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

152:   Not Collective

154:   Input parameter:
155: . path - The dynamic library path

157:   Level: advanced

159: .seealso:  PetscDualSpaceRegister(), PetscDualSpaceRegisterDestroy()
160: @*/
161: PetscErrorCode PetscDualSpaceRegisterAll(void)
162: {

166:   if (PetscDualSpaceRegisterAllCalled) return(0);
167:   PetscDualSpaceRegisterAllCalled = PETSC_TRUE;

169:   PetscDualSpaceRegister(PETSCDUALSPACELAGRANGE, PetscDualSpaceCreate_Lagrange);
170:   PetscDualSpaceRegister("bdm",                  PetscDualSpaceCreate_Lagrange);
171:   PetscDualSpaceRegister(PETSCDUALSPACESIMPLE,   PetscDualSpaceCreate_Simple);
172:   PetscDualSpaceRegister(PETSCDUALSPACEREFINED,  PetscDualSpaceCreate_Refined);
173:   return(0);
174: }

176: PETSC_EXTERN PetscErrorCode PetscFECreate_Basic(PetscFE);
177: PETSC_EXTERN PetscErrorCode PetscFECreate_Nonaffine(PetscFE);
178: PETSC_EXTERN PetscErrorCode PetscFECreate_Composite(PetscFE);
179: #if defined(PETSC_HAVE_OPENCL)
180: PETSC_EXTERN PetscErrorCode PetscFECreate_OpenCL(PetscFE);
181: #endif

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

186:   Not Collective

188:   Input parameter:
189: . path - The dynamic library path

191:   Level: advanced

193: .seealso:  PetscFERegister(), PetscFERegisterDestroy()
194: @*/
195: PetscErrorCode PetscFERegisterAll(void)
196: {

200:   if (PetscFERegisterAllCalled) return(0);
201:   PetscFERegisterAllCalled = PETSC_TRUE;

203:   PetscFERegister(PETSCFEBASIC,     PetscFECreate_Basic);
204:   PetscFERegister(PETSCFECOMPOSITE, PetscFECreate_Composite);
205: #if defined(PETSC_HAVE_OPENCL)
206:   PetscFERegister(PETSCFEOPENCL, PetscFECreate_OpenCL);
207: #endif
208:   return(0);
209: }
210:  #include <petscfv.h>

212: PETSC_EXTERN PetscErrorCode PetscLimiterCreate_Sin(PetscLimiter);
213: PETSC_EXTERN PetscErrorCode PetscLimiterCreate_Zero(PetscLimiter);
214: PETSC_EXTERN PetscErrorCode PetscLimiterCreate_None(PetscLimiter);
215: PETSC_EXTERN PetscErrorCode PetscLimiterCreate_Minmod(PetscLimiter);
216: PETSC_EXTERN PetscErrorCode PetscLimiterCreate_VanLeer(PetscLimiter);
217: PETSC_EXTERN PetscErrorCode PetscLimiterCreate_VanAlbada(PetscLimiter);
218: PETSC_EXTERN PetscErrorCode PetscLimiterCreate_Superbee(PetscLimiter);
219: PETSC_EXTERN PetscErrorCode PetscLimiterCreate_MC(PetscLimiter);

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

224:   Not Collective

226:   Input parameter:
227: . path - The dynamic library path

229:   Level: advanced

231: .seealso:  PetscLimiterRegister(), PetscLimiterRegisterDestroy()
232: @*/
233: PetscErrorCode PetscLimiterRegisterAll(void)
234: {

238:   if (PetscLimiterRegisterAllCalled) return(0);
239:   PetscLimiterRegisterAllCalled = PETSC_TRUE;

241:   PetscLimiterRegister(PETSCLIMITERSIN,       PetscLimiterCreate_Sin);
242:   PetscLimiterRegister(PETSCLIMITERZERO,      PetscLimiterCreate_Zero);
243:   PetscLimiterRegister(PETSCLIMITERNONE,      PetscLimiterCreate_None);
244:   PetscLimiterRegister(PETSCLIMITERMINMOD,    PetscLimiterCreate_Minmod);
245:   PetscLimiterRegister(PETSCLIMITERVANLEER,   PetscLimiterCreate_VanLeer);
246:   PetscLimiterRegister(PETSCLIMITERVANALBADA, PetscLimiterCreate_VanAlbada);
247:   PetscLimiterRegister(PETSCLIMITERSUPERBEE,  PetscLimiterCreate_Superbee);
248:   PetscLimiterRegister(PETSCLIMITERMC,        PetscLimiterCreate_MC);
249:   return(0);
250: }

252: PETSC_EXTERN PetscErrorCode PetscFVCreate_Upwind(PetscFV);
253: PETSC_EXTERN PetscErrorCode PetscFVCreate_LeastSquares(PetscFV);

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

258:   Not Collective

260:   Input parameter:
261: . path - The dynamic library path

263:   Level: advanced

265: .seealso:  PetscFVRegister(), PetscFVRegisterDestroy()
266: @*/
267: PetscErrorCode PetscFVRegisterAll(void)
268: {

272:   if (PetscFVRegisterAllCalled) return(0);
273:   PetscFVRegisterAllCalled = PETSC_TRUE;

275:   PetscFVRegister(PETSCFVUPWIND,       PetscFVCreate_Upwind);
276:   PetscFVRegister(PETSCFVLEASTSQUARES, PetscFVCreate_LeastSquares);
277:   return(0);
278: }
279:  #include <petscds.h>

281: PETSC_EXTERN PetscErrorCode PetscDSCreate_Basic(PetscDS);

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

286:   Not Collective

288:   Input parameter:
289: . path - The dynamic library path

291:   Level: advanced

293: .seealso:  PetscDSRegister(), PetscDSRegisterDestroy()
294: @*/
295: PetscErrorCode PetscDSRegisterAll(void)
296: {

300:   if (PetscDSRegisterAllCalled) return(0);
301:   PetscDSRegisterAllCalled = PETSC_TRUE;

303:   PetscDSRegister(PETSCDSBASIC, PetscDSCreate_Basic);
304:   return(0);
305: }