xref: /petsc/include/petscdmcomposite.h (revision 2c8e378dfe5c949d40489f8c6ad94751c5f56048)
13c48a1e8SJed Brown /* "Unintrusive" multi-physics DM */
23c48a1e8SJed Brown #if !defined(__PETSCDMCOMPOSITE_H)
33c48a1e8SJed Brown #define __PETSCDMCOMPOSITE_H
43c48a1e8SJed Brown 
5*2c8e378dSBarry Smith #include <petscdm.h>
63c48a1e8SJed Brown 
7014dd563SJed Brown PETSC_EXTERN PetscErrorCode DMCompositeCreate(MPI_Comm,DM*);
8014dd563SJed Brown PETSC_EXTERN PetscErrorCode DMCompositeAddDM(DM,DM);
9014dd563SJed Brown PETSC_EXTERN PetscErrorCode DMCompositeSetCoupling(DM,PetscErrorCode (*)(DM,Mat,PetscInt*,PetscInt*,PetscInt,PetscInt,PetscInt,PetscInt));
10014dd563SJed Brown PETSC_EXTERN PetscErrorCode DMCompositeAddVecScatter(DM,VecScatter);
11014dd563SJed Brown PETSC_EXTERN PetscErrorCode DMCompositeScatter(DM,Vec,...);
12014dd563SJed Brown PETSC_EXTERN PetscErrorCode DMCompositeGather(DM,Vec,InsertMode,...);
13014dd563SJed Brown PETSC_EXTERN PetscErrorCode DMCompositeGetAccess(DM,Vec,...);
14014dd563SJed Brown PETSC_EXTERN PetscErrorCode DMCompositeGetNumberDM(DM,PetscInt*);
15014dd563SJed Brown PETSC_EXTERN PetscErrorCode DMCompositeRestoreAccess(DM,Vec,...);
16014dd563SJed Brown PETSC_EXTERN PetscErrorCode DMCompositeGetLocalVectors(DM,...);
17014dd563SJed Brown PETSC_EXTERN PetscErrorCode DMCompositeGetEntries(DM,...);
18014dd563SJed Brown PETSC_EXTERN PetscErrorCode DMCompositeGetEntriesArray(DM,DM[]);
19014dd563SJed Brown PETSC_EXTERN PetscErrorCode DMCompositeRestoreLocalVectors(DM,...);
20014dd563SJed Brown PETSC_EXTERN PetscErrorCode DMCompositeGetGlobalISs(DM,IS*[]);
21014dd563SJed Brown PETSC_EXTERN PetscErrorCode DMCompositeGetLocalISs(DM,IS**);
22014dd563SJed Brown PETSC_EXTERN PetscErrorCode DMCompositeGetISLocalToGlobalMappings(DM,ISLocalToGlobalMapping**);
233c48a1e8SJed Brown 
243c48a1e8SJed Brown #endif
25