xref: /petsc/include/petscdmcomposite.h (revision 3c48a1e8da19189ff2402a4e41a2fc082d52c349)
1*3c48a1e8SJed Brown /* "Unintrusive" multi-physics DM */
2*3c48a1e8SJed Brown #if !defined(__PETSCDMCOMPOSITE_H)
3*3c48a1e8SJed Brown #define __PETSCDMCOMPOSITE_H
4*3c48a1e8SJed Brown 
5*3c48a1e8SJed Brown #include "petscdm.h"
6*3c48a1e8SJed Brown 
7*3c48a1e8SJed Brown extern PetscErrorCode   DMCompositeCreate(MPI_Comm,DM*);
8*3c48a1e8SJed Brown extern PetscErrorCode   DMCompositeAddArray(DM,PetscMPIInt,PetscInt);
9*3c48a1e8SJed Brown extern PetscErrorCode   DMCompositeAddDM(DM,DM);
10*3c48a1e8SJed Brown extern PetscErrorCode   DMCompositeSetCoupling(DM,PetscErrorCode (*)(DM,Mat,PetscInt*,PetscInt*,PetscInt,PetscInt,PetscInt,PetscInt));
11*3c48a1e8SJed Brown extern PetscErrorCode   DMCompositeSetContext(DM,void*);
12*3c48a1e8SJed Brown extern PetscErrorCode   DMCompositeGetContext(DM,void**);
13*3c48a1e8SJed Brown extern PetscErrorCode   DMCompositeAddVecScatter(DM,VecScatter);
14*3c48a1e8SJed Brown extern PetscErrorCode   DMCompositeScatter(DM,Vec,...);
15*3c48a1e8SJed Brown extern PetscErrorCode   DMCompositeGather(DM,Vec,InsertMode,...);
16*3c48a1e8SJed Brown extern PetscErrorCode   DMCompositeGetAccess(DM,Vec,...);
17*3c48a1e8SJed Brown extern PetscErrorCode   DMCompositeGetNumberDM(DM,PetscInt*);
18*3c48a1e8SJed Brown extern PetscErrorCode   DMCompositeRestoreAccess(DM,Vec,...);
19*3c48a1e8SJed Brown extern PetscErrorCode   DMCompositeGetLocalVectors(DM,...);
20*3c48a1e8SJed Brown extern PetscErrorCode   DMCompositeGetEntries(DM,...);
21*3c48a1e8SJed Brown extern PetscErrorCode   DMCompositeRestoreLocalVectors(DM,...);
22*3c48a1e8SJed Brown extern PetscErrorCode   DMCompositeGetGlobalISs(DM,IS*[]);
23*3c48a1e8SJed Brown extern PetscErrorCode   DMCompositeGetLocalISs(DM,IS**);
24*3c48a1e8SJed Brown extern PetscErrorCode   DMCompositeGetISLocalToGlobalMappings(DM,ISLocalToGlobalMapping**);
25*3c48a1e8SJed Brown 
26*3c48a1e8SJed Brown #endif
27