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 106 /*@C 107 PetscDualSpaceRegisterAll - Registers all of the PetscDualSpace components in the PetscFE package. 108 109 Not Collective 110 111 Level: advanced 112 113 .seealso: `PetscDualSpaceRegister()`, `PetscDualSpaceRegisterDestroy()` 114 @*/ 115 PetscErrorCode PetscDualSpaceRegisterAll(void) 116 { 117 PetscFunctionBegin; 118 if (PetscDualSpaceRegisterAllCalled) PetscFunctionReturn(PETSC_SUCCESS); 119 PetscDualSpaceRegisterAllCalled = PETSC_TRUE; 120 121 PetscCall(PetscDualSpaceRegister(PETSCDUALSPACELAGRANGE, PetscDualSpaceCreate_Lagrange)); 122 PetscCall(PetscDualSpaceRegister(PETSCDUALSPACEBDM, PetscDualSpaceCreate_Lagrange)); 123 PetscCall(PetscDualSpaceRegister(PETSCDUALSPACESIMPLE, PetscDualSpaceCreate_Simple)); 124 PetscCall(PetscDualSpaceRegister(PETSCDUALSPACEREFINED, PetscDualSpaceCreate_Refined)); 125 PetscFunctionReturn(PETSC_SUCCESS); 126 } 127 128 PETSC_EXTERN PetscErrorCode PetscFECreate_Basic(PetscFE); 129 PETSC_EXTERN PetscErrorCode PetscFECreate_Nonaffine(PetscFE); 130 PETSC_EXTERN PetscErrorCode PetscFECreate_Composite(PetscFE); 131 #if defined(PETSC_HAVE_OPENCL) 132 PETSC_EXTERN PetscErrorCode PetscFECreate_OpenCL(PetscFE); 133 #endif 134 135 /*@C 136 PetscFERegisterAll - Registers all of the PetscFE components in the PetscFE package. 137 138 Not Collective 139 140 Level: advanced 141 142 .seealso: `PetscFERegister()`, `PetscFERegisterDestroy()` 143 @*/ 144 PetscErrorCode PetscFERegisterAll(void) 145 { 146 PetscFunctionBegin; 147 if (PetscFERegisterAllCalled) PetscFunctionReturn(PETSC_SUCCESS); 148 PetscFERegisterAllCalled = PETSC_TRUE; 149 150 PetscCall(PetscFERegister(PETSCFEBASIC, PetscFECreate_Basic)); 151 PetscCall(PetscFERegister(PETSCFECOMPOSITE, PetscFECreate_Composite)); 152 #if defined(PETSC_HAVE_OPENCL) 153 PetscCall(PetscFERegister(PETSCFEOPENCL, PetscFECreate_OpenCL)); 154 #endif 155 PetscFunctionReturn(PETSC_SUCCESS); 156 } 157 #include <petscfv.h> /*I "petscfv.h" I*/ 158 159 PETSC_EXTERN PetscErrorCode PetscLimiterCreate_Sin(PetscLimiter); 160 PETSC_EXTERN PetscErrorCode PetscLimiterCreate_Zero(PetscLimiter); 161 PETSC_EXTERN PetscErrorCode PetscLimiterCreate_None(PetscLimiter); 162 PETSC_EXTERN PetscErrorCode PetscLimiterCreate_Minmod(PetscLimiter); 163 PETSC_EXTERN PetscErrorCode PetscLimiterCreate_VanLeer(PetscLimiter); 164 PETSC_EXTERN PetscErrorCode PetscLimiterCreate_VanAlbada(PetscLimiter); 165 PETSC_EXTERN PetscErrorCode PetscLimiterCreate_Superbee(PetscLimiter); 166 PETSC_EXTERN PetscErrorCode PetscLimiterCreate_MC(PetscLimiter); 167 168 /*@C 169 PetscLimiterRegisterAll - Registers all of the PetscLimiter components in the PetscFV package. 170 171 Not Collective 172 173 Level: advanced 174 175 .seealso: `PetscLimiterRegister()`, `PetscLimiterRegisterDestroy()` 176 @*/ 177 PetscErrorCode PetscLimiterRegisterAll(void) 178 { 179 PetscFunctionBegin; 180 if (PetscLimiterRegisterAllCalled) PetscFunctionReturn(PETSC_SUCCESS); 181 PetscLimiterRegisterAllCalled = PETSC_TRUE; 182 183 PetscCall(PetscLimiterRegister(PETSCLIMITERSIN, PetscLimiterCreate_Sin)); 184 PetscCall(PetscLimiterRegister(PETSCLIMITERZERO, PetscLimiterCreate_Zero)); 185 PetscCall(PetscLimiterRegister(PETSCLIMITERNONE, PetscLimiterCreate_None)); 186 PetscCall(PetscLimiterRegister(PETSCLIMITERMINMOD, PetscLimiterCreate_Minmod)); 187 PetscCall(PetscLimiterRegister(PETSCLIMITERVANLEER, PetscLimiterCreate_VanLeer)); 188 PetscCall(PetscLimiterRegister(PETSCLIMITERVANALBADA, PetscLimiterCreate_VanAlbada)); 189 PetscCall(PetscLimiterRegister(PETSCLIMITERSUPERBEE, PetscLimiterCreate_Superbee)); 190 PetscCall(PetscLimiterRegister(PETSCLIMITERMC, PetscLimiterCreate_MC)); 191 PetscFunctionReturn(PETSC_SUCCESS); 192 } 193 194 PETSC_EXTERN PetscErrorCode PetscFVCreate_Upwind(PetscFV); 195 PETSC_EXTERN PetscErrorCode PetscFVCreate_LeastSquares(PetscFV); 196 197 /*@C 198 PetscFVRegisterAll - Registers all of the PetscFV components in the PetscFV package. 199 200 Not Collective 201 202 Level: advanced 203 204 .seealso: `PetscFVRegister()`, `PetscFVRegisterDestroy()` 205 @*/ 206 PetscErrorCode PetscFVRegisterAll(void) 207 { 208 PetscFunctionBegin; 209 if (PetscFVRegisterAllCalled) PetscFunctionReturn(PETSC_SUCCESS); 210 PetscFVRegisterAllCalled = PETSC_TRUE; 211 212 PetscCall(PetscFVRegister(PETSCFVUPWIND, PetscFVCreate_Upwind)); 213 PetscCall(PetscFVRegister(PETSCFVLEASTSQUARES, PetscFVCreate_LeastSquares)); 214 PetscFunctionReturn(PETSC_SUCCESS); 215 } 216 #include <petscds.h> /*I "petscds.h" I*/ 217 218 PETSC_EXTERN PetscErrorCode PetscDSCreate_Basic(PetscDS); 219 220 /*@C 221 PetscDSRegisterAll - Registers all of the PetscDS components in the PetscDS package. 222 223 Not Collective 224 225 Level: advanced 226 227 .seealso: `PetscDSRegister()`, `PetscDSRegisterDestroy()` 228 @*/ 229 PetscErrorCode PetscDSRegisterAll(void) 230 { 231 PetscFunctionBegin; 232 if (PetscDSRegisterAllCalled) PetscFunctionReturn(PETSC_SUCCESS); 233 PetscDSRegisterAllCalled = PETSC_TRUE; 234 235 PetscCall(PetscDSRegister(PETSCDSBASIC, PetscDSCreate_Basic)); 236 PetscFunctionReturn(PETSC_SUCCESS); 237 } 238