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