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