Actual source code: petscdmcomposite.h
1: /* "Unintrusive" multi-physics DM */
2: #if !defined(PETSCDMCOMPOSITE_H)
3: #define PETSCDMCOMPOSITE_H
5: #include <petscdm.h>
7: PETSC_EXTERN PetscErrorCode DMCompositeCreate(MPI_Comm,DM*);
8: PETSC_EXTERN PetscErrorCode DMCompositeAddDM(DM,DM);
9: PETSC_EXTERN PetscErrorCode DMCompositeSetCoupling(DM,PetscErrorCode (*)(DM,Mat,PetscInt*,PetscInt*,PetscInt,PetscInt,PetscInt,PetscInt));
10: PETSC_EXTERN PetscErrorCode DMCompositeAddVecScatter(DM,VecScatter);
11: PETSC_EXTERN PetscErrorCode DMCompositeScatter(DM,Vec,...);
12: PETSC_EXTERN PetscErrorCode DMCompositeScatterArray(DM,Vec,Vec*);
13: PETSC_EXTERN PetscErrorCode DMCompositeGather(DM,InsertMode,Vec,...);
14: PETSC_EXTERN PetscErrorCode DMCompositeGatherArray(DM,InsertMode,Vec,Vec*);
15: PETSC_EXTERN PetscErrorCode DMCompositeGetNumberDM(DM,PetscInt*);
16: PETSC_EXTERN PetscErrorCode DMCompositeGetAccess(DM,Vec,...);
17: PETSC_EXTERN PetscErrorCode DMCompositeRestoreAccess(DM,Vec,...);
18: PETSC_EXTERN PetscErrorCode DMCompositeGetAccessArray(DM,Vec,PetscInt,const PetscInt*,Vec*);
19: PETSC_EXTERN PetscErrorCode DMCompositeRestoreAccessArray(DM,Vec,PetscInt,const PetscInt*,Vec*);
20: PETSC_EXTERN PetscErrorCode DMCompositeGetLocalAccessArray(DM,Vec,PetscInt,const PetscInt*,Vec*);
21: PETSC_EXTERN PetscErrorCode DMCompositeRestoreLocalAccessArray(DM,Vec,PetscInt,const PetscInt*,Vec*);
22: PETSC_EXTERN PetscErrorCode DMCompositeGetLocalVectors(DM,...);
23: PETSC_EXTERN PetscErrorCode DMCompositeGetEntries(DM,...);
24: PETSC_EXTERN PetscErrorCode DMCompositeGetEntriesArray(DM,DM[]);
25: PETSC_EXTERN PetscErrorCode DMCompositeRestoreLocalVectors(DM,...);
26: PETSC_EXTERN PetscErrorCode DMCompositeGetGlobalISs(DM,IS*[]);
27: PETSC_EXTERN PetscErrorCode DMCompositeGetLocalISs(DM,IS**);
28: PETSC_EXTERN PetscErrorCode DMCompositeGetISLocalToGlobalMappings(DM,ISLocalToGlobalMapping**);
30: #endif