xref: /petsc/src/dm/interface/dmregall.c (revision af0996ce37bc06907c37d8d91773840993d61e62)
1264ace61SBarry Smith 
23c48a1e8SJed Brown #include <petscdm.h>     /*I  "petscdm.h"  I*/
377623264SMatthew G. Knepley #include <petscdmplex.h> /*I  "petscdmplex.h"  I*/
4*af0996ceSBarry Smith #include <petsc/private/dmimpl.h>
5*af0996ceSBarry Smith #include <petsc/private/dmpleximpl.h>
6*af0996ceSBarry Smith #include <petsc/private/petscfeimpl.h>
7*af0996ceSBarry Smith #include <petsc/private/petscfvimpl.h>
8*af0996ceSBarry Smith #include <petsc/private/petscdsimpl.h>
98cc058d9SJed Brown PETSC_EXTERN PetscErrorCode DMCreate_DA(DM);
108cc058d9SJed Brown PETSC_EXTERN PetscErrorCode DMCreate_Composite(DM);
118cc058d9SJed Brown PETSC_EXTERN PetscErrorCode DMCreate_Sliced(DM);
128cc058d9SJed Brown PETSC_EXTERN PetscErrorCode DMCreate_Shell(DM);
138cc058d9SJed Brown PETSC_EXTERN PetscErrorCode DMCreate_Redundant(DM);
148cc058d9SJed Brown PETSC_EXTERN PetscErrorCode DMCreate_Plex(DM);
158cc058d9SJed Brown PETSC_EXTERN PetscErrorCode DMCreate_Patch(DM);
16edf5aa1bSVijay Mahadevan #if defined(PETSC_HAVE_MOAB)
171d72bce8STim Tautges PETSC_EXTERN PetscErrorCode DMCreate_Moab(DM);
18edf5aa1bSVijay Mahadevan #endif
19406e3badSSatish Balay PETSC_EXTERN PetscErrorCode DMCreate_Network(DM);
20264ace61SBarry Smith 
21264ace61SBarry Smith #undef __FUNCT__
22264ace61SBarry Smith #define __FUNCT__ "DMRegisterAll"
23264ace61SBarry Smith /*@C
24264ace61SBarry Smith   DMRegisterAll - Registers all of the DM components in the DM package.
25264ace61SBarry Smith 
26264ace61SBarry Smith   Not Collective
27264ace61SBarry Smith 
28264ace61SBarry Smith   Input parameter:
29264ace61SBarry Smith . path - The dynamic library path
30264ace61SBarry Smith 
31264ace61SBarry Smith   Level: advanced
32264ace61SBarry Smith 
33264ace61SBarry Smith .keywords: DM, register, all
34607a6623SBarry Smith .seealso:  DMRegister(), DMRegisterDestroy()
35264ace61SBarry Smith @*/
36607a6623SBarry Smith PetscErrorCode  DMRegisterAll()
37264ace61SBarry Smith {
38264ace61SBarry Smith   PetscErrorCode ierr;
39264ace61SBarry Smith 
40264ace61SBarry Smith   PetscFunctionBegin;
410f51fdf8SToby Isaac   if (DMRegisterAllCalled) PetscFunctionReturn(0);
42264ace61SBarry Smith   DMRegisterAllCalled = PETSC_TRUE;
438865f1eaSKarl Rupp 
44bdf89e91SBarry Smith   ierr = DMRegister(DMDA,         DMCreate_DA);CHKERRQ(ierr);
45bdf89e91SBarry Smith   ierr = DMRegister(DMCOMPOSITE,  DMCreate_Composite);CHKERRQ(ierr);
46bdf89e91SBarry Smith   ierr = DMRegister(DMSLICED,     DMCreate_Sliced);CHKERRQ(ierr);
47bdf89e91SBarry Smith   ierr = DMRegister(DMSHELL,      DMCreate_Shell);CHKERRQ(ierr);
48bdf89e91SBarry Smith   ierr = DMRegister(DMREDUNDANT,  DMCreate_Redundant);CHKERRQ(ierr);
49bdf89e91SBarry Smith   ierr = DMRegister(DMPLEX,       DMCreate_Plex);CHKERRQ(ierr);
50bdf89e91SBarry Smith   ierr = DMRegister(DMPATCH,      DMCreate_Patch);CHKERRQ(ierr);
511d72bce8STim Tautges #if defined(PETSC_HAVE_MOAB)
528a1af44dSJed Brown   ierr = DMRegister(DMMOAB,       DMCreate_Moab);CHKERRQ(ierr);
531d72bce8STim Tautges #endif
54b2930b41SShri Abhyankar   ierr = DMRegister(DMNETWORK,    DMCreate_Network);CHKERRQ(ierr);
55264ace61SBarry Smith   PetscFunctionReturn(0);
56264ace61SBarry Smith }
5777623264SMatthew G. Knepley 
5877623264SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscPartitionerCreate_Chaco(PetscPartitioner);
5977623264SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscPartitionerCreate_ParMetis(PetscPartitioner);
6077623264SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscPartitionerCreate_Shell(PetscPartitioner);
61555a9cf8SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscPartitionerCreate_Simple(PetscPartitioner);
6277623264SMatthew G. Knepley 
6377623264SMatthew G. Knepley #undef __FUNCT__
6477623264SMatthew G. Knepley #define __FUNCT__ "PetscPartitionerRegisterAll"
6577623264SMatthew G. Knepley /*@C
6677623264SMatthew G. Knepley   PetscPartitionerRegisterAll - Registers all of the PetscPartitioner components in the DM package.
6777623264SMatthew G. Knepley 
6877623264SMatthew G. Knepley   Not Collective
6977623264SMatthew G. Knepley 
7077623264SMatthew G. Knepley   Input parameter:
7177623264SMatthew G. Knepley . path - The dynamic library path
7277623264SMatthew G. Knepley 
7377623264SMatthew G. Knepley   Level: advanced
7477623264SMatthew G. Knepley 
7577623264SMatthew G. Knepley .keywords: PetscPartitioner, register, all
7677623264SMatthew G. Knepley .seealso:  PetscPartitionerRegister(), PetscPartitionerRegisterDestroy()
7777623264SMatthew G. Knepley @*/
7877623264SMatthew G. Knepley PetscErrorCode PetscPartitionerRegisterAll()
7977623264SMatthew G. Knepley {
8077623264SMatthew G. Knepley   PetscErrorCode ierr;
8177623264SMatthew G. Knepley 
8277623264SMatthew G. Knepley   PetscFunctionBegin;
830f51fdf8SToby Isaac   if (PetscPartitionerRegisterAllCalled) PetscFunctionReturn(0);
8477623264SMatthew G. Knepley   PetscPartitionerRegisterAllCalled = PETSC_TRUE;
8577623264SMatthew G. Knepley 
8677623264SMatthew G. Knepley   ierr = PetscPartitionerRegister(PETSCPARTITIONERCHACO,    PetscPartitionerCreate_Chaco);CHKERRQ(ierr);
8777623264SMatthew G. Knepley   ierr = PetscPartitionerRegister(PETSCPARTITIONERPARMETIS, PetscPartitionerCreate_ParMetis);CHKERRQ(ierr);
8877623264SMatthew G. Knepley   ierr = PetscPartitionerRegister(PETSCPARTITIONERSHELL,    PetscPartitionerCreate_Shell);CHKERRQ(ierr);
89555a9cf8SMatthew G. Knepley   ierr = PetscPartitionerRegister(PETSCPARTITIONERSIMPLE,   PetscPartitionerCreate_Simple);CHKERRQ(ierr);
9077623264SMatthew G. Knepley   PetscFunctionReturn(0);
9177623264SMatthew G. Knepley }
9206759e06SMatthew G. Knepley #include <petscfe.h>     /*I  "petscfe.h"  I*/
93264ace61SBarry Smith 
9406759e06SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscSpaceCreate_Polynomial(PetscSpace);
952bdb15eaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscSpaceCreate_DG(PetscSpace);
9606759e06SMatthew G. Knepley 
9706759e06SMatthew G. Knepley #undef __FUNCT__
9806759e06SMatthew G. Knepley #define __FUNCT__ "PetscSpaceRegisterAll"
9906759e06SMatthew G. Knepley /*@C
10006759e06SMatthew G. Knepley   PetscSpaceRegisterAll - Registers all of the PetscSpace components in the PetscFE package.
10106759e06SMatthew G. Knepley 
10206759e06SMatthew G. Knepley   Not Collective
10306759e06SMatthew G. Knepley 
10406759e06SMatthew G. Knepley   Input parameter:
10506759e06SMatthew G. Knepley . path - The dynamic library path
10606759e06SMatthew G. Knepley 
10706759e06SMatthew G. Knepley   Level: advanced
10806759e06SMatthew G. Knepley 
10906759e06SMatthew G. Knepley .keywords: PetscSpace, register, all
11006759e06SMatthew G. Knepley .seealso:  PetscSpaceRegister(), PetscSpaceRegisterDestroy()
11106759e06SMatthew G. Knepley @*/
11206759e06SMatthew G. Knepley PetscErrorCode PetscSpaceRegisterAll()
11306759e06SMatthew G. Knepley {
11406759e06SMatthew G. Knepley   PetscErrorCode ierr;
11506759e06SMatthew G. Knepley 
11606759e06SMatthew G. Knepley   PetscFunctionBegin;
1170f51fdf8SToby Isaac   if (PetscSpaceRegisterAllCalled) PetscFunctionReturn(0);
11806759e06SMatthew G. Knepley   PetscSpaceRegisterAllCalled = PETSC_TRUE;
11906759e06SMatthew G. Knepley 
12006759e06SMatthew G. Knepley   ierr = PetscSpaceRegister(PETSCSPACEPOLYNOMIAL, PetscSpaceCreate_Polynomial);CHKERRQ(ierr);
1212bdb15eaSMatthew G. Knepley   ierr = PetscSpaceRegister(PETSCSPACEDG,         PetscSpaceCreate_DG);CHKERRQ(ierr);
12206759e06SMatthew G. Knepley   PetscFunctionReturn(0);
12306759e06SMatthew G. Knepley }
12406759e06SMatthew G. Knepley 
12506759e06SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDualSpaceCreate_Lagrange(PetscDualSpace);
126c2765ee2SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDualSpaceCreate_Simple(PetscDualSpace);
12706759e06SMatthew G. Knepley 
12806759e06SMatthew G. Knepley #undef __FUNCT__
12906759e06SMatthew G. Knepley #define __FUNCT__ "PetscDualSpaceRegisterAll"
13006759e06SMatthew G. Knepley /*@C
13106759e06SMatthew G. Knepley   PetscDualSpaceRegisterAll - Registers all of the PetscDualSpace components in the PetscFE package.
13206759e06SMatthew G. Knepley 
13306759e06SMatthew G. Knepley   Not Collective
13406759e06SMatthew G. Knepley 
13506759e06SMatthew G. Knepley   Input parameter:
13606759e06SMatthew G. Knepley . path - The dynamic library path
13706759e06SMatthew G. Knepley 
13806759e06SMatthew G. Knepley   Level: advanced
13906759e06SMatthew G. Knepley 
14006759e06SMatthew G. Knepley .keywords: PetscDualSpace, register, all
14106759e06SMatthew G. Knepley .seealso:  PetscDualSpaceRegister(), PetscDualSpaceRegisterDestroy()
14206759e06SMatthew G. Knepley @*/
14306759e06SMatthew G. Knepley PetscErrorCode PetscDualSpaceRegisterAll()
14406759e06SMatthew G. Knepley {
14506759e06SMatthew G. Knepley   PetscErrorCode ierr;
14606759e06SMatthew G. Knepley 
14706759e06SMatthew G. Knepley   PetscFunctionBegin;
1480f51fdf8SToby Isaac   if (PetscDualSpaceRegisterAllCalled) PetscFunctionReturn(0);
14906759e06SMatthew G. Knepley   PetscDualSpaceRegisterAllCalled = PETSC_TRUE;
15006759e06SMatthew G. Knepley 
15106759e06SMatthew G. Knepley   ierr = PetscDualSpaceRegister(PETSCDUALSPACELAGRANGE, PetscDualSpaceCreate_Lagrange);CHKERRQ(ierr);
152c2765ee2SMatthew G. Knepley   ierr = PetscDualSpaceRegister(PETSCDUALSPACESIMPLE,   PetscDualSpaceCreate_Simple);CHKERRQ(ierr);
15306759e06SMatthew G. Knepley   PetscFunctionReturn(0);
15406759e06SMatthew G. Knepley }
1550483ade4SMatthew G. Knepley 
1560483ade4SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscFECreate_Basic(PetscFE);
157aaf1837cSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscFECreate_Nonaffine(PetscFE);
158aaf1837cSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscFECreate_Composite(PetscFE);
159133ee763SMatthew G. Knepley #ifdef PETSC_HAVE_OPENCL
160133ee763SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscFECreate_OpenCL(PetscFE);
161133ee763SMatthew G. Knepley #endif
1620483ade4SMatthew G. Knepley 
1630483ade4SMatthew G. Knepley #undef __FUNCT__
1640483ade4SMatthew G. Knepley #define __FUNCT__ "PetscFERegisterAll"
1650483ade4SMatthew G. Knepley /*@C
1660483ade4SMatthew G. Knepley   PetscFERegisterAll - Registers all of the PetscFE components in the PetscFE package.
1670483ade4SMatthew G. Knepley 
1680483ade4SMatthew G. Knepley   Not Collective
1690483ade4SMatthew G. Knepley 
1700483ade4SMatthew G. Knepley   Input parameter:
1710483ade4SMatthew G. Knepley . path - The dynamic library path
1720483ade4SMatthew G. Knepley 
1730483ade4SMatthew G. Knepley   Level: advanced
1740483ade4SMatthew G. Knepley 
1750483ade4SMatthew G. Knepley .keywords: PetscFE, register, all
1760483ade4SMatthew G. Knepley .seealso:  PetscFERegister(), PetscFERegisterDestroy()
1770483ade4SMatthew G. Knepley @*/
1780483ade4SMatthew G. Knepley PetscErrorCode PetscFERegisterAll()
1790483ade4SMatthew G. Knepley {
1800483ade4SMatthew G. Knepley   PetscErrorCode ierr;
1810483ade4SMatthew G. Knepley 
1820483ade4SMatthew G. Knepley   PetscFunctionBegin;
1830f51fdf8SToby Isaac   if (PetscFERegisterAllCalled) PetscFunctionReturn(0);
1840483ade4SMatthew G. Knepley   PetscFERegisterAllCalled = PETSC_TRUE;
1850483ade4SMatthew G. Knepley 
1860483ade4SMatthew G. Knepley   ierr = PetscFERegister(PETSCFEBASIC,     PetscFECreate_Basic);CHKERRQ(ierr);
187aaf1837cSMatthew G. Knepley   ierr = PetscFERegister(PETSCFENONAFFINE, PetscFECreate_Nonaffine);CHKERRQ(ierr);
188aaf1837cSMatthew G. Knepley   ierr = PetscFERegister(PETSCFECOMPOSITE, PetscFECreate_Composite);CHKERRQ(ierr);
189133ee763SMatthew G. Knepley #ifdef PETSC_HAVE_OPENCL
190133ee763SMatthew G. Knepley   ierr = PetscFERegister(PETSCFEOPENCL, PetscFECreate_OpenCL);CHKERRQ(ierr);
191133ee763SMatthew G. Knepley #endif
1920483ade4SMatthew G. Knepley   PetscFunctionReturn(0);
1930483ade4SMatthew G. Knepley }
194f62f30faSMatthew G. Knepley #include <petscfv.h>     /*I  "petscfv.h"  I*/
195f62f30faSMatthew G. Knepley 
196ab2453f0SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscLimiterCreate_Sin(PetscLimiter);
1979347ee04SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscLimiterCreate_Zero(PetscLimiter);
1989347ee04SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscLimiterCreate_None(PetscLimiter);
1999347ee04SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscLimiterCreate_Minmod(PetscLimiter);
2009347ee04SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscLimiterCreate_VanLeer(PetscLimiter);
2019347ee04SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscLimiterCreate_VanAlbada(PetscLimiter);
2029347ee04SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscLimiterCreate_Superbee(PetscLimiter);
2039347ee04SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscLimiterCreate_MC(PetscLimiter);
204ab2453f0SMatthew G. Knepley 
205ab2453f0SMatthew G. Knepley #undef __FUNCT__
206ab2453f0SMatthew G. Knepley #define __FUNCT__ "PetscLimiterRegisterAll"
207ab2453f0SMatthew G. Knepley /*@C
208ab2453f0SMatthew G. Knepley   PetscLimiterRegisterAll - Registers all of the PetscLimiter components in the PetscFV package.
209ab2453f0SMatthew G. Knepley 
210ab2453f0SMatthew G. Knepley   Not Collective
211ab2453f0SMatthew G. Knepley 
212ab2453f0SMatthew G. Knepley   Input parameter:
213ab2453f0SMatthew G. Knepley . path - The dynamic library path
214ab2453f0SMatthew G. Knepley 
215ab2453f0SMatthew G. Knepley   Level: advanced
216ab2453f0SMatthew G. Knepley 
217ab2453f0SMatthew G. Knepley .keywords: PetscLimiter, register, all
218ab2453f0SMatthew G. Knepley .seealso:  PetscLimiterRegister(), PetscLimiterRegisterDestroy()
219ab2453f0SMatthew G. Knepley @*/
220ab2453f0SMatthew G. Knepley PetscErrorCode PetscLimiterRegisterAll()
221ab2453f0SMatthew G. Knepley {
222ab2453f0SMatthew G. Knepley   PetscErrorCode ierr;
223ab2453f0SMatthew G. Knepley 
224ab2453f0SMatthew G. Knepley   PetscFunctionBegin;
2250f51fdf8SToby Isaac   if (PetscLimiterRegisterAllCalled) PetscFunctionReturn(0);
226ab2453f0SMatthew G. Knepley   PetscLimiterRegisterAllCalled = PETSC_TRUE;
227ab2453f0SMatthew G. Knepley 
228ab2453f0SMatthew G. Knepley   ierr = PetscLimiterRegister(PETSCLIMITERSIN,       PetscLimiterCreate_Sin);CHKERRQ(ierr);
2299347ee04SMatthew G. Knepley   ierr = PetscLimiterRegister(PETSCLIMITERZERO,      PetscLimiterCreate_Zero);CHKERRQ(ierr);
2309347ee04SMatthew G. Knepley   ierr = PetscLimiterRegister(PETSCLIMITERNONE,      PetscLimiterCreate_None);CHKERRQ(ierr);
2319347ee04SMatthew G. Knepley   ierr = PetscLimiterRegister(PETSCLIMITERMINMOD,    PetscLimiterCreate_Minmod);CHKERRQ(ierr);
2329347ee04SMatthew G. Knepley   ierr = PetscLimiterRegister(PETSCLIMITERVANLEER,   PetscLimiterCreate_VanLeer);CHKERRQ(ierr);
2339347ee04SMatthew G. Knepley   ierr = PetscLimiterRegister(PETSCLIMITERVANALBADA, PetscLimiterCreate_VanAlbada);CHKERRQ(ierr);
2349347ee04SMatthew G. Knepley   ierr = PetscLimiterRegister(PETSCLIMITERSUPERBEE,  PetscLimiterCreate_Superbee);CHKERRQ(ierr);
2359347ee04SMatthew G. Knepley   ierr = PetscLimiterRegister(PETSCLIMITERMC,        PetscLimiterCreate_MC);CHKERRQ(ierr);
236ab2453f0SMatthew G. Knepley   PetscFunctionReturn(0);
237ab2453f0SMatthew G. Knepley }
238ab2453f0SMatthew G. Knepley 
239f62f30faSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscFVCreate_Upwind(PetscFV);
2400545663fSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscFVCreate_LeastSquares(PetscFV);
241f62f30faSMatthew G. Knepley 
242f62f30faSMatthew G. Knepley #undef __FUNCT__
243f62f30faSMatthew G. Knepley #define __FUNCT__ "PetscFVRegisterAll"
244f62f30faSMatthew G. Knepley /*@C
2450545663fSMatthew G. Knepley   PetscFVRegisterAll - Registers all of the PetscFV components in the PetscFV package.
246f62f30faSMatthew G. Knepley 
247f62f30faSMatthew G. Knepley   Not Collective
248f62f30faSMatthew G. Knepley 
249f62f30faSMatthew G. Knepley   Input parameter:
250f62f30faSMatthew G. Knepley . path - The dynamic library path
251f62f30faSMatthew G. Knepley 
252f62f30faSMatthew G. Knepley   Level: advanced
253f62f30faSMatthew G. Knepley 
254f62f30faSMatthew G. Knepley .keywords: PetscFV, register, all
255f62f30faSMatthew G. Knepley .seealso:  PetscFVRegister(), PetscFVRegisterDestroy()
256f62f30faSMatthew G. Knepley @*/
257f62f30faSMatthew G. Knepley PetscErrorCode PetscFVRegisterAll()
258f62f30faSMatthew G. Knepley {
259f62f30faSMatthew G. Knepley   PetscErrorCode ierr;
260f62f30faSMatthew G. Knepley 
261f62f30faSMatthew G. Knepley   PetscFunctionBegin;
2620f51fdf8SToby Isaac   if (PetscFVRegisterAllCalled) PetscFunctionReturn(0);
263f62f30faSMatthew G. Knepley   PetscFVRegisterAllCalled = PETSC_TRUE;
264f62f30faSMatthew G. Knepley 
265f62f30faSMatthew G. Knepley   ierr = PetscFVRegister(PETSCFVUPWIND,       PetscFVCreate_Upwind);CHKERRQ(ierr);
2660545663fSMatthew G. Knepley   ierr = PetscFVRegister(PETSCFVLEASTSQUARES, PetscFVCreate_LeastSquares);CHKERRQ(ierr);
267f62f30faSMatthew G. Knepley   PetscFunctionReturn(0);
268f62f30faSMatthew G. Knepley }
2692764a2aaSMatthew G. Knepley #include <petscds.h>     /*I  "petscds.h"  I*/
270022a7a5cSMatthew G. Knepley 
2712764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSCreate_Basic(PetscDS);
272022a7a5cSMatthew G. Knepley 
273022a7a5cSMatthew G. Knepley #undef __FUNCT__
2742764a2aaSMatthew G. Knepley #define __FUNCT__ "PetscDSRegisterAll"
275022a7a5cSMatthew G. Knepley /*@C
2762764a2aaSMatthew G. Knepley   PetscDSRegisterAll - Registers all of the PetscDS components in the PetscDS package.
277022a7a5cSMatthew G. Knepley 
278022a7a5cSMatthew G. Knepley   Not Collective
279022a7a5cSMatthew G. Knepley 
280022a7a5cSMatthew G. Knepley   Input parameter:
281022a7a5cSMatthew G. Knepley . path - The dynamic library path
282022a7a5cSMatthew G. Knepley 
283022a7a5cSMatthew G. Knepley   Level: advanced
284022a7a5cSMatthew G. Knepley 
2852764a2aaSMatthew G. Knepley .keywords: PetscDS, register, all
2862764a2aaSMatthew G. Knepley .seealso:  PetscDSRegister(), PetscDSRegisterDestroy()
287022a7a5cSMatthew G. Knepley @*/
2882764a2aaSMatthew G. Knepley PetscErrorCode PetscDSRegisterAll()
289022a7a5cSMatthew G. Knepley {
290022a7a5cSMatthew G. Knepley   PetscErrorCode ierr;
291022a7a5cSMatthew G. Knepley 
292022a7a5cSMatthew G. Knepley   PetscFunctionBegin;
2930f51fdf8SToby Isaac   if (PetscDSRegisterAllCalled) PetscFunctionReturn(0);
2942764a2aaSMatthew G. Knepley   PetscDSRegisterAllCalled = PETSC_TRUE;
295022a7a5cSMatthew G. Knepley 
2962764a2aaSMatthew G. Knepley   ierr = PetscDSRegister(PETSCDSBASIC, PetscDSCreate_Basic);CHKERRQ(ierr);
297022a7a5cSMatthew G. Knepley   PetscFunctionReturn(0);
298022a7a5cSMatthew G. Knepley }
299