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_ADDA(DM); 8 extern PetscErrorCode DMCreate_IGA(DM); 9 #ifdef PETSC_HAVE_SIEVE 10 extern PetscErrorCode DMCreate_Mesh(DM); 11 extern PetscErrorCode DMCreate_Cartesian(DM); 12 #endif 13 EXTERN_C_END 14 15 #undef __FUNCT__ 16 #define __FUNCT__ "DMRegisterAll" 17 /*@C 18 DMRegisterAll - Registers all of the DM components in the DM package. 19 20 Not Collective 21 22 Input parameter: 23 . path - The dynamic library path 24 25 Level: advanced 26 27 .keywords: DM, register, all 28 .seealso: DMRegister(), DMRegisterDestroy(), DMRegisterDynamic() 29 @*/ 30 PetscErrorCode DMRegisterAll(const char path[]) 31 { 32 PetscErrorCode ierr; 33 34 PetscFunctionBegin; 35 DMRegisterAllCalled = PETSC_TRUE; 36 ierr = DMRegisterDynamic(DMDA, path, "DMCreate_DA", DMCreate_DA);CHKERRQ(ierr); 37 ierr = DMRegisterDynamic(DMCOMPOSITE, path, "DMCreate_Composite", DMCreate_Composite);CHKERRQ(ierr); 38 ierr = DMRegisterDynamic(DMSLICED, path, "DMCreate_Sliced", DMCreate_Sliced);CHKERRQ(ierr); 39 ierr = DMRegisterDynamic(DMADDA, path, "DMCreate_ADDA", DMCreate_ADDA);CHKERRQ(ierr); 40 ierr = DMRegisterDynamic(DMIGA, path, "DMCreate_IGA", DMCreate_IGA);CHKERRQ(ierr); 41 #ifdef PETSC_HAVE_SIEVE 42 ierr = DMRegisterDynamic(DMMESH, path, "DMCreate_Mesh", DMCreate_Mesh);CHKERRQ(ierr); 43 ierr = DMRegisterDynamic(DMCARTESIAN, path, "DMCreate_Cartesian", DMCreate_Cartesian);CHKERRQ(ierr); 44 #endif 45 PetscFunctionReturn(0); 46 } 47 48