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