xref: /petsc/src/dm/interface/dmregall.c (revision addd3a8669a409666c19a0ab12f9f059d80e46f0)
1264ace61SBarry Smith 
23c48a1e8SJed Brown #include <petscdm.h>     /*I  "petscdm.h"  I*/
377623264SMatthew G. Knepley #include <petscdmplex.h> /*I  "petscdmplex.h"  I*/
4af0996ceSBarry Smith #include <petsc/private/dmimpl.h>
5af0996ceSBarry Smith #include <petsc/private/dmpleximpl.h>
6af0996ceSBarry Smith #include <petsc/private/petscfeimpl.h>
7af0996ceSBarry Smith #include <petsc/private/petscfvimpl.h>
8af0996ceSBarry 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);
162fd35b1fSDave May PETSC_EXTERN PetscErrorCode DMCreate_Swarm(DM);
17edf5aa1bSVijay Mahadevan #if defined(PETSC_HAVE_MOAB)
181d72bce8STim Tautges PETSC_EXTERN PetscErrorCode DMCreate_Moab(DM);
19edf5aa1bSVijay Mahadevan #endif
20406e3badSSatish Balay PETSC_EXTERN PetscErrorCode DMCreate_Network(DM);
21ef51cf95SToby Isaac PETSC_EXTERN PetscErrorCode DMCreate_Forest(DM);
22b34044e4SToby Isaac #if defined(PETSC_HAVE_P4EST)
23b34044e4SToby Isaac PETSC_EXTERN PetscErrorCode DMCreate_p4est(DM);
24b34044e4SToby Isaac PETSC_EXTERN PetscErrorCode DMCreate_p8est(DM);
25b34044e4SToby Isaac #endif
26d852a638SPatrick Sanan PETSC_EXTERN PetscErrorCode DMCreate_Product(DM);
27a3101111SPatrick Sanan PETSC_EXTERN PetscErrorCode DMCreate_Stag(DM);
28264ace61SBarry Smith 
29264ace61SBarry Smith /*@C
30264ace61SBarry Smith   DMRegisterAll - Registers all of the DM components in the DM package.
31264ace61SBarry Smith 
32264ace61SBarry Smith   Not Collective
33264ace61SBarry Smith 
34264ace61SBarry Smith   Input parameter:
35264ace61SBarry Smith . path - The dynamic library path
36264ace61SBarry Smith 
37264ace61SBarry Smith   Level: advanced
38264ace61SBarry Smith 
39264ace61SBarry Smith .keywords: DM, register, all
40607a6623SBarry Smith .seealso:  DMRegister(), DMRegisterDestroy()
41264ace61SBarry Smith @*/
42dd63322aSSatish Balay PetscErrorCode  DMRegisterAll(void)
43264ace61SBarry Smith {
44264ace61SBarry Smith   PetscErrorCode ierr;
45264ace61SBarry Smith 
46264ace61SBarry Smith   PetscFunctionBegin;
470f51fdf8SToby Isaac   if (DMRegisterAllCalled) PetscFunctionReturn(0);
48264ace61SBarry Smith   DMRegisterAllCalled = PETSC_TRUE;
498865f1eaSKarl Rupp 
50bdf89e91SBarry Smith   ierr = DMRegister(DMDA,         DMCreate_DA);CHKERRQ(ierr);
51bdf89e91SBarry Smith   ierr = DMRegister(DMCOMPOSITE,  DMCreate_Composite);CHKERRQ(ierr);
52bdf89e91SBarry Smith   ierr = DMRegister(DMSLICED,     DMCreate_Sliced);CHKERRQ(ierr);
53bdf89e91SBarry Smith   ierr = DMRegister(DMSHELL,      DMCreate_Shell);CHKERRQ(ierr);
54bdf89e91SBarry Smith   ierr = DMRegister(DMREDUNDANT,  DMCreate_Redundant);CHKERRQ(ierr);
55bdf89e91SBarry Smith   ierr = DMRegister(DMPLEX,       DMCreate_Plex);CHKERRQ(ierr);
56bdf89e91SBarry Smith   ierr = DMRegister(DMPATCH,      DMCreate_Patch);CHKERRQ(ierr);
572fd35b1fSDave May   ierr = DMRegister(DMSWARM,      DMCreate_Swarm);CHKERRQ(ierr);
581d72bce8STim Tautges #if defined(PETSC_HAVE_MOAB)
598a1af44dSJed Brown   ierr = DMRegister(DMMOAB,       DMCreate_Moab);CHKERRQ(ierr);
601d72bce8STim Tautges #endif
61b2930b41SShri Abhyankar   ierr = DMRegister(DMNETWORK,    DMCreate_Network);CHKERRQ(ierr);
62ef51cf95SToby Isaac   ierr = DMRegister(DMFOREST,     DMCreate_Forest);CHKERRQ(ierr);
63b34044e4SToby Isaac #if defined(PETSC_HAVE_P4EST)
64b34044e4SToby Isaac   ierr = DMRegister(DMP4EST,      DMCreate_p4est);CHKERRQ(ierr);
65b34044e4SToby Isaac   ierr = DMRegister(DMP8EST,      DMCreate_p8est);CHKERRQ(ierr);
66b34044e4SToby Isaac #endif
67d852a638SPatrick Sanan   ierr = DMRegister(DMPRODUCT,    DMCreate_Product);CHKERRQ(ierr);
68a3101111SPatrick Sanan   ierr = DMRegister(DMSTAG,       DMCreate_Stag);CHKERRQ(ierr);
69264ace61SBarry Smith   PetscFunctionReturn(0);
70264ace61SBarry Smith }
7177623264SMatthew G. Knepley 
7277623264SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscPartitionerCreate_Chaco(PetscPartitioner);
7377623264SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscPartitionerCreate_ParMetis(PetscPartitioner);
74137cd93aSLisandro Dalcin PETSC_EXTERN PetscErrorCode PetscPartitionerCreate_PTScotch(PetscPartitioner);
7577623264SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscPartitionerCreate_Shell(PetscPartitioner);
76555a9cf8SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscPartitionerCreate_Simple(PetscPartitioner);
77dae52e14SToby Isaac PETSC_EXTERN PetscErrorCode PetscPartitionerCreate_Gather(PetscPartitioner);
78de68236aSVaclav Hapla PETSC_EXTERN PetscErrorCode PetscPartitionerCreate_MatPartitioning(PetscPartitioner);
7977623264SMatthew G. Knepley 
8077623264SMatthew G. Knepley /*@C
8177623264SMatthew G. Knepley   PetscPartitionerRegisterAll - Registers all of the PetscPartitioner components in the DM package.
8277623264SMatthew G. Knepley 
8377623264SMatthew G. Knepley   Not Collective
8477623264SMatthew G. Knepley 
8577623264SMatthew G. Knepley   Input parameter:
8677623264SMatthew G. Knepley . path - The dynamic library path
8777623264SMatthew G. Knepley 
8877623264SMatthew G. Knepley   Level: advanced
8977623264SMatthew G. Knepley 
9077623264SMatthew G. Knepley .keywords: PetscPartitioner, register, all
9177623264SMatthew G. Knepley .seealso:  PetscPartitionerRegister(), PetscPartitionerRegisterDestroy()
9277623264SMatthew G. Knepley @*/
93dd63322aSSatish Balay PetscErrorCode PetscPartitionerRegisterAll(void)
9477623264SMatthew G. Knepley {
9577623264SMatthew G. Knepley   PetscErrorCode ierr;
9677623264SMatthew G. Knepley 
9777623264SMatthew G. Knepley   PetscFunctionBegin;
980f51fdf8SToby Isaac   if (PetscPartitionerRegisterAllCalled) PetscFunctionReturn(0);
9977623264SMatthew G. Knepley   PetscPartitionerRegisterAllCalled = PETSC_TRUE;
10077623264SMatthew G. Knepley 
10177623264SMatthew G. Knepley   ierr = PetscPartitionerRegister(PETSCPARTITIONERCHACO,    PetscPartitionerCreate_Chaco);CHKERRQ(ierr);
10277623264SMatthew G. Knepley   ierr = PetscPartitionerRegister(PETSCPARTITIONERPARMETIS, PetscPartitionerCreate_ParMetis);CHKERRQ(ierr);
103137cd93aSLisandro Dalcin   ierr = PetscPartitionerRegister(PETSCPARTITIONERPTSCOTCH, PetscPartitionerCreate_PTScotch);CHKERRQ(ierr);
10477623264SMatthew G. Knepley   ierr = PetscPartitionerRegister(PETSCPARTITIONERSHELL,    PetscPartitionerCreate_Shell);CHKERRQ(ierr);
105555a9cf8SMatthew G. Knepley   ierr = PetscPartitionerRegister(PETSCPARTITIONERSIMPLE,   PetscPartitionerCreate_Simple);CHKERRQ(ierr);
106dae52e14SToby Isaac   ierr = PetscPartitionerRegister(PETSCPARTITIONERGATHER,   PetscPartitionerCreate_Gather);CHKERRQ(ierr);
107de68236aSVaclav Hapla   ierr = PetscPartitionerRegister(PETSCPARTITIONERMATPARTITIONING, PetscPartitionerCreate_MatPartitioning);CHKERRQ(ierr);
10877623264SMatthew G. Knepley   PetscFunctionReturn(0);
10977623264SMatthew G. Knepley }
11006759e06SMatthew G. Knepley #include <petscfe.h>     /*I  "petscfe.h"  I*/
111264ace61SBarry Smith 
11206759e06SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscSpaceCreate_Polynomial(PetscSpace);
11336e5648fSToby Isaac PETSC_EXTERN PetscErrorCode PetscSpaceCreate_Tensor(PetscSpace);
1149c3cf19fSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscSpaceCreate_Point(PetscSpace);
1152f5fb066SToby Isaac PETSC_EXTERN PetscErrorCode PetscSpaceCreate_Subspace(PetscSpace);
11606759e06SMatthew G. Knepley 
11706759e06SMatthew G. Knepley /*@C
11806759e06SMatthew G. Knepley   PetscSpaceRegisterAll - Registers all of the PetscSpace components in the PetscFE package.
11906759e06SMatthew G. Knepley 
12006759e06SMatthew G. Knepley   Not Collective
12106759e06SMatthew G. Knepley 
12206759e06SMatthew G. Knepley   Input parameter:
12306759e06SMatthew G. Knepley . path - The dynamic library path
12406759e06SMatthew G. Knepley 
12506759e06SMatthew G. Knepley   Level: advanced
12606759e06SMatthew G. Knepley 
12706759e06SMatthew G. Knepley .keywords: PetscSpace, register, all
12806759e06SMatthew G. Knepley .seealso:  PetscSpaceRegister(), PetscSpaceRegisterDestroy()
12906759e06SMatthew G. Knepley @*/
130dd63322aSSatish Balay PetscErrorCode PetscSpaceRegisterAll(void)
13106759e06SMatthew G. Knepley {
13206759e06SMatthew G. Knepley   PetscErrorCode ierr;
13306759e06SMatthew G. Knepley 
13406759e06SMatthew G. Knepley   PetscFunctionBegin;
1350f51fdf8SToby Isaac   if (PetscSpaceRegisterAllCalled) PetscFunctionReturn(0);
13606759e06SMatthew G. Knepley   PetscSpaceRegisterAllCalled = PETSC_TRUE;
13706759e06SMatthew G. Knepley 
13806759e06SMatthew G. Knepley   ierr = PetscSpaceRegister(PETSCSPACEPOLYNOMIAL, PetscSpaceCreate_Polynomial);CHKERRQ(ierr);
13936e5648fSToby Isaac   ierr = PetscSpaceRegister(PETSCSPACETENSOR,     PetscSpaceCreate_Tensor);CHKERRQ(ierr);
1409c3cf19fSMatthew G. Knepley   ierr = PetscSpaceRegister(PETSCSPACEPOINT,      PetscSpaceCreate_Point);CHKERRQ(ierr);
1412f5fb066SToby Isaac   ierr = PetscSpaceRegister(PETSCSPACESUBSPACE,   PetscSpaceCreate_Subspace);CHKERRQ(ierr);
14206759e06SMatthew G. Knepley   PetscFunctionReturn(0);
14306759e06SMatthew G. Knepley }
14406759e06SMatthew G. Knepley 
14506759e06SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDualSpaceCreate_Lagrange(PetscDualSpace);
146*addd3a86SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDualSpaceCreate_BDM(PetscDualSpace);
147c2765ee2SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDualSpaceCreate_Simple(PetscDualSpace);
14806759e06SMatthew G. Knepley 
14906759e06SMatthew G. Knepley /*@C
15006759e06SMatthew G. Knepley   PetscDualSpaceRegisterAll - Registers all of the PetscDualSpace components in the PetscFE package.
15106759e06SMatthew G. Knepley 
15206759e06SMatthew G. Knepley   Not Collective
15306759e06SMatthew G. Knepley 
15406759e06SMatthew G. Knepley   Input parameter:
15506759e06SMatthew G. Knepley . path - The dynamic library path
15606759e06SMatthew G. Knepley 
15706759e06SMatthew G. Knepley   Level: advanced
15806759e06SMatthew G. Knepley 
15906759e06SMatthew G. Knepley .keywords: PetscDualSpace, register, all
16006759e06SMatthew G. Knepley .seealso:  PetscDualSpaceRegister(), PetscDualSpaceRegisterDestroy()
16106759e06SMatthew G. Knepley @*/
162dd63322aSSatish Balay PetscErrorCode PetscDualSpaceRegisterAll(void)
16306759e06SMatthew G. Knepley {
16406759e06SMatthew G. Knepley   PetscErrorCode ierr;
16506759e06SMatthew G. Knepley 
16606759e06SMatthew G. Knepley   PetscFunctionBegin;
1670f51fdf8SToby Isaac   if (PetscDualSpaceRegisterAllCalled) PetscFunctionReturn(0);
16806759e06SMatthew G. Knepley   PetscDualSpaceRegisterAllCalled = PETSC_TRUE;
16906759e06SMatthew G. Knepley 
17006759e06SMatthew G. Knepley   ierr = PetscDualSpaceRegister(PETSCDUALSPACELAGRANGE, PetscDualSpaceCreate_Lagrange);CHKERRQ(ierr);
171*addd3a86SMatthew G. Knepley   ierr = PetscDualSpaceRegister(PETSCDUALSPACEBDM,      PetscDualSpaceCreate_BDM);CHKERRQ(ierr);
172c2765ee2SMatthew G. Knepley   ierr = PetscDualSpaceRegister(PETSCDUALSPACESIMPLE,   PetscDualSpaceCreate_Simple);CHKERRQ(ierr);
17306759e06SMatthew G. Knepley   PetscFunctionReturn(0);
17406759e06SMatthew G. Knepley }
1750483ade4SMatthew G. Knepley 
1760483ade4SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscFECreate_Basic(PetscFE);
177aaf1837cSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscFECreate_Nonaffine(PetscFE);
178aaf1837cSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscFECreate_Composite(PetscFE);
179497880caSRichard Tran Mills #if defined(PETSC_HAVE_OPENCL)
180133ee763SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscFECreate_OpenCL(PetscFE);
181133ee763SMatthew G. Knepley #endif
1820483ade4SMatthew G. Knepley 
1830483ade4SMatthew G. Knepley /*@C
1840483ade4SMatthew G. Knepley   PetscFERegisterAll - Registers all of the PetscFE components in the PetscFE package.
1850483ade4SMatthew G. Knepley 
1860483ade4SMatthew G. Knepley   Not Collective
1870483ade4SMatthew G. Knepley 
1880483ade4SMatthew G. Knepley   Input parameter:
1890483ade4SMatthew G. Knepley . path - The dynamic library path
1900483ade4SMatthew G. Knepley 
1910483ade4SMatthew G. Knepley   Level: advanced
1920483ade4SMatthew G. Knepley 
1930483ade4SMatthew G. Knepley .keywords: PetscFE, register, all
1940483ade4SMatthew G. Knepley .seealso:  PetscFERegister(), PetscFERegisterDestroy()
1950483ade4SMatthew G. Knepley @*/
196dd63322aSSatish Balay PetscErrorCode PetscFERegisterAll(void)
1970483ade4SMatthew G. Knepley {
1980483ade4SMatthew G. Knepley   PetscErrorCode ierr;
1990483ade4SMatthew G. Knepley 
2000483ade4SMatthew G. Knepley   PetscFunctionBegin;
2010f51fdf8SToby Isaac   if (PetscFERegisterAllCalled) PetscFunctionReturn(0);
2020483ade4SMatthew G. Knepley   PetscFERegisterAllCalled = PETSC_TRUE;
2030483ade4SMatthew G. Knepley 
2040483ade4SMatthew G. Knepley   ierr = PetscFERegister(PETSCFEBASIC,     PetscFECreate_Basic);CHKERRQ(ierr);
205aaf1837cSMatthew G. Knepley   ierr = PetscFERegister(PETSCFECOMPOSITE, PetscFECreate_Composite);CHKERRQ(ierr);
206497880caSRichard Tran Mills #if defined(PETSC_HAVE_OPENCL)
207133ee763SMatthew G. Knepley   ierr = PetscFERegister(PETSCFEOPENCL, PetscFECreate_OpenCL);CHKERRQ(ierr);
208133ee763SMatthew G. Knepley #endif
2090483ade4SMatthew G. Knepley   PetscFunctionReturn(0);
2100483ade4SMatthew G. Knepley }
211f62f30faSMatthew G. Knepley #include <petscfv.h>     /*I  "petscfv.h"  I*/
212f62f30faSMatthew G. Knepley 
213ab2453f0SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscLimiterCreate_Sin(PetscLimiter);
2149347ee04SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscLimiterCreate_Zero(PetscLimiter);
2159347ee04SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscLimiterCreate_None(PetscLimiter);
2169347ee04SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscLimiterCreate_Minmod(PetscLimiter);
2179347ee04SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscLimiterCreate_VanLeer(PetscLimiter);
2189347ee04SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscLimiterCreate_VanAlbada(PetscLimiter);
2199347ee04SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscLimiterCreate_Superbee(PetscLimiter);
2209347ee04SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscLimiterCreate_MC(PetscLimiter);
221ab2453f0SMatthew G. Knepley 
222ab2453f0SMatthew G. Knepley /*@C
223ab2453f0SMatthew G. Knepley   PetscLimiterRegisterAll - Registers all of the PetscLimiter components in the PetscFV package.
224ab2453f0SMatthew G. Knepley 
225ab2453f0SMatthew G. Knepley   Not Collective
226ab2453f0SMatthew G. Knepley 
227ab2453f0SMatthew G. Knepley   Input parameter:
228ab2453f0SMatthew G. Knepley . path - The dynamic library path
229ab2453f0SMatthew G. Knepley 
230ab2453f0SMatthew G. Knepley   Level: advanced
231ab2453f0SMatthew G. Knepley 
232ab2453f0SMatthew G. Knepley .keywords: PetscLimiter, register, all
233ab2453f0SMatthew G. Knepley .seealso:  PetscLimiterRegister(), PetscLimiterRegisterDestroy()
234ab2453f0SMatthew G. Knepley @*/
235dd63322aSSatish Balay PetscErrorCode PetscLimiterRegisterAll(void)
236ab2453f0SMatthew G. Knepley {
237ab2453f0SMatthew G. Knepley   PetscErrorCode ierr;
238ab2453f0SMatthew G. Knepley 
239ab2453f0SMatthew G. Knepley   PetscFunctionBegin;
2400f51fdf8SToby Isaac   if (PetscLimiterRegisterAllCalled) PetscFunctionReturn(0);
241ab2453f0SMatthew G. Knepley   PetscLimiterRegisterAllCalled = PETSC_TRUE;
242ab2453f0SMatthew G. Knepley 
243ab2453f0SMatthew G. Knepley   ierr = PetscLimiterRegister(PETSCLIMITERSIN,       PetscLimiterCreate_Sin);CHKERRQ(ierr);
2449347ee04SMatthew G. Knepley   ierr = PetscLimiterRegister(PETSCLIMITERZERO,      PetscLimiterCreate_Zero);CHKERRQ(ierr);
2459347ee04SMatthew G. Knepley   ierr = PetscLimiterRegister(PETSCLIMITERNONE,      PetscLimiterCreate_None);CHKERRQ(ierr);
2469347ee04SMatthew G. Knepley   ierr = PetscLimiterRegister(PETSCLIMITERMINMOD,    PetscLimiterCreate_Minmod);CHKERRQ(ierr);
2479347ee04SMatthew G. Knepley   ierr = PetscLimiterRegister(PETSCLIMITERVANLEER,   PetscLimiterCreate_VanLeer);CHKERRQ(ierr);
2489347ee04SMatthew G. Knepley   ierr = PetscLimiterRegister(PETSCLIMITERVANALBADA, PetscLimiterCreate_VanAlbada);CHKERRQ(ierr);
2499347ee04SMatthew G. Knepley   ierr = PetscLimiterRegister(PETSCLIMITERSUPERBEE,  PetscLimiterCreate_Superbee);CHKERRQ(ierr);
2509347ee04SMatthew G. Knepley   ierr = PetscLimiterRegister(PETSCLIMITERMC,        PetscLimiterCreate_MC);CHKERRQ(ierr);
251ab2453f0SMatthew G. Knepley   PetscFunctionReturn(0);
252ab2453f0SMatthew G. Knepley }
253ab2453f0SMatthew G. Knepley 
254f62f30faSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscFVCreate_Upwind(PetscFV);
2550545663fSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscFVCreate_LeastSquares(PetscFV);
256f62f30faSMatthew G. Knepley 
257f62f30faSMatthew G. Knepley /*@C
2580545663fSMatthew G. Knepley   PetscFVRegisterAll - Registers all of the PetscFV components in the PetscFV package.
259f62f30faSMatthew G. Knepley 
260f62f30faSMatthew G. Knepley   Not Collective
261f62f30faSMatthew G. Knepley 
262f62f30faSMatthew G. Knepley   Input parameter:
263f62f30faSMatthew G. Knepley . path - The dynamic library path
264f62f30faSMatthew G. Knepley 
265f62f30faSMatthew G. Knepley   Level: advanced
266f62f30faSMatthew G. Knepley 
267f62f30faSMatthew G. Knepley .keywords: PetscFV, register, all
268f62f30faSMatthew G. Knepley .seealso:  PetscFVRegister(), PetscFVRegisterDestroy()
269f62f30faSMatthew G. Knepley @*/
270dd63322aSSatish Balay PetscErrorCode PetscFVRegisterAll(void)
271f62f30faSMatthew G. Knepley {
272f62f30faSMatthew G. Knepley   PetscErrorCode ierr;
273f62f30faSMatthew G. Knepley 
274f62f30faSMatthew G. Knepley   PetscFunctionBegin;
2750f51fdf8SToby Isaac   if (PetscFVRegisterAllCalled) PetscFunctionReturn(0);
276f62f30faSMatthew G. Knepley   PetscFVRegisterAllCalled = PETSC_TRUE;
277f62f30faSMatthew G. Knepley 
278f62f30faSMatthew G. Knepley   ierr = PetscFVRegister(PETSCFVUPWIND,       PetscFVCreate_Upwind);CHKERRQ(ierr);
2790545663fSMatthew G. Knepley   ierr = PetscFVRegister(PETSCFVLEASTSQUARES, PetscFVCreate_LeastSquares);CHKERRQ(ierr);
280f62f30faSMatthew G. Knepley   PetscFunctionReturn(0);
281f62f30faSMatthew G. Knepley }
2822764a2aaSMatthew G. Knepley #include <petscds.h>     /*I  "petscds.h"  I*/
283022a7a5cSMatthew G. Knepley 
2842764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSCreate_Basic(PetscDS);
285022a7a5cSMatthew G. Knepley 
286022a7a5cSMatthew G. Knepley /*@C
2872764a2aaSMatthew G. Knepley   PetscDSRegisterAll - Registers all of the PetscDS components in the PetscDS package.
288022a7a5cSMatthew G. Knepley 
289022a7a5cSMatthew G. Knepley   Not Collective
290022a7a5cSMatthew G. Knepley 
291022a7a5cSMatthew G. Knepley   Input parameter:
292022a7a5cSMatthew G. Knepley . path - The dynamic library path
293022a7a5cSMatthew G. Knepley 
294022a7a5cSMatthew G. Knepley   Level: advanced
295022a7a5cSMatthew G. Knepley 
2962764a2aaSMatthew G. Knepley .keywords: PetscDS, register, all
2972764a2aaSMatthew G. Knepley .seealso:  PetscDSRegister(), PetscDSRegisterDestroy()
298022a7a5cSMatthew G. Knepley @*/
299dd63322aSSatish Balay PetscErrorCode PetscDSRegisterAll(void)
300022a7a5cSMatthew G. Knepley {
301022a7a5cSMatthew G. Knepley   PetscErrorCode ierr;
302022a7a5cSMatthew G. Knepley 
303022a7a5cSMatthew G. Knepley   PetscFunctionBegin;
3040f51fdf8SToby Isaac   if (PetscDSRegisterAllCalled) PetscFunctionReturn(0);
3052764a2aaSMatthew G. Knepley   PetscDSRegisterAllCalled = PETSC_TRUE;
306022a7a5cSMatthew G. Knepley 
3072764a2aaSMatthew G. Knepley   ierr = PetscDSRegister(PETSCDSBASIC, PetscDSCreate_Basic);CHKERRQ(ierr);
308022a7a5cSMatthew G. Knepley   PetscFunctionReturn(0);
309022a7a5cSMatthew G. Knepley }
310