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