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