xref: /petsc/include/petscdmcomposite.h (revision 6d8694c4fbab79f9439f1ad13c0386ba7ee1ca4b)
1 #pragma once
2 
3 #include <petscdm.h>
4 
5 /* MANSEC = DM */
6 /* SUBMANSEC = DMComposite */
7 
8 PETSC_EXTERN PetscErrorCode DMCompositeCreate(MPI_Comm, DM *);
9 PETSC_EXTERN PetscErrorCode DMCompositeAddDM(DM, DM);
10 PETSC_EXTERN PetscErrorCode DMCompositeSetCoupling(DM, PetscErrorCode (*)(DM, Mat, PetscInt *, PetscInt *, PetscInt, PetscInt, PetscInt, PetscInt));
11 PETSC_EXTERN PetscErrorCode DMCompositeAddVecScatter(DM, VecScatter);
12 PETSC_EXTERN PetscErrorCode DMCompositeScatter(DM, Vec, ...);
13 PETSC_EXTERN PetscErrorCode DMCompositeScatterArray(DM, Vec, Vec *);
14 PETSC_EXTERN PetscErrorCode DMCompositeGather(DM, InsertMode, Vec, ...);
15 PETSC_EXTERN PetscErrorCode DMCompositeGatherArray(DM, InsertMode, Vec, Vec *);
16 PETSC_EXTERN PetscErrorCode DMCompositeGetNumberDM(DM, PetscInt *);
17 PETSC_EXTERN PetscErrorCode DMCompositeGetAccess(DM, Vec, ...);
18 PETSC_EXTERN PetscErrorCode DMCompositeRestoreAccess(DM, Vec, ...);
19 PETSC_EXTERN PetscErrorCode DMCompositeGetAccessArray(DM, Vec, PetscInt, const PetscInt *, Vec *);
20 PETSC_EXTERN PetscErrorCode DMCompositeRestoreAccessArray(DM, Vec, PetscInt, const PetscInt *, Vec *);
21 PETSC_EXTERN PetscErrorCode DMCompositeGetLocalAccessArray(DM, Vec, PetscInt, const PetscInt *, Vec *);
22 PETSC_EXTERN PetscErrorCode DMCompositeRestoreLocalAccessArray(DM, Vec, PetscInt, const PetscInt *, Vec *);
23 PETSC_EXTERN PetscErrorCode DMCompositeGetLocalVectors(DM, ...);
24 PETSC_EXTERN PetscErrorCode DMCompositeGetEntries(DM, ...);
25 PETSC_EXTERN PetscErrorCode DMCompositeGetEntriesArray(DM, DM[]);
26 PETSC_EXTERN PetscErrorCode DMCompositeRestoreLocalVectors(DM, ...);
27 PETSC_EXTERN PetscErrorCode DMCompositeGetGlobalISs(DM, IS *[]);
28 PETSC_EXTERN PetscErrorCode DMCompositeGetLocalISs(DM, IS **);
29 PETSC_EXTERN PetscErrorCode DMCompositeGetISLocalToGlobalMappings(DM, ISLocalToGlobalMapping **);
30