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