xref: /petsc/include/petscdmcomposite.h (revision 014dd563d73e9fc78d056590fa6cf997782bf92d)
13c48a1e8SJed Brown /* "Unintrusive" multi-physics DM */
23c48a1e8SJed Brown #if !defined(__PETSCDMCOMPOSITE_H)
33c48a1e8SJed Brown #define __PETSCDMCOMPOSITE_H
43c48a1e8SJed Brown 
53c48a1e8SJed Brown #include "petscdm.h"
63c48a1e8SJed Brown 
7*014dd563SJed Brown PETSC_EXTERN PetscErrorCode DMCompositeCreate(MPI_Comm,DM*);
8*014dd563SJed Brown PETSC_EXTERN PetscErrorCode DMCompositeAddDM(DM,DM);
9*014dd563SJed Brown PETSC_EXTERN PetscErrorCode DMCompositeSetCoupling(DM,PetscErrorCode (*)(DM,Mat,PetscInt*,PetscInt*,PetscInt,PetscInt,PetscInt,PetscInt));
10*014dd563SJed Brown PETSC_EXTERN PetscErrorCode DMCompositeAddVecScatter(DM,VecScatter);
11*014dd563SJed Brown PETSC_EXTERN PetscErrorCode DMCompositeScatter(DM,Vec,...);
12*014dd563SJed Brown PETSC_EXTERN PetscErrorCode DMCompositeGather(DM,Vec,InsertMode,...);
13*014dd563SJed Brown PETSC_EXTERN PetscErrorCode DMCompositeGetAccess(DM,Vec,...);
14*014dd563SJed Brown PETSC_EXTERN PetscErrorCode DMCompositeGetNumberDM(DM,PetscInt*);
15*014dd563SJed Brown PETSC_EXTERN PetscErrorCode DMCompositeRestoreAccess(DM,Vec,...);
16*014dd563SJed Brown PETSC_EXTERN PetscErrorCode DMCompositeGetLocalVectors(DM,...);
17*014dd563SJed Brown PETSC_EXTERN PetscErrorCode DMCompositeGetEntries(DM,...);
18*014dd563SJed Brown PETSC_EXTERN PetscErrorCode DMCompositeGetEntriesArray(DM,DM[]);
19*014dd563SJed Brown PETSC_EXTERN PetscErrorCode DMCompositeRestoreLocalVectors(DM,...);
20*014dd563SJed Brown PETSC_EXTERN PetscErrorCode DMCompositeGetGlobalISs(DM,IS*[]);
21*014dd563SJed Brown PETSC_EXTERN PetscErrorCode DMCompositeGetLocalISs(DM,IS**);
22*014dd563SJed Brown PETSC_EXTERN PetscErrorCode DMCompositeGetISLocalToGlobalMappings(DM,ISLocalToGlobalMapping**);
233c48a1e8SJed Brown 
243c48a1e8SJed Brown #endif
25