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 #if defined(PETSC_HAVE_MOAB) 17 PETSC_EXTERN PetscErrorCode DMCreate_Moab(DM); 18 #endif 19 PETSC_EXTERN PetscErrorCode DMCreate_Network(DM); 20 PETSC_EXTERN PetscErrorCode DMCreate_Forest(DM); 21 #if defined(PETSC_HAVE_P4EST) 22 PETSC_EXTERN PetscErrorCode DMCreate_p4est(DM); 23 PETSC_EXTERN PetscErrorCode DMCreate_p8est(DM); 24 #endif 25 26 #undef __FUNCT__ 27 #define __FUNCT__ "DMRegisterAll" 28 /*@C 29 DMRegisterAll - Registers all of the DM components in the DM package. 30 31 Not Collective 32 33 Input parameter: 34 . path - The dynamic library path 35 36 Level: advanced 37 38 .keywords: DM, register, all 39 .seealso: DMRegister(), DMRegisterDestroy() 40 @*/ 41 PetscErrorCode DMRegisterAll() 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 #if defined(PETSC_HAVE_MOAB) 57 ierr = DMRegister(DMMOAB, DMCreate_Moab);CHKERRQ(ierr); 58 #endif 59 ierr = DMRegister(DMNETWORK, DMCreate_Network);CHKERRQ(ierr); 60 ierr = DMRegister(DMFOREST, DMCreate_Forest);CHKERRQ(ierr); 61 #if defined(PETSC_HAVE_P4EST) 62 ierr = DMRegister(DMP4EST, DMCreate_p4est);CHKERRQ(ierr); 63 ierr = DMRegister(DMP8EST, DMCreate_p8est);CHKERRQ(ierr); 64 #endif 65 PetscFunctionReturn(0); 66 } 67 68 PETSC_EXTERN PetscErrorCode PetscPartitionerCreate_Chaco(PetscPartitioner); 69 PETSC_EXTERN PetscErrorCode PetscPartitionerCreate_ParMetis(PetscPartitioner); 70 PETSC_EXTERN PetscErrorCode PetscPartitionerCreate_Shell(PetscPartitioner); 71 PETSC_EXTERN PetscErrorCode PetscPartitionerCreate_Simple(PetscPartitioner); 72 73 #undef __FUNCT__ 74 #define __FUNCT__ "PetscPartitionerRegisterAll" 75 /*@C 76 PetscPartitionerRegisterAll - Registers all of the PetscPartitioner components in the DM package. 77 78 Not Collective 79 80 Input parameter: 81 . path - The dynamic library path 82 83 Level: advanced 84 85 .keywords: PetscPartitioner, register, all 86 .seealso: PetscPartitionerRegister(), PetscPartitionerRegisterDestroy() 87 @*/ 88 PetscErrorCode PetscPartitionerRegisterAll() 89 { 90 PetscErrorCode ierr; 91 92 PetscFunctionBegin; 93 if (PetscPartitionerRegisterAllCalled) PetscFunctionReturn(0); 94 PetscPartitionerRegisterAllCalled = PETSC_TRUE; 95 96 ierr = PetscPartitionerRegister(PETSCPARTITIONERCHACO, PetscPartitionerCreate_Chaco);CHKERRQ(ierr); 97 ierr = PetscPartitionerRegister(PETSCPARTITIONERPARMETIS, PetscPartitionerCreate_ParMetis);CHKERRQ(ierr); 98 ierr = PetscPartitionerRegister(PETSCPARTITIONERSHELL, PetscPartitionerCreate_Shell);CHKERRQ(ierr); 99 ierr = PetscPartitionerRegister(PETSCPARTITIONERSIMPLE, PetscPartitionerCreate_Simple);CHKERRQ(ierr); 100 PetscFunctionReturn(0); 101 } 102 #include <petscfe.h> /*I "petscfe.h" I*/ 103 104 PETSC_EXTERN PetscErrorCode PetscSpaceCreate_Polynomial(PetscSpace); 105 PETSC_EXTERN PetscErrorCode PetscSpaceCreate_DG(PetscSpace); 106 107 #undef __FUNCT__ 108 #define __FUNCT__ "PetscSpaceRegisterAll" 109 /*@C 110 PetscSpaceRegisterAll - Registers all of the PetscSpace components in the PetscFE package. 111 112 Not Collective 113 114 Input parameter: 115 . path - The dynamic library path 116 117 Level: advanced 118 119 .keywords: PetscSpace, register, all 120 .seealso: PetscSpaceRegister(), PetscSpaceRegisterDestroy() 121 @*/ 122 PetscErrorCode PetscSpaceRegisterAll() 123 { 124 PetscErrorCode ierr; 125 126 PetscFunctionBegin; 127 if (PetscSpaceRegisterAllCalled) PetscFunctionReturn(0); 128 PetscSpaceRegisterAllCalled = PETSC_TRUE; 129 130 ierr = PetscSpaceRegister(PETSCSPACEPOLYNOMIAL, PetscSpaceCreate_Polynomial);CHKERRQ(ierr); 131 ierr = PetscSpaceRegister(PETSCSPACEDG, PetscSpaceCreate_DG);CHKERRQ(ierr); 132 PetscFunctionReturn(0); 133 } 134 135 PETSC_EXTERN PetscErrorCode PetscDualSpaceCreate_Lagrange(PetscDualSpace); 136 PETSC_EXTERN PetscErrorCode PetscDualSpaceCreate_Simple(PetscDualSpace); 137 138 #undef __FUNCT__ 139 #define __FUNCT__ "PetscDualSpaceRegisterAll" 140 /*@C 141 PetscDualSpaceRegisterAll - Registers all of the PetscDualSpace components in the PetscFE package. 142 143 Not Collective 144 145 Input parameter: 146 . path - The dynamic library path 147 148 Level: advanced 149 150 .keywords: PetscDualSpace, register, all 151 .seealso: PetscDualSpaceRegister(), PetscDualSpaceRegisterDestroy() 152 @*/ 153 PetscErrorCode PetscDualSpaceRegisterAll() 154 { 155 PetscErrorCode ierr; 156 157 PetscFunctionBegin; 158 if (PetscDualSpaceRegisterAllCalled) PetscFunctionReturn(0); 159 PetscDualSpaceRegisterAllCalled = PETSC_TRUE; 160 161 ierr = PetscDualSpaceRegister(PETSCDUALSPACELAGRANGE, PetscDualSpaceCreate_Lagrange);CHKERRQ(ierr); 162 ierr = PetscDualSpaceRegister(PETSCDUALSPACESIMPLE, PetscDualSpaceCreate_Simple);CHKERRQ(ierr); 163 PetscFunctionReturn(0); 164 } 165 166 PETSC_EXTERN PetscErrorCode PetscFECreate_Basic(PetscFE); 167 PETSC_EXTERN PetscErrorCode PetscFECreate_Nonaffine(PetscFE); 168 PETSC_EXTERN PetscErrorCode PetscFECreate_Composite(PetscFE); 169 #ifdef PETSC_HAVE_OPENCL 170 PETSC_EXTERN PetscErrorCode PetscFECreate_OpenCL(PetscFE); 171 #endif 172 173 #undef __FUNCT__ 174 #define __FUNCT__ "PetscFERegisterAll" 175 /*@C 176 PetscFERegisterAll - Registers all of the PetscFE components in the PetscFE package. 177 178 Not Collective 179 180 Input parameter: 181 . path - The dynamic library path 182 183 Level: advanced 184 185 .keywords: PetscFE, register, all 186 .seealso: PetscFERegister(), PetscFERegisterDestroy() 187 @*/ 188 PetscErrorCode PetscFERegisterAll() 189 { 190 PetscErrorCode ierr; 191 192 PetscFunctionBegin; 193 if (PetscFERegisterAllCalled) PetscFunctionReturn(0); 194 PetscFERegisterAllCalled = PETSC_TRUE; 195 196 ierr = PetscFERegister(PETSCFEBASIC, PetscFECreate_Basic);CHKERRQ(ierr); 197 ierr = PetscFERegister(PETSCFENONAFFINE, PetscFECreate_Nonaffine);CHKERRQ(ierr); 198 ierr = PetscFERegister(PETSCFECOMPOSITE, PetscFECreate_Composite);CHKERRQ(ierr); 199 #ifdef PETSC_HAVE_OPENCL 200 ierr = PetscFERegister(PETSCFEOPENCL, PetscFECreate_OpenCL);CHKERRQ(ierr); 201 #endif 202 PetscFunctionReturn(0); 203 } 204 #include <petscfv.h> /*I "petscfv.h" I*/ 205 206 PETSC_EXTERN PetscErrorCode PetscLimiterCreate_Sin(PetscLimiter); 207 PETSC_EXTERN PetscErrorCode PetscLimiterCreate_Zero(PetscLimiter); 208 PETSC_EXTERN PetscErrorCode PetscLimiterCreate_None(PetscLimiter); 209 PETSC_EXTERN PetscErrorCode PetscLimiterCreate_Minmod(PetscLimiter); 210 PETSC_EXTERN PetscErrorCode PetscLimiterCreate_VanLeer(PetscLimiter); 211 PETSC_EXTERN PetscErrorCode PetscLimiterCreate_VanAlbada(PetscLimiter); 212 PETSC_EXTERN PetscErrorCode PetscLimiterCreate_Superbee(PetscLimiter); 213 PETSC_EXTERN PetscErrorCode PetscLimiterCreate_MC(PetscLimiter); 214 215 #undef __FUNCT__ 216 #define __FUNCT__ "PetscLimiterRegisterAll" 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 .keywords: PetscLimiter, register, all 228 .seealso: PetscLimiterRegister(), PetscLimiterRegisterDestroy() 229 @*/ 230 PetscErrorCode PetscLimiterRegisterAll() 231 { 232 PetscErrorCode ierr; 233 234 PetscFunctionBegin; 235 if (PetscLimiterRegisterAllCalled) PetscFunctionReturn(0); 236 PetscLimiterRegisterAllCalled = PETSC_TRUE; 237 238 ierr = PetscLimiterRegister(PETSCLIMITERSIN, PetscLimiterCreate_Sin);CHKERRQ(ierr); 239 ierr = PetscLimiterRegister(PETSCLIMITERZERO, PetscLimiterCreate_Zero);CHKERRQ(ierr); 240 ierr = PetscLimiterRegister(PETSCLIMITERNONE, PetscLimiterCreate_None);CHKERRQ(ierr); 241 ierr = PetscLimiterRegister(PETSCLIMITERMINMOD, PetscLimiterCreate_Minmod);CHKERRQ(ierr); 242 ierr = PetscLimiterRegister(PETSCLIMITERVANLEER, PetscLimiterCreate_VanLeer);CHKERRQ(ierr); 243 ierr = PetscLimiterRegister(PETSCLIMITERVANALBADA, PetscLimiterCreate_VanAlbada);CHKERRQ(ierr); 244 ierr = PetscLimiterRegister(PETSCLIMITERSUPERBEE, PetscLimiterCreate_Superbee);CHKERRQ(ierr); 245 ierr = PetscLimiterRegister(PETSCLIMITERMC, PetscLimiterCreate_MC);CHKERRQ(ierr); 246 PetscFunctionReturn(0); 247 } 248 249 PETSC_EXTERN PetscErrorCode PetscFVCreate_Upwind(PetscFV); 250 PETSC_EXTERN PetscErrorCode PetscFVCreate_LeastSquares(PetscFV); 251 252 #undef __FUNCT__ 253 #define __FUNCT__ "PetscFVRegisterAll" 254 /*@C 255 PetscFVRegisterAll - Registers all of the PetscFV components in the PetscFV package. 256 257 Not Collective 258 259 Input parameter: 260 . path - The dynamic library path 261 262 Level: advanced 263 264 .keywords: PetscFV, register, all 265 .seealso: PetscFVRegister(), PetscFVRegisterDestroy() 266 @*/ 267 PetscErrorCode PetscFVRegisterAll() 268 { 269 PetscErrorCode ierr; 270 271 PetscFunctionBegin; 272 if (PetscFVRegisterAllCalled) PetscFunctionReturn(0); 273 PetscFVRegisterAllCalled = PETSC_TRUE; 274 275 ierr = PetscFVRegister(PETSCFVUPWIND, PetscFVCreate_Upwind);CHKERRQ(ierr); 276 ierr = PetscFVRegister(PETSCFVLEASTSQUARES, PetscFVCreate_LeastSquares);CHKERRQ(ierr); 277 PetscFunctionReturn(0); 278 } 279 #include <petscds.h> /*I "petscds.h" I*/ 280 281 PETSC_EXTERN PetscErrorCode PetscDSCreate_Basic(PetscDS); 282 283 #undef __FUNCT__ 284 #define __FUNCT__ "PetscDSRegisterAll" 285 /*@C 286 PetscDSRegisterAll - Registers all of the PetscDS components in the PetscDS package. 287 288 Not Collective 289 290 Input parameter: 291 . path - The dynamic library path 292 293 Level: advanced 294 295 .keywords: PetscDS, register, all 296 .seealso: PetscDSRegister(), PetscDSRegisterDestroy() 297 @*/ 298 PetscErrorCode PetscDSRegisterAll() 299 { 300 PetscErrorCode ierr; 301 302 PetscFunctionBegin; 303 if (PetscDSRegisterAllCalled) PetscFunctionReturn(0); 304 PetscDSRegisterAllCalled = PETSC_TRUE; 305 306 ierr = PetscDSRegister(PETSCDSBASIC, PetscDSCreate_Basic);CHKERRQ(ierr); 307 PetscFunctionReturn(0); 308 } 309