Actual source code: petscdmcomposite.h

  1: /* "Unintrusive" multi-physics DM */
  2: #ifndef 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