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