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