xref: /petsc/src/dm/interface/dmregall.c (revision 33562214c30be6a002d9b3dac1ce89304b6b63a2)
1 
2 #include <petscdm.h>     /*I  "petscdm.h"  I*/
3 PETSC_EXTERN PetscErrorCode DMCreate_DA(DM);
4 PETSC_EXTERN PetscErrorCode DMCreate_Composite(DM);
5 PETSC_EXTERN PetscErrorCode DMCreate_Sliced(DM);
6 PETSC_EXTERN PetscErrorCode DMCreate_Shell(DM);
7 PETSC_EXTERN PetscErrorCode DMCreate_ADDA(DM);
8 PETSC_EXTERN PetscErrorCode DMCreate_Redundant(DM);
9 PETSC_EXTERN PetscErrorCode DMCreate_Plex(DM);
10 PETSC_EXTERN PetscErrorCode DMCreate_Patch(DM);
11 #if defined(PETSC_HAVE_SIEVE)
12 PETSC_EXTERN PetscErrorCode DMCreate_Mesh(DM);
13 PETSC_EXTERN PetscErrorCode DMCreate_Cartesian(DM);
14 #endif
15 PETSC_EXTERN PetscErrorCode  DMCreate_Moab(DM);
16 PETSC_EXTERN PetscErrorCode DMCreate_Circuit(DM);
17 
18 #undef __FUNCT__
19 #define __FUNCT__ "DMRegisterAll"
20 /*@C
21   DMRegisterAll - Registers all of the DM components in the DM package.
22 
23   Not Collective
24 
25   Input parameter:
26 . path - The dynamic library path
27 
28   Level: advanced
29 
30 .keywords: DM, register, all
31 .seealso:  DMRegister(), DMRegisterDestroy()
32 @*/
33 PetscErrorCode  DMRegisterAll()
34 {
35   PetscErrorCode ierr;
36 
37   PetscFunctionBegin;
38   DMRegisterAllCalled = PETSC_TRUE;
39 
40   ierr = DMRegister(DMDA,         DMCreate_DA);CHKERRQ(ierr);
41   ierr = DMRegister(DMCOMPOSITE,  DMCreate_Composite);CHKERRQ(ierr);
42   ierr = DMRegister(DMSLICED,     DMCreate_Sliced);CHKERRQ(ierr);
43   ierr = DMRegister(DMSHELL,      DMCreate_Shell);CHKERRQ(ierr);
44   ierr = DMRegister(DMADDA,       DMCreate_ADDA);CHKERRQ(ierr);
45   ierr = DMRegister(DMREDUNDANT,  DMCreate_Redundant);CHKERRQ(ierr);
46   ierr = DMRegister(DMPLEX,       DMCreate_Plex);CHKERRQ(ierr);
47   ierr = DMRegister(DMPATCH,      DMCreate_Patch);CHKERRQ(ierr);
48 #if defined(PETSC_HAVE_SIEVE)
49   ierr = DMRegister(DMMESH,       DMCreate_Mesh);CHKERRQ(ierr);
50   ierr = DMRegister(DMCARTESIAN,  DMCreate_Cartesian);CHKERRQ(ierr);
51 #endif
52 #if defined(PETSC_HAVE_MOAB)
53   ierr = DMRegister(DMMOAB,       DMCreate_Moab);CHKERRQ(ierr);
54 #endif
55   ierr = DMRegister(DMCIRCUIT,    DMCreate_Circuit);CHKERRQ(ierr);
56   PetscFunctionReturn(0);
57 }
58 #include <petscfe.h>     /*I  "petscfe.h"  I*/
59 
60 PETSC_EXTERN PetscErrorCode PetscSpaceCreate_Polynomial(PetscSpace);
61 
62 #undef __FUNCT__
63 #define __FUNCT__ "PetscSpaceRegisterAll"
64 /*@C
65   PetscSpaceRegisterAll - Registers all of the PetscSpace components in the PetscFE package.
66 
67   Not Collective
68 
69   Input parameter:
70 . path - The dynamic library path
71 
72   Level: advanced
73 
74 .keywords: PetscSpace, register, all
75 .seealso:  PetscSpaceRegister(), PetscSpaceRegisterDestroy()
76 @*/
77 PetscErrorCode PetscSpaceRegisterAll()
78 {
79   PetscErrorCode ierr;
80 
81   PetscFunctionBegin;
82   PetscSpaceRegisterAllCalled = PETSC_TRUE;
83 
84   ierr = PetscSpaceRegister(PETSCSPACEPOLYNOMIAL, PetscSpaceCreate_Polynomial);CHKERRQ(ierr);
85   PetscFunctionReturn(0);
86 }
87 
88 PETSC_EXTERN PetscErrorCode PetscDualSpaceCreate_Lagrange(PetscDualSpace);
89 
90 #undef __FUNCT__
91 #define __FUNCT__ "PetscDualSpaceRegisterAll"
92 /*@C
93   PetscDualSpaceRegisterAll - Registers all of the PetscDualSpace components in the PetscFE package.
94 
95   Not Collective
96 
97   Input parameter:
98 . path - The dynamic library path
99 
100   Level: advanced
101 
102 .keywords: PetscDualSpace, register, all
103 .seealso:  PetscDualSpaceRegister(), PetscDualSpaceRegisterDestroy()
104 @*/
105 PetscErrorCode PetscDualSpaceRegisterAll()
106 {
107   PetscErrorCode ierr;
108 
109   PetscFunctionBegin;
110   PetscDualSpaceRegisterAllCalled = PETSC_TRUE;
111 
112   ierr = PetscDualSpaceRegister(PETSCDUALSPACELAGRANGE, PetscDualSpaceCreate_Lagrange);CHKERRQ(ierr);
113   PetscFunctionReturn(0);
114 }
115 
116 PETSC_EXTERN PetscErrorCode PetscFECreate_Basic(PetscFE);
117 #ifdef PETSC_HAVE_OPENCL
118 PETSC_EXTERN PetscErrorCode PetscFECreate_OpenCL(PetscFE);
119 #endif
120 
121 #undef __FUNCT__
122 #define __FUNCT__ "PetscFERegisterAll"
123 /*@C
124   PetscFERegisterAll - Registers all of the PetscFE components in the PetscFE package.
125 
126   Not Collective
127 
128   Input parameter:
129 . path - The dynamic library path
130 
131   Level: advanced
132 
133 .keywords: PetscFE, register, all
134 .seealso:  PetscFERegister(), PetscFERegisterDestroy()
135 @*/
136 PetscErrorCode PetscFERegisterAll()
137 {
138   PetscErrorCode ierr;
139 
140   PetscFunctionBegin;
141   PetscFERegisterAllCalled = PETSC_TRUE;
142 
143   ierr = PetscFERegister(PETSCFEBASIC,  PetscFECreate_Basic);CHKERRQ(ierr);
144 #ifdef PETSC_HAVE_OPENCL
145   ierr = PetscFERegister(PETSCFEOPENCL, PetscFECreate_OpenCL);CHKERRQ(ierr);
146 #endif
147   PetscFunctionReturn(0);
148 }
149