xref: /petsc/src/dm/interface/dmregall.c (revision 09573ac72a50d3e7ecd55a2b7f0ef28450cd0a8b)
1 #define PETSCDM_DLL
2 
3 #include "private/daimpl.h"     /*I  "petscdm.h"  I*/
4 EXTERN_C_BEGIN
5 extern PetscErrorCode PETSCVEC_DLLEXPORT DMCreate_DA(DM);
6 extern PetscErrorCode PETSCVEC_DLLEXPORT DMCreate_Composite(DM);
7 extern PetscErrorCode PETSCVEC_DLLEXPORT DMCreate_Sliced(DM);
8 extern PetscErrorCode PETSCVEC_DLLEXPORT DMCreate_ADDA(DM);
9 EXTERN_C_END
10 
11 #undef __FUNCT__
12 #define __FUNCT__ "DMRegisterAll"
13 /*@C
14   DMRegisterAll - Registers all of the DM components in the DM package.
15 
16   Not Collective
17 
18   Input parameter:
19 . path - The dynamic library path
20 
21   Level: advanced
22 
23 .keywords: DM, register, all
24 .seealso:  DMRegister(), DMRegisterDestroy(), DMRegisterDynamic()
25 @*/
26 PetscErrorCode PETSCDM_DLLEXPORT DMRegisterAll(const char path[])
27 {
28   PetscErrorCode ierr;
29 
30   PetscFunctionBegin;
31   DMRegisterAllCalled = PETSC_TRUE;
32   ierr = DMRegisterDynamic(DMDA,        path, "DMCreate_DA",        DMCreate_DA);CHKERRQ(ierr);
33   ierr = DMRegisterDynamic(DMCOMPOSITE, path, "DMCreate_Composite", DMCreate_Composite);CHKERRQ(ierr);
34   ierr = DMRegisterDynamic(DMSLICED,    path, "DMCreate_Sliced",    DMCreate_Sliced);CHKERRQ(ierr);
35   ierr = DMRegisterDynamic(DMADDA,      path, "DMCreate_ADDA",      DMCreate_ADDA);CHKERRQ(ierr);
36   PetscFunctionReturn(0);
37 }
38 
39