1 2 #include <petscdm.h> /*I "petscdm.h" I*/ 3 PETSC_EXTERN PetscErrorCode DMCreate_DA(DM); 4 PETSC_EXTERN PetscErrorCode DMCreate_Composite(DM); 5 PETSC_EXTERN PetscErrorCode DMCreate_Sliced(DM); 6 PETSC_EXTERN PetscErrorCode DMCreate_Shell(DM); 7 PETSC_EXTERN PetscErrorCode DMCreate_ADDA(DM); 8 PETSC_EXTERN PetscErrorCode DMCreate_Redundant(DM); 9 PETSC_EXTERN PetscErrorCode DMCreate_Plex(DM); 10 PETSC_EXTERN PetscErrorCode DMCreate_Patch(DM); 11 #if defined(PETSC_HAVE_SIEVE) 12 PETSC_EXTERN PetscErrorCode DMCreate_Mesh(DM); 13 PETSC_EXTERN PetscErrorCode DMCreate_Cartesian(DM); 14 #endif 15 PETSC_EXTERN PetscErrorCode DMCreate_Moab(DM); 16 17 #undef __FUNCT__ 18 #define __FUNCT__ "DMRegisterAll" 19 /*@C 20 DMRegisterAll - Registers all of the DM components in the DM package. 21 22 Not Collective 23 24 Input parameter: 25 . path - The dynamic library path 26 27 Level: advanced 28 29 .keywords: DM, register, all 30 .seealso: DMRegister(), DMRegisterDestroy(), DMRegisterDynamic() 31 @*/ 32 PetscErrorCode DMRegisterAll(const char path[]) 33 { 34 PetscErrorCode ierr; 35 36 PetscFunctionBegin; 37 DMRegisterAllCalled = PETSC_TRUE; 38 39 ierr = DMRegisterDynamic(DMDA, path, "DMCreate_DA", DMCreate_DA);CHKERRQ(ierr); 40 ierr = DMRegisterDynamic(DMCOMPOSITE, path, "DMCreate_Composite", DMCreate_Composite);CHKERRQ(ierr); 41 ierr = DMRegisterDynamic(DMSLICED, path, "DMCreate_Sliced", DMCreate_Sliced);CHKERRQ(ierr); 42 ierr = DMRegisterDynamic(DMSHELL, path, "DMCreate_Shell", DMCreate_Shell);CHKERRQ(ierr); 43 ierr = DMRegisterDynamic(DMADDA, path, "DMCreate_ADDA", DMCreate_ADDA);CHKERRQ(ierr); 44 ierr = DMRegisterDynamic(DMREDUNDANT, path, "DMCreate_Redundant", DMCreate_Redundant);CHKERRQ(ierr); 45 ierr = DMRegisterDynamic(DMPLEX, path, "DMCreate_Plex", DMCreate_Plex);CHKERRQ(ierr); 46 ierr = DMRegisterDynamic(DMPATCH, path, "DMCreate_Patch", DMCreate_Patch);CHKERRQ(ierr); 47 #if defined(PETSC_HAVE_SIEVE) 48 ierr = DMRegisterDynamic(DMMESH, path, "DMCreate_Mesh", DMCreate_Mesh);CHKERRQ(ierr); 49 ierr = DMRegisterDynamic(DMCARTESIAN, path, "DMCreate_Cartesian", DMCreate_Cartesian);CHKERRQ(ierr); 50 #endif 51 #if defined(PETSC_HAVE_MOAB) 52 ierr = DMRegisterDynamic(DMMOAB, path, "DMCreate_Moab", DMCreate_Moab);CHKERRQ(ierr); 53 #endif 54 PetscFunctionReturn(0); 55 } 56 57