1 2 #include <petscdm.h> /*I "petscdm.h" I*/ 3 #include <petscdmplex.h> /*I "petscdmplex.h" I*/ 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); 28 29 /*@C 30 DMRegisterAll - Registers all of the DM components in the DM package. 31 32 Not Collective 33 34 Input parameter: 35 . path - The dynamic library path 36 37 Level: advanced 38 39 .seealso: `DMRegister()`, `DMRegisterDestroy()` 40 @*/ 41 PetscErrorCode DMRegisterAll(void) { 42 PetscFunctionBegin; 43 if (DMRegisterAllCalled) PetscFunctionReturn(0); 44 DMRegisterAllCalled = PETSC_TRUE; 45 46 PetscCall(DMRegister(DMDA, DMCreate_DA)); 47 PetscCall(DMRegister(DMCOMPOSITE, DMCreate_Composite)); 48 PetscCall(DMRegister(DMSLICED, DMCreate_Sliced)); 49 PetscCall(DMRegister(DMSHELL, DMCreate_Shell)); 50 PetscCall(DMRegister(DMREDUNDANT, DMCreate_Redundant)); 51 PetscCall(DMRegister(DMPLEX, DMCreate_Plex)); 52 PetscCall(DMRegister(DMPATCH, DMCreate_Patch)); 53 PetscCall(DMRegister(DMSWARM, DMCreate_Swarm)); 54 #if defined(PETSC_HAVE_MOAB) 55 PetscCall(DMRegister(DMMOAB, DMCreate_Moab)); 56 #endif 57 PetscCall(DMRegister(DMNETWORK, DMCreate_Network)); 58 PetscCall(DMRegister(DMFOREST, DMCreate_Forest)); 59 #if defined(PETSC_HAVE_P4EST) 60 PetscCall(DMRegister(DMP4EST, DMCreate_p4est)); 61 PetscCall(DMRegister(DMP8EST, DMCreate_p8est)); 62 #endif 63 PetscCall(DMRegister(DMPRODUCT, DMCreate_Product)); 64 PetscCall(DMRegister(DMSTAG, DMCreate_Stag)); 65 PetscFunctionReturn(0); 66 } 67 68 #include <petscfe.h> /*I "petscfe.h" I*/ 69 70 PETSC_EXTERN PetscErrorCode PetscSpaceCreate_Polynomial(PetscSpace); 71 PETSC_EXTERN PetscErrorCode PetscSpaceCreate_Ptrimmed(PetscSpace); 72 PETSC_EXTERN PetscErrorCode PetscSpaceCreate_Tensor(PetscSpace); 73 PETSC_EXTERN PetscErrorCode PetscSpaceCreate_Sum(PetscSpace); 74 PETSC_EXTERN PetscErrorCode PetscSpaceCreate_Point(PetscSpace); 75 PETSC_EXTERN PetscErrorCode PetscSpaceCreate_Subspace(PetscSpace); 76 PETSC_EXTERN PetscErrorCode PetscSpaceCreate_WXY(PetscSpace); 77 78 /*@C 79 PetscSpaceRegisterAll - Registers all of the PetscSpace components in the PetscFE package. 80 81 Not Collective 82 83 Input parameter: 84 . path - The dynamic library path 85 86 Level: advanced 87 88 .seealso: `PetscSpaceRegister()`, `PetscSpaceRegisterDestroy()` 89 @*/ 90 PetscErrorCode PetscSpaceRegisterAll(void) { 91 PetscFunctionBegin; 92 if (PetscSpaceRegisterAllCalled) PetscFunctionReturn(0); 93 PetscSpaceRegisterAllCalled = PETSC_TRUE; 94 95 PetscCall(PetscSpaceRegister(PETSCSPACEPOLYNOMIAL, PetscSpaceCreate_Polynomial)); 96 PetscCall(PetscSpaceRegister(PETSCSPACEPTRIMMED, PetscSpaceCreate_Ptrimmed)); 97 PetscCall(PetscSpaceRegister(PETSCSPACETENSOR, PetscSpaceCreate_Tensor)); 98 PetscCall(PetscSpaceRegister(PETSCSPACESUM, PetscSpaceCreate_Sum)); 99 PetscCall(PetscSpaceRegister(PETSCSPACEPOINT, PetscSpaceCreate_Point)); 100 PetscCall(PetscSpaceRegister(PETSCSPACESUBSPACE, PetscSpaceCreate_Subspace)); 101 PetscCall(PetscSpaceRegister(PETSCSPACEWXY, PetscSpaceCreate_WXY)); 102 PetscFunctionReturn(0); 103 } 104 105 PETSC_EXTERN PetscErrorCode PetscDualSpaceCreate_Lagrange(PetscDualSpace); 106 PETSC_EXTERN PetscErrorCode PetscDualSpaceCreate_Lagrange_BDM(PetscDualSpace); 107 PETSC_EXTERN PetscErrorCode PetscDualSpaceCreate_Simple(PetscDualSpace); 108 PETSC_EXTERN PetscErrorCode PetscDualSpaceCreate_Refined(PetscDualSpace); 109 110 /*@C 111 PetscDualSpaceRegisterAll - Registers all of the PetscDualSpace components in the PetscFE package. 112 113 Not Collective 114 115 Input parameter: 116 . path - The dynamic library path 117 118 Level: advanced 119 120 .seealso: `PetscDualSpaceRegister()`, `PetscDualSpaceRegisterDestroy()` 121 @*/ 122 PetscErrorCode PetscDualSpaceRegisterAll(void) { 123 PetscFunctionBegin; 124 if (PetscDualSpaceRegisterAllCalled) PetscFunctionReturn(0); 125 PetscDualSpaceRegisterAllCalled = PETSC_TRUE; 126 127 PetscCall(PetscDualSpaceRegister(PETSCDUALSPACELAGRANGE, PetscDualSpaceCreate_Lagrange)); 128 PetscCall(PetscDualSpaceRegister(PETSCDUALSPACEBDM, PetscDualSpaceCreate_Lagrange)); 129 PetscCall(PetscDualSpaceRegister(PETSCDUALSPACESIMPLE, PetscDualSpaceCreate_Simple)); 130 PetscCall(PetscDualSpaceRegister(PETSCDUALSPACEREFINED, PetscDualSpaceCreate_Refined)); 131 PetscFunctionReturn(0); 132 } 133 134 PETSC_EXTERN PetscErrorCode PetscFECreate_Basic(PetscFE); 135 PETSC_EXTERN PetscErrorCode PetscFECreate_Nonaffine(PetscFE); 136 PETSC_EXTERN PetscErrorCode PetscFECreate_Composite(PetscFE); 137 #if defined(PETSC_HAVE_OPENCL) 138 PETSC_EXTERN PetscErrorCode PetscFECreate_OpenCL(PetscFE); 139 #endif 140 141 /*@C 142 PetscFERegisterAll - Registers all of the PetscFE components in the PetscFE package. 143 144 Not Collective 145 146 Input parameter: 147 . path - The dynamic library path 148 149 Level: advanced 150 151 .seealso: `PetscFERegister()`, `PetscFERegisterDestroy()` 152 @*/ 153 PetscErrorCode PetscFERegisterAll(void) { 154 PetscFunctionBegin; 155 if (PetscFERegisterAllCalled) PetscFunctionReturn(0); 156 PetscFERegisterAllCalled = PETSC_TRUE; 157 158 PetscCall(PetscFERegister(PETSCFEBASIC, PetscFECreate_Basic)); 159 PetscCall(PetscFERegister(PETSCFECOMPOSITE, PetscFECreate_Composite)); 160 #if defined(PETSC_HAVE_OPENCL) 161 PetscCall(PetscFERegister(PETSCFEOPENCL, PetscFECreate_OpenCL)); 162 #endif 163 PetscFunctionReturn(0); 164 } 165 #include <petscfv.h> /*I "petscfv.h" I*/ 166 167 PETSC_EXTERN PetscErrorCode PetscLimiterCreate_Sin(PetscLimiter); 168 PETSC_EXTERN PetscErrorCode PetscLimiterCreate_Zero(PetscLimiter); 169 PETSC_EXTERN PetscErrorCode PetscLimiterCreate_None(PetscLimiter); 170 PETSC_EXTERN PetscErrorCode PetscLimiterCreate_Minmod(PetscLimiter); 171 PETSC_EXTERN PetscErrorCode PetscLimiterCreate_VanLeer(PetscLimiter); 172 PETSC_EXTERN PetscErrorCode PetscLimiterCreate_VanAlbada(PetscLimiter); 173 PETSC_EXTERN PetscErrorCode PetscLimiterCreate_Superbee(PetscLimiter); 174 PETSC_EXTERN PetscErrorCode PetscLimiterCreate_MC(PetscLimiter); 175 176 /*@C 177 PetscLimiterRegisterAll - Registers all of the PetscLimiter components in the PetscFV package. 178 179 Not Collective 180 181 Input parameter: 182 . path - The dynamic library path 183 184 Level: advanced 185 186 .seealso: `PetscLimiterRegister()`, `PetscLimiterRegisterDestroy()` 187 @*/ 188 PetscErrorCode PetscLimiterRegisterAll(void) { 189 PetscFunctionBegin; 190 if (PetscLimiterRegisterAllCalled) PetscFunctionReturn(0); 191 PetscLimiterRegisterAllCalled = PETSC_TRUE; 192 193 PetscCall(PetscLimiterRegister(PETSCLIMITERSIN, PetscLimiterCreate_Sin)); 194 PetscCall(PetscLimiterRegister(PETSCLIMITERZERO, PetscLimiterCreate_Zero)); 195 PetscCall(PetscLimiterRegister(PETSCLIMITERNONE, PetscLimiterCreate_None)); 196 PetscCall(PetscLimiterRegister(PETSCLIMITERMINMOD, PetscLimiterCreate_Minmod)); 197 PetscCall(PetscLimiterRegister(PETSCLIMITERVANLEER, PetscLimiterCreate_VanLeer)); 198 PetscCall(PetscLimiterRegister(PETSCLIMITERVANALBADA, PetscLimiterCreate_VanAlbada)); 199 PetscCall(PetscLimiterRegister(PETSCLIMITERSUPERBEE, PetscLimiterCreate_Superbee)); 200 PetscCall(PetscLimiterRegister(PETSCLIMITERMC, PetscLimiterCreate_MC)); 201 PetscFunctionReturn(0); 202 } 203 204 PETSC_EXTERN PetscErrorCode PetscFVCreate_Upwind(PetscFV); 205 PETSC_EXTERN PetscErrorCode PetscFVCreate_LeastSquares(PetscFV); 206 207 /*@C 208 PetscFVRegisterAll - Registers all of the PetscFV components in the PetscFV package. 209 210 Not Collective 211 212 Input parameter: 213 . path - The dynamic library path 214 215 Level: advanced 216 217 .seealso: `PetscFVRegister()`, `PetscFVRegisterDestroy()` 218 @*/ 219 PetscErrorCode PetscFVRegisterAll(void) { 220 PetscFunctionBegin; 221 if (PetscFVRegisterAllCalled) PetscFunctionReturn(0); 222 PetscFVRegisterAllCalled = PETSC_TRUE; 223 224 PetscCall(PetscFVRegister(PETSCFVUPWIND, PetscFVCreate_Upwind)); 225 PetscCall(PetscFVRegister(PETSCFVLEASTSQUARES, PetscFVCreate_LeastSquares)); 226 PetscFunctionReturn(0); 227 } 228 #include <petscds.h> /*I "petscds.h" I*/ 229 230 PETSC_EXTERN PetscErrorCode PetscDSCreate_Basic(PetscDS); 231 232 /*@C 233 PetscDSRegisterAll - Registers all of the PetscDS components in the PetscDS package. 234 235 Not Collective 236 237 Input parameter: 238 . path - The dynamic library path 239 240 Level: advanced 241 242 .seealso: `PetscDSRegister()`, `PetscDSRegisterDestroy()` 243 @*/ 244 PetscErrorCode PetscDSRegisterAll(void) { 245 PetscFunctionBegin; 246 if (PetscDSRegisterAllCalled) PetscFunctionReturn(0); 247 PetscDSRegisterAllCalled = PETSC_TRUE; 248 249 PetscCall(PetscDSRegister(PETSCDSBASIC, PetscDSCreate_Basic)); 250 PetscFunctionReturn(0); 251 } 252