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 #include <petscfe.h> /*I "petscfe.h" I*/ 72 73 PETSC_EXTERN PetscErrorCode PetscSpaceCreate_Polynomial(PetscSpace); 74 PETSC_EXTERN PetscErrorCode PetscSpaceCreate_Ptrimmed(PetscSpace); 75 PETSC_EXTERN PetscErrorCode PetscSpaceCreate_Tensor(PetscSpace); 76 PETSC_EXTERN PetscErrorCode PetscSpaceCreate_Sum(PetscSpace); 77 PETSC_EXTERN PetscErrorCode PetscSpaceCreate_Point(PetscSpace); 78 PETSC_EXTERN PetscErrorCode PetscSpaceCreate_Subspace(PetscSpace); 79 80 /*@C 81 PetscSpaceRegisterAll - Registers all of the PetscSpace components in the PetscFE package. 82 83 Not Collective 84 85 Input parameter: 86 . path - The dynamic library path 87 88 Level: advanced 89 90 .seealso: PetscSpaceRegister(), PetscSpaceRegisterDestroy() 91 @*/ 92 PetscErrorCode PetscSpaceRegisterAll(void) 93 { 94 PetscErrorCode ierr; 95 96 PetscFunctionBegin; 97 if (PetscSpaceRegisterAllCalled) PetscFunctionReturn(0); 98 PetscSpaceRegisterAllCalled = PETSC_TRUE; 99 100 ierr = PetscSpaceRegister(PETSCSPACEPOLYNOMIAL, PetscSpaceCreate_Polynomial);CHKERRQ(ierr); 101 ierr = PetscSpaceRegister(PETSCSPACEPTRIMMED, PetscSpaceCreate_Ptrimmed);CHKERRQ(ierr); 102 ierr = PetscSpaceRegister(PETSCSPACETENSOR, PetscSpaceCreate_Tensor);CHKERRQ(ierr); 103 ierr = PetscSpaceRegister(PETSCSPACESUM, PetscSpaceCreate_Sum);CHKERRQ(ierr); 104 ierr = PetscSpaceRegister(PETSCSPACEPOINT, PetscSpaceCreate_Point);CHKERRQ(ierr); 105 ierr = PetscSpaceRegister(PETSCSPACESUBSPACE, PetscSpaceCreate_Subspace);CHKERRQ(ierr); 106 PetscFunctionReturn(0); 107 } 108 109 PETSC_EXTERN PetscErrorCode PetscDualSpaceCreate_Lagrange(PetscDualSpace); 110 PETSC_EXTERN PetscErrorCode PetscDualSpaceCreate_Lagrange_BDM(PetscDualSpace); 111 PETSC_EXTERN PetscErrorCode PetscDualSpaceCreate_Simple(PetscDualSpace); 112 PETSC_EXTERN PetscErrorCode PetscDualSpaceCreate_Refined(PetscDualSpace); 113 114 /*@C 115 PetscDualSpaceRegisterAll - Registers all of the PetscDualSpace components in the PetscFE package. 116 117 Not Collective 118 119 Input parameter: 120 . path - The dynamic library path 121 122 Level: advanced 123 124 .seealso: PetscDualSpaceRegister(), PetscDualSpaceRegisterDestroy() 125 @*/ 126 PetscErrorCode PetscDualSpaceRegisterAll(void) 127 { 128 PetscErrorCode ierr; 129 130 PetscFunctionBegin; 131 if (PetscDualSpaceRegisterAllCalled) PetscFunctionReturn(0); 132 PetscDualSpaceRegisterAllCalled = PETSC_TRUE; 133 134 ierr = PetscDualSpaceRegister(PETSCDUALSPACELAGRANGE, PetscDualSpaceCreate_Lagrange);CHKERRQ(ierr); 135 ierr = PetscDualSpaceRegister(PETSCDUALSPACEBDM, PetscDualSpaceCreate_Lagrange);CHKERRQ(ierr); 136 ierr = PetscDualSpaceRegister(PETSCDUALSPACESIMPLE, PetscDualSpaceCreate_Simple);CHKERRQ(ierr); 137 ierr = PetscDualSpaceRegister(PETSCDUALSPACEREFINED, PetscDualSpaceCreate_Refined);CHKERRQ(ierr); 138 PetscFunctionReturn(0); 139 } 140 141 PETSC_EXTERN PetscErrorCode PetscFECreate_Basic(PetscFE); 142 PETSC_EXTERN PetscErrorCode PetscFECreate_Nonaffine(PetscFE); 143 PETSC_EXTERN PetscErrorCode PetscFECreate_Composite(PetscFE); 144 #if defined(PETSC_HAVE_OPENCL) 145 PETSC_EXTERN PetscErrorCode PetscFECreate_OpenCL(PetscFE); 146 #endif 147 148 /*@C 149 PetscFERegisterAll - Registers all of the PetscFE components in the PetscFE package. 150 151 Not Collective 152 153 Input parameter: 154 . path - The dynamic library path 155 156 Level: advanced 157 158 .seealso: PetscFERegister(), PetscFERegisterDestroy() 159 @*/ 160 PetscErrorCode PetscFERegisterAll(void) 161 { 162 PetscErrorCode ierr; 163 164 PetscFunctionBegin; 165 if (PetscFERegisterAllCalled) PetscFunctionReturn(0); 166 PetscFERegisterAllCalled = PETSC_TRUE; 167 168 ierr = PetscFERegister(PETSCFEBASIC, PetscFECreate_Basic);CHKERRQ(ierr); 169 ierr = PetscFERegister(PETSCFECOMPOSITE, PetscFECreate_Composite);CHKERRQ(ierr); 170 #if defined(PETSC_HAVE_OPENCL) 171 ierr = PetscFERegister(PETSCFEOPENCL, PetscFECreate_OpenCL);CHKERRQ(ierr); 172 #endif 173 PetscFunctionReturn(0); 174 } 175 #include <petscfv.h> /*I "petscfv.h" I*/ 176 177 PETSC_EXTERN PetscErrorCode PetscLimiterCreate_Sin(PetscLimiter); 178 PETSC_EXTERN PetscErrorCode PetscLimiterCreate_Zero(PetscLimiter); 179 PETSC_EXTERN PetscErrorCode PetscLimiterCreate_None(PetscLimiter); 180 PETSC_EXTERN PetscErrorCode PetscLimiterCreate_Minmod(PetscLimiter); 181 PETSC_EXTERN PetscErrorCode PetscLimiterCreate_VanLeer(PetscLimiter); 182 PETSC_EXTERN PetscErrorCode PetscLimiterCreate_VanAlbada(PetscLimiter); 183 PETSC_EXTERN PetscErrorCode PetscLimiterCreate_Superbee(PetscLimiter); 184 PETSC_EXTERN PetscErrorCode PetscLimiterCreate_MC(PetscLimiter); 185 186 /*@C 187 PetscLimiterRegisterAll - Registers all of the PetscLimiter components in the PetscFV package. 188 189 Not Collective 190 191 Input parameter: 192 . path - The dynamic library path 193 194 Level: advanced 195 196 .seealso: PetscLimiterRegister(), PetscLimiterRegisterDestroy() 197 @*/ 198 PetscErrorCode PetscLimiterRegisterAll(void) 199 { 200 PetscErrorCode ierr; 201 202 PetscFunctionBegin; 203 if (PetscLimiterRegisterAllCalled) PetscFunctionReturn(0); 204 PetscLimiterRegisterAllCalled = PETSC_TRUE; 205 206 ierr = PetscLimiterRegister(PETSCLIMITERSIN, PetscLimiterCreate_Sin);CHKERRQ(ierr); 207 ierr = PetscLimiterRegister(PETSCLIMITERZERO, PetscLimiterCreate_Zero);CHKERRQ(ierr); 208 ierr = PetscLimiterRegister(PETSCLIMITERNONE, PetscLimiterCreate_None);CHKERRQ(ierr); 209 ierr = PetscLimiterRegister(PETSCLIMITERMINMOD, PetscLimiterCreate_Minmod);CHKERRQ(ierr); 210 ierr = PetscLimiterRegister(PETSCLIMITERVANLEER, PetscLimiterCreate_VanLeer);CHKERRQ(ierr); 211 ierr = PetscLimiterRegister(PETSCLIMITERVANALBADA, PetscLimiterCreate_VanAlbada);CHKERRQ(ierr); 212 ierr = PetscLimiterRegister(PETSCLIMITERSUPERBEE, PetscLimiterCreate_Superbee);CHKERRQ(ierr); 213 ierr = PetscLimiterRegister(PETSCLIMITERMC, PetscLimiterCreate_MC);CHKERRQ(ierr); 214 PetscFunctionReturn(0); 215 } 216 217 PETSC_EXTERN PetscErrorCode PetscFVCreate_Upwind(PetscFV); 218 PETSC_EXTERN PetscErrorCode PetscFVCreate_LeastSquares(PetscFV); 219 220 /*@C 221 PetscFVRegisterAll - Registers all of the PetscFV components in the PetscFV package. 222 223 Not Collective 224 225 Input parameter: 226 . path - The dynamic library path 227 228 Level: advanced 229 230 .seealso: PetscFVRegister(), PetscFVRegisterDestroy() 231 @*/ 232 PetscErrorCode PetscFVRegisterAll(void) 233 { 234 PetscErrorCode ierr; 235 236 PetscFunctionBegin; 237 if (PetscFVRegisterAllCalled) PetscFunctionReturn(0); 238 PetscFVRegisterAllCalled = PETSC_TRUE; 239 240 ierr = PetscFVRegister(PETSCFVUPWIND, PetscFVCreate_Upwind);CHKERRQ(ierr); 241 ierr = PetscFVRegister(PETSCFVLEASTSQUARES, PetscFVCreate_LeastSquares);CHKERRQ(ierr); 242 PetscFunctionReturn(0); 243 } 244 #include <petscds.h> /*I "petscds.h" I*/ 245 246 PETSC_EXTERN PetscErrorCode PetscDSCreate_Basic(PetscDS); 247 248 /*@C 249 PetscDSRegisterAll - Registers all of the PetscDS components in the PetscDS package. 250 251 Not Collective 252 253 Input parameter: 254 . path - The dynamic library path 255 256 Level: advanced 257 258 .seealso: PetscDSRegister(), PetscDSRegisterDestroy() 259 @*/ 260 PetscErrorCode PetscDSRegisterAll(void) 261 { 262 PetscErrorCode ierr; 263 264 PetscFunctionBegin; 265 if (PetscDSRegisterAllCalled) PetscFunctionReturn(0); 266 PetscDSRegisterAllCalled = PETSC_TRUE; 267 268 ierr = PetscDSRegister(PETSCDSBASIC, PetscDSCreate_Basic);CHKERRQ(ierr); 269 PetscFunctionReturn(0); 270 } 271