xref: /petsc/src/dm/interface/dmregall.c (revision 7762326432740f597a4bdfe5e2040f271ba9dd28)
1264ace61SBarry Smith 
23c48a1e8SJed Brown #include <petscdm.h>     /*I  "petscdm.h"  I*/
3*77623264SMatthew G. Knepley #include <petscdmplex.h> /*I  "petscdmplex.h"  I*/
48cc058d9SJed Brown PETSC_EXTERN PetscErrorCode DMCreate_DA(DM);
58cc058d9SJed Brown PETSC_EXTERN PetscErrorCode DMCreate_Composite(DM);
68cc058d9SJed Brown PETSC_EXTERN PetscErrorCode DMCreate_Sliced(DM);
78cc058d9SJed Brown PETSC_EXTERN PetscErrorCode DMCreate_Shell(DM);
88cc058d9SJed Brown PETSC_EXTERN PetscErrorCode DMCreate_Redundant(DM);
98cc058d9SJed Brown PETSC_EXTERN PetscErrorCode DMCreate_Plex(DM);
108cc058d9SJed Brown PETSC_EXTERN PetscErrorCode DMCreate_Patch(DM);
11edf5aa1bSVijay Mahadevan #if defined(PETSC_HAVE_MOAB)
121d72bce8STim Tautges PETSC_EXTERN PetscErrorCode DMCreate_Moab(DM);
13edf5aa1bSVijay Mahadevan #endif
14406e3badSSatish Balay PETSC_EXTERN PetscErrorCode DMCreate_Network(DM);
15264ace61SBarry Smith 
16264ace61SBarry Smith #undef __FUNCT__
17264ace61SBarry Smith #define __FUNCT__ "DMRegisterAll"
18264ace61SBarry Smith /*@C
19264ace61SBarry Smith   DMRegisterAll - Registers all of the DM components in the DM package.
20264ace61SBarry Smith 
21264ace61SBarry Smith   Not Collective
22264ace61SBarry Smith 
23264ace61SBarry Smith   Input parameter:
24264ace61SBarry Smith . path - The dynamic library path
25264ace61SBarry Smith 
26264ace61SBarry Smith   Level: advanced
27264ace61SBarry Smith 
28264ace61SBarry Smith .keywords: DM, register, all
29607a6623SBarry Smith .seealso:  DMRegister(), DMRegisterDestroy()
30264ace61SBarry Smith @*/
31607a6623SBarry Smith PetscErrorCode  DMRegisterAll()
32264ace61SBarry Smith {
33264ace61SBarry Smith   PetscErrorCode ierr;
34264ace61SBarry Smith 
35264ace61SBarry Smith   PetscFunctionBegin;
36264ace61SBarry Smith   DMRegisterAllCalled = PETSC_TRUE;
378865f1eaSKarl Rupp 
38bdf89e91SBarry Smith   ierr = DMRegister(DMDA,         DMCreate_DA);CHKERRQ(ierr);
39bdf89e91SBarry Smith   ierr = DMRegister(DMCOMPOSITE,  DMCreate_Composite);CHKERRQ(ierr);
40bdf89e91SBarry Smith   ierr = DMRegister(DMSLICED,     DMCreate_Sliced);CHKERRQ(ierr);
41bdf89e91SBarry Smith   ierr = DMRegister(DMSHELL,      DMCreate_Shell);CHKERRQ(ierr);
42bdf89e91SBarry Smith   ierr = DMRegister(DMREDUNDANT,  DMCreate_Redundant);CHKERRQ(ierr);
43bdf89e91SBarry Smith   ierr = DMRegister(DMPLEX,       DMCreate_Plex);CHKERRQ(ierr);
44bdf89e91SBarry Smith   ierr = DMRegister(DMPATCH,      DMCreate_Patch);CHKERRQ(ierr);
451d72bce8STim Tautges #if defined(PETSC_HAVE_MOAB)
468a1af44dSJed Brown   ierr = DMRegister(DMMOAB,       DMCreate_Moab);CHKERRQ(ierr);
471d72bce8STim Tautges #endif
48b2930b41SShri Abhyankar   ierr = DMRegister(DMNETWORK,    DMCreate_Network);CHKERRQ(ierr);
49264ace61SBarry Smith   PetscFunctionReturn(0);
50264ace61SBarry Smith }
51*77623264SMatthew G. Knepley 
52*77623264SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscPartitionerCreate_Chaco(PetscPartitioner);
53*77623264SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscPartitionerCreate_ParMetis(PetscPartitioner);
54*77623264SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscPartitionerCreate_Shell(PetscPartitioner);
55*77623264SMatthew G. Knepley 
56*77623264SMatthew G. Knepley #undef __FUNCT__
57*77623264SMatthew G. Knepley #define __FUNCT__ "PetscPartitionerRegisterAll"
58*77623264SMatthew G. Knepley /*@C
59*77623264SMatthew G. Knepley   PetscPartitionerRegisterAll - Registers all of the PetscPartitioner components in the DM package.
60*77623264SMatthew G. Knepley 
61*77623264SMatthew G. Knepley   Not Collective
62*77623264SMatthew G. Knepley 
63*77623264SMatthew G. Knepley   Input parameter:
64*77623264SMatthew G. Knepley . path - The dynamic library path
65*77623264SMatthew G. Knepley 
66*77623264SMatthew G. Knepley   Level: advanced
67*77623264SMatthew G. Knepley 
68*77623264SMatthew G. Knepley .keywords: PetscPartitioner, register, all
69*77623264SMatthew G. Knepley .seealso:  PetscPartitionerRegister(), PetscPartitionerRegisterDestroy()
70*77623264SMatthew G. Knepley @*/
71*77623264SMatthew G. Knepley PetscErrorCode PetscPartitionerRegisterAll()
72*77623264SMatthew G. Knepley {
73*77623264SMatthew G. Knepley   PetscErrorCode ierr;
74*77623264SMatthew G. Knepley 
75*77623264SMatthew G. Knepley   PetscFunctionBegin;
76*77623264SMatthew G. Knepley   PetscPartitionerRegisterAllCalled = PETSC_TRUE;
77*77623264SMatthew G. Knepley 
78*77623264SMatthew G. Knepley   ierr = PetscPartitionerRegister(PETSCPARTITIONERCHACO,    PetscPartitionerCreate_Chaco);CHKERRQ(ierr);
79*77623264SMatthew G. Knepley   ierr = PetscPartitionerRegister(PETSCPARTITIONERPARMETIS, PetscPartitionerCreate_ParMetis);CHKERRQ(ierr);
80*77623264SMatthew G. Knepley   ierr = PetscPartitionerRegister(PETSCPARTITIONERSHELL,    PetscPartitionerCreate_Shell);CHKERRQ(ierr);
81*77623264SMatthew G. Knepley   PetscFunctionReturn(0);
82*77623264SMatthew G. Knepley }
8306759e06SMatthew G. Knepley #include <petscfe.h>     /*I  "petscfe.h"  I*/
84264ace61SBarry Smith 
8506759e06SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscSpaceCreate_Polynomial(PetscSpace);
862bdb15eaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscSpaceCreate_DG(PetscSpace);
8706759e06SMatthew G. Knepley 
8806759e06SMatthew G. Knepley #undef __FUNCT__
8906759e06SMatthew G. Knepley #define __FUNCT__ "PetscSpaceRegisterAll"
9006759e06SMatthew G. Knepley /*@C
9106759e06SMatthew G. Knepley   PetscSpaceRegisterAll - Registers all of the PetscSpace components in the PetscFE package.
9206759e06SMatthew G. Knepley 
9306759e06SMatthew G. Knepley   Not Collective
9406759e06SMatthew G. Knepley 
9506759e06SMatthew G. Knepley   Input parameter:
9606759e06SMatthew G. Knepley . path - The dynamic library path
9706759e06SMatthew G. Knepley 
9806759e06SMatthew G. Knepley   Level: advanced
9906759e06SMatthew G. Knepley 
10006759e06SMatthew G. Knepley .keywords: PetscSpace, register, all
10106759e06SMatthew G. Knepley .seealso:  PetscSpaceRegister(), PetscSpaceRegisterDestroy()
10206759e06SMatthew G. Knepley @*/
10306759e06SMatthew G. Knepley PetscErrorCode PetscSpaceRegisterAll()
10406759e06SMatthew G. Knepley {
10506759e06SMatthew G. Knepley   PetscErrorCode ierr;
10606759e06SMatthew G. Knepley 
10706759e06SMatthew G. Knepley   PetscFunctionBegin;
10806759e06SMatthew G. Knepley   PetscSpaceRegisterAllCalled = PETSC_TRUE;
10906759e06SMatthew G. Knepley 
11006759e06SMatthew G. Knepley   ierr = PetscSpaceRegister(PETSCSPACEPOLYNOMIAL, PetscSpaceCreate_Polynomial);CHKERRQ(ierr);
1112bdb15eaSMatthew G. Knepley   ierr = PetscSpaceRegister(PETSCSPACEDG,         PetscSpaceCreate_DG);CHKERRQ(ierr);
11206759e06SMatthew G. Knepley   PetscFunctionReturn(0);
11306759e06SMatthew G. Knepley }
11406759e06SMatthew G. Knepley 
11506759e06SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDualSpaceCreate_Lagrange(PetscDualSpace);
116c2765ee2SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDualSpaceCreate_Simple(PetscDualSpace);
11706759e06SMatthew G. Knepley 
11806759e06SMatthew G. Knepley #undef __FUNCT__
11906759e06SMatthew G. Knepley #define __FUNCT__ "PetscDualSpaceRegisterAll"
12006759e06SMatthew G. Knepley /*@C
12106759e06SMatthew G. Knepley   PetscDualSpaceRegisterAll - Registers all of the PetscDualSpace components in the PetscFE package.
12206759e06SMatthew G. Knepley 
12306759e06SMatthew G. Knepley   Not Collective
12406759e06SMatthew G. Knepley 
12506759e06SMatthew G. Knepley   Input parameter:
12606759e06SMatthew G. Knepley . path - The dynamic library path
12706759e06SMatthew G. Knepley 
12806759e06SMatthew G. Knepley   Level: advanced
12906759e06SMatthew G. Knepley 
13006759e06SMatthew G. Knepley .keywords: PetscDualSpace, register, all
13106759e06SMatthew G. Knepley .seealso:  PetscDualSpaceRegister(), PetscDualSpaceRegisterDestroy()
13206759e06SMatthew G. Knepley @*/
13306759e06SMatthew G. Knepley PetscErrorCode PetscDualSpaceRegisterAll()
13406759e06SMatthew G. Knepley {
13506759e06SMatthew G. Knepley   PetscErrorCode ierr;
13606759e06SMatthew G. Knepley 
13706759e06SMatthew G. Knepley   PetscFunctionBegin;
13806759e06SMatthew G. Knepley   PetscDualSpaceRegisterAllCalled = PETSC_TRUE;
13906759e06SMatthew G. Knepley 
14006759e06SMatthew G. Knepley   ierr = PetscDualSpaceRegister(PETSCDUALSPACELAGRANGE, PetscDualSpaceCreate_Lagrange);CHKERRQ(ierr);
141c2765ee2SMatthew G. Knepley   ierr = PetscDualSpaceRegister(PETSCDUALSPACESIMPLE,   PetscDualSpaceCreate_Simple);CHKERRQ(ierr);
14206759e06SMatthew G. Knepley   PetscFunctionReturn(0);
14306759e06SMatthew G. Knepley }
1440483ade4SMatthew G. Knepley 
1450483ade4SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscFECreate_Basic(PetscFE);
146aaf1837cSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscFECreate_Nonaffine(PetscFE);
147aaf1837cSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscFECreate_Composite(PetscFE);
148133ee763SMatthew G. Knepley #ifdef PETSC_HAVE_OPENCL
149133ee763SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscFECreate_OpenCL(PetscFE);
150133ee763SMatthew G. Knepley #endif
1510483ade4SMatthew G. Knepley 
1520483ade4SMatthew G. Knepley #undef __FUNCT__
1530483ade4SMatthew G. Knepley #define __FUNCT__ "PetscFERegisterAll"
1540483ade4SMatthew G. Knepley /*@C
1550483ade4SMatthew G. Knepley   PetscFERegisterAll - Registers all of the PetscFE components in the PetscFE package.
1560483ade4SMatthew G. Knepley 
1570483ade4SMatthew G. Knepley   Not Collective
1580483ade4SMatthew G. Knepley 
1590483ade4SMatthew G. Knepley   Input parameter:
1600483ade4SMatthew G. Knepley . path - The dynamic library path
1610483ade4SMatthew G. Knepley 
1620483ade4SMatthew G. Knepley   Level: advanced
1630483ade4SMatthew G. Knepley 
1640483ade4SMatthew G. Knepley .keywords: PetscFE, register, all
1650483ade4SMatthew G. Knepley .seealso:  PetscFERegister(), PetscFERegisterDestroy()
1660483ade4SMatthew G. Knepley @*/
1670483ade4SMatthew G. Knepley PetscErrorCode PetscFERegisterAll()
1680483ade4SMatthew G. Knepley {
1690483ade4SMatthew G. Knepley   PetscErrorCode ierr;
1700483ade4SMatthew G. Knepley 
1710483ade4SMatthew G. Knepley   PetscFunctionBegin;
1720483ade4SMatthew G. Knepley   PetscFERegisterAllCalled = PETSC_TRUE;
1730483ade4SMatthew G. Knepley 
1740483ade4SMatthew G. Knepley   ierr = PetscFERegister(PETSCFEBASIC,     PetscFECreate_Basic);CHKERRQ(ierr);
175aaf1837cSMatthew G. Knepley   ierr = PetscFERegister(PETSCFENONAFFINE, PetscFECreate_Nonaffine);CHKERRQ(ierr);
176aaf1837cSMatthew G. Knepley   ierr = PetscFERegister(PETSCFECOMPOSITE, PetscFECreate_Composite);CHKERRQ(ierr);
177133ee763SMatthew G. Knepley #ifdef PETSC_HAVE_OPENCL
178133ee763SMatthew G. Knepley   ierr = PetscFERegister(PETSCFEOPENCL, PetscFECreate_OpenCL);CHKERRQ(ierr);
179133ee763SMatthew G. Knepley #endif
1800483ade4SMatthew G. Knepley   PetscFunctionReturn(0);
1810483ade4SMatthew G. Knepley }
182f62f30faSMatthew G. Knepley #include <petscfv.h>     /*I  "petscfv.h"  I*/
183f62f30faSMatthew G. Knepley 
184ab2453f0SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscLimiterCreate_Sin(PetscLimiter);
1859347ee04SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscLimiterCreate_Zero(PetscLimiter);
1869347ee04SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscLimiterCreate_None(PetscLimiter);
1879347ee04SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscLimiterCreate_Minmod(PetscLimiter);
1889347ee04SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscLimiterCreate_VanLeer(PetscLimiter);
1899347ee04SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscLimiterCreate_VanAlbada(PetscLimiter);
1909347ee04SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscLimiterCreate_Superbee(PetscLimiter);
1919347ee04SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscLimiterCreate_MC(PetscLimiter);
192ab2453f0SMatthew G. Knepley 
193ab2453f0SMatthew G. Knepley #undef __FUNCT__
194ab2453f0SMatthew G. Knepley #define __FUNCT__ "PetscLimiterRegisterAll"
195ab2453f0SMatthew G. Knepley /*@C
196ab2453f0SMatthew G. Knepley   PetscLimiterRegisterAll - Registers all of the PetscLimiter components in the PetscFV package.
197ab2453f0SMatthew G. Knepley 
198ab2453f0SMatthew G. Knepley   Not Collective
199ab2453f0SMatthew G. Knepley 
200ab2453f0SMatthew G. Knepley   Input parameter:
201ab2453f0SMatthew G. Knepley . path - The dynamic library path
202ab2453f0SMatthew G. Knepley 
203ab2453f0SMatthew G. Knepley   Level: advanced
204ab2453f0SMatthew G. Knepley 
205ab2453f0SMatthew G. Knepley .keywords: PetscLimiter, register, all
206ab2453f0SMatthew G. Knepley .seealso:  PetscLimiterRegister(), PetscLimiterRegisterDestroy()
207ab2453f0SMatthew G. Knepley @*/
208ab2453f0SMatthew G. Knepley PetscErrorCode PetscLimiterRegisterAll()
209ab2453f0SMatthew G. Knepley {
210ab2453f0SMatthew G. Knepley   PetscErrorCode ierr;
211ab2453f0SMatthew G. Knepley 
212ab2453f0SMatthew G. Knepley   PetscFunctionBegin;
213ab2453f0SMatthew G. Knepley   PetscLimiterRegisterAllCalled = PETSC_TRUE;
214ab2453f0SMatthew G. Knepley 
215ab2453f0SMatthew G. Knepley   ierr = PetscLimiterRegister(PETSCLIMITERSIN,       PetscLimiterCreate_Sin);CHKERRQ(ierr);
2169347ee04SMatthew G. Knepley   ierr = PetscLimiterRegister(PETSCLIMITERZERO,      PetscLimiterCreate_Zero);CHKERRQ(ierr);
2179347ee04SMatthew G. Knepley   ierr = PetscLimiterRegister(PETSCLIMITERNONE,      PetscLimiterCreate_None);CHKERRQ(ierr);
2189347ee04SMatthew G. Knepley   ierr = PetscLimiterRegister(PETSCLIMITERMINMOD,    PetscLimiterCreate_Minmod);CHKERRQ(ierr);
2199347ee04SMatthew G. Knepley   ierr = PetscLimiterRegister(PETSCLIMITERVANLEER,   PetscLimiterCreate_VanLeer);CHKERRQ(ierr);
2209347ee04SMatthew G. Knepley   ierr = PetscLimiterRegister(PETSCLIMITERVANALBADA, PetscLimiterCreate_VanAlbada);CHKERRQ(ierr);
2219347ee04SMatthew G. Knepley   ierr = PetscLimiterRegister(PETSCLIMITERSUPERBEE,  PetscLimiterCreate_Superbee);CHKERRQ(ierr);
2229347ee04SMatthew G. Knepley   ierr = PetscLimiterRegister(PETSCLIMITERMC,        PetscLimiterCreate_MC);CHKERRQ(ierr);
223ab2453f0SMatthew G. Knepley   PetscFunctionReturn(0);
224ab2453f0SMatthew G. Knepley }
225ab2453f0SMatthew G. Knepley 
226f62f30faSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscFVCreate_Upwind(PetscFV);
2270545663fSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscFVCreate_LeastSquares(PetscFV);
228f62f30faSMatthew G. Knepley 
229f62f30faSMatthew G. Knepley #undef __FUNCT__
230f62f30faSMatthew G. Knepley #define __FUNCT__ "PetscFVRegisterAll"
231f62f30faSMatthew G. Knepley /*@C
2320545663fSMatthew G. Knepley   PetscFVRegisterAll - Registers all of the PetscFV components in the PetscFV package.
233f62f30faSMatthew G. Knepley 
234f62f30faSMatthew G. Knepley   Not Collective
235f62f30faSMatthew G. Knepley 
236f62f30faSMatthew G. Knepley   Input parameter:
237f62f30faSMatthew G. Knepley . path - The dynamic library path
238f62f30faSMatthew G. Knepley 
239f62f30faSMatthew G. Knepley   Level: advanced
240f62f30faSMatthew G. Knepley 
241f62f30faSMatthew G. Knepley .keywords: PetscFV, register, all
242f62f30faSMatthew G. Knepley .seealso:  PetscFVRegister(), PetscFVRegisterDestroy()
243f62f30faSMatthew G. Knepley @*/
244f62f30faSMatthew G. Knepley PetscErrorCode PetscFVRegisterAll()
245f62f30faSMatthew G. Knepley {
246f62f30faSMatthew G. Knepley   PetscErrorCode ierr;
247f62f30faSMatthew G. Knepley 
248f62f30faSMatthew G. Knepley   PetscFunctionBegin;
249f62f30faSMatthew G. Knepley   PetscFVRegisterAllCalled = PETSC_TRUE;
250f62f30faSMatthew G. Knepley 
251f62f30faSMatthew G. Knepley   ierr = PetscFVRegister(PETSCFVUPWIND,       PetscFVCreate_Upwind);CHKERRQ(ierr);
2520545663fSMatthew G. Knepley   ierr = PetscFVRegister(PETSCFVLEASTSQUARES, PetscFVCreate_LeastSquares);CHKERRQ(ierr);
253f62f30faSMatthew G. Knepley   PetscFunctionReturn(0);
254f62f30faSMatthew G. Knepley }
2552764a2aaSMatthew G. Knepley #include <petscds.h>     /*I  "petscds.h"  I*/
256022a7a5cSMatthew G. Knepley 
2572764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSCreate_Basic(PetscDS);
258022a7a5cSMatthew G. Knepley 
259022a7a5cSMatthew G. Knepley #undef __FUNCT__
2602764a2aaSMatthew G. Knepley #define __FUNCT__ "PetscDSRegisterAll"
261022a7a5cSMatthew G. Knepley /*@C
2622764a2aaSMatthew G. Knepley   PetscDSRegisterAll - Registers all of the PetscDS components in the PetscDS package.
263022a7a5cSMatthew G. Knepley 
264022a7a5cSMatthew G. Knepley   Not Collective
265022a7a5cSMatthew G. Knepley 
266022a7a5cSMatthew G. Knepley   Input parameter:
267022a7a5cSMatthew G. Knepley . path - The dynamic library path
268022a7a5cSMatthew G. Knepley 
269022a7a5cSMatthew G. Knepley   Level: advanced
270022a7a5cSMatthew G. Knepley 
2712764a2aaSMatthew G. Knepley .keywords: PetscDS, register, all
2722764a2aaSMatthew G. Knepley .seealso:  PetscDSRegister(), PetscDSRegisterDestroy()
273022a7a5cSMatthew G. Knepley @*/
2742764a2aaSMatthew G. Knepley PetscErrorCode PetscDSRegisterAll()
275022a7a5cSMatthew G. Knepley {
276022a7a5cSMatthew G. Knepley   PetscErrorCode ierr;
277022a7a5cSMatthew G. Knepley 
278022a7a5cSMatthew G. Knepley   PetscFunctionBegin;
2792764a2aaSMatthew G. Knepley   PetscDSRegisterAllCalled = PETSC_TRUE;
280022a7a5cSMatthew G. Knepley 
2812764a2aaSMatthew G. Knepley   ierr = PetscDSRegister(PETSCDSBASIC, PetscDSCreate_Basic);CHKERRQ(ierr);
282022a7a5cSMatthew G. Knepley   PetscFunctionReturn(0);
283022a7a5cSMatthew G. Knepley }
284