xref: /petsc/include/petscdmcomposite.h (revision a496304597bacff3545e802853d69e8765312868)
13c48a1e8SJed Brown /* "Unintrusive" multi-physics DM */
2*a4963045SJacob Faibussowitsch #pragma once
33c48a1e8SJed Brown 
42c8e378dSBarry Smith #include <petscdm.h>
53c48a1e8SJed Brown 
6014dd563SJed Brown PETSC_EXTERN PetscErrorCode DMCompositeCreate(MPI_Comm, DM *);
7014dd563SJed Brown PETSC_EXTERN PetscErrorCode DMCompositeAddDM(DM, DM);
8014dd563SJed Brown PETSC_EXTERN PetscErrorCode DMCompositeSetCoupling(DM, PetscErrorCode (*)(DM, Mat, PetscInt *, PetscInt *, PetscInt, PetscInt, PetscInt, PetscInt));
9014dd563SJed Brown PETSC_EXTERN PetscErrorCode DMCompositeAddVecScatter(DM, VecScatter);
10014dd563SJed Brown PETSC_EXTERN PetscErrorCode DMCompositeScatter(DM, Vec, ...);
116f3c3dcfSJed Brown PETSC_EXTERN PetscErrorCode DMCompositeScatterArray(DM, Vec, Vec *);
121dac896bSSatish Balay PETSC_EXTERN PetscErrorCode DMCompositeGather(DM, InsertMode, Vec, ...);
131dac896bSSatish Balay PETSC_EXTERN PetscErrorCode DMCompositeGatherArray(DM, InsertMode, Vec, Vec *);
14014dd563SJed Brown PETSC_EXTERN PetscErrorCode DMCompositeGetNumberDM(DM, PetscInt *);
15f73e5cebSJed Brown PETSC_EXTERN PetscErrorCode DMCompositeGetAccess(DM, Vec, ...);
16014dd563SJed Brown PETSC_EXTERN PetscErrorCode DMCompositeRestoreAccess(DM, Vec, ...);
17f73e5cebSJed Brown PETSC_EXTERN PetscErrorCode DMCompositeGetAccessArray(DM, Vec, PetscInt, const PetscInt *, Vec *);
18f73e5cebSJed Brown PETSC_EXTERN PetscErrorCode DMCompositeRestoreAccessArray(DM, Vec, PetscInt, const PetscInt *, Vec *);
197ac2b803SAlex Fikl PETSC_EXTERN PetscErrorCode DMCompositeGetLocalAccessArray(DM, Vec, PetscInt, const PetscInt *, Vec *);
207ac2b803SAlex Fikl PETSC_EXTERN PetscErrorCode DMCompositeRestoreLocalAccessArray(DM, Vec, PetscInt, const PetscInt *, Vec *);
21014dd563SJed Brown PETSC_EXTERN PetscErrorCode DMCompositeGetLocalVectors(DM, ...);
22014dd563SJed Brown PETSC_EXTERN PetscErrorCode DMCompositeGetEntries(DM, ...);
23014dd563SJed Brown PETSC_EXTERN PetscErrorCode DMCompositeGetEntriesArray(DM, DM[]);
24014dd563SJed Brown PETSC_EXTERN PetscErrorCode DMCompositeRestoreLocalVectors(DM, ...);
25014dd563SJed Brown PETSC_EXTERN PetscErrorCode DMCompositeGetGlobalISs(DM, IS *[]);
26014dd563SJed Brown PETSC_EXTERN PetscErrorCode DMCompositeGetLocalISs(DM, IS **);
27014dd563SJed Brown PETSC_EXTERN PetscErrorCode DMCompositeGetISLocalToGlobalMappings(DM, ISLocalToGlobalMapping **);
28