#include /*I "petscdm.h" I*/ EXTERN_C_BEGIN extern PetscErrorCode DMCreate_DA(DM); extern PetscErrorCode DMCreate_Composite(DM); extern PetscErrorCode DMCreate_Sliced(DM); extern PetscErrorCode DMCreate_ADDA(DM); extern PetscErrorCode DMCreate_IGA(DM); #ifdef PETSC_HAVE_SIEVE extern PetscErrorCode DMCreate_Mesh(DM); extern PetscErrorCode DMCreate_Cartesian(DM); #endif EXTERN_C_END #undef __FUNCT__ #define __FUNCT__ "DMRegisterAll" /*@C DMRegisterAll - Registers all of the DM components in the DM package. Not Collective Input parameter: . path - The dynamic library path Level: advanced .keywords: DM, register, all .seealso: DMRegister(), DMRegisterDestroy(), DMRegisterDynamic() @*/ PetscErrorCode DMRegisterAll(const char path[]) { PetscErrorCode ierr; PetscFunctionBegin; DMRegisterAllCalled = PETSC_TRUE; ierr = DMRegisterDynamic(DMDA, path, "DMCreate_DA", DMCreate_DA);CHKERRQ(ierr); ierr = DMRegisterDynamic(DMCOMPOSITE, path, "DMCreate_Composite", DMCreate_Composite);CHKERRQ(ierr); ierr = DMRegisterDynamic(DMSLICED, path, "DMCreate_Sliced", DMCreate_Sliced);CHKERRQ(ierr); ierr = DMRegisterDynamic(DMADDA, path, "DMCreate_ADDA", DMCreate_ADDA);CHKERRQ(ierr); ierr = DMRegisterDynamic(DMIGA, path, "DMCreate_IGA", DMCreate_IGA);CHKERRQ(ierr); #ifdef PETSC_HAVE_SIEVE ierr = DMRegisterDynamic(DMMESH, path, "DMCreate_Mesh", DMCreate_Mesh);CHKERRQ(ierr); ierr = DMRegisterDynamic(DMCARTESIAN, path, "DMCreate_Cartesian", DMCreate_Cartesian);CHKERRQ(ierr); #endif PetscFunctionReturn(0); }