/usr/lib/petscdir/3.4.2/include/petscdmpatch.h is in libpetsc3.4.2-dev 3.4.2.dfsg1-6.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | /*
DMPatch, for domains covered by sets of patches.
*/
#if !defined(__PETSCDMPATCH_H)
#define __PETSCDMPATCH_H
#include <petscdm.h>
/*S
DMPATCH - DM object that encapsulates a domain divided into many patches
Level: intermediate
Concepts: grids, grid refinement
.seealso: DM, DMPatchCreate()
S*/
PETSC_EXTERN PetscErrorCode DMPatchCreate(MPI_Comm, DM*);
PETSC_EXTERN PetscErrorCode DMPatchZoom(DM,Vec,MatStencil,MatStencil,MPI_Comm,DM*,PetscSF*,PetscSF*);
PETSC_EXTERN PetscErrorCode DMPatchSolve(DM);
PETSC_EXTERN PetscErrorCode DMPatchGetPatchSize(DM,MatStencil*);
PETSC_EXTERN PetscErrorCode DMPatchSetPatchSize(DM,MatStencil);
PETSC_EXTERN PetscErrorCode DMPatchGetCommSize(DM,MatStencil*);
PETSC_EXTERN PetscErrorCode DMPatchSetCommSize(DM,MatStencil);
PETSC_EXTERN PetscErrorCode DMPatchGetCoarse(DM,DM*);
PETSC_EXTERN PetscErrorCode DMPatchCreateGrid(MPI_Comm,PetscInt,MatStencil,MatStencil,MatStencil,DM*);
/*
* We want each patch to consist of an entire DM, DMDA at first
- We cannot afford to store much more than the data from a single patch in memory
- No global PetscSection, only PetscLayout
- Optional scatters
* There is a storable coarse level, which will also be a traditional DM (DMDA here)
* The local and global vectors correspond to a ghosted patch
* Need a way to activate a patch
* Jack in sizes for l/g vectors
- Need routine for viewing a full global vector
- Jed handles solver
*/
#endif
|