daghost.c (705a7f0eb0ef90644623ad86b4e8bfdbdabd856c) daghost.c (f13dfd9ea68e0ddeee984e65c377a1819eab8a8a)
1/*
2 Code for manipulating distributed regular arrays in parallel.
3*/
4
5#include <petsc/private/dmdaimpl.h> /*I "petscdmda.h" I*/
6
7/*@C
8 DMDAGetGhostCorners - Returns the global (`i`,`j`,`k`) indices of the lower left

--- 9 unchanged lines hidden (view full) ---

18. y - the corner index for the second dimension (only used in 2D and 3D problems)
19. z - the corner index for the third dimension (only used in 3D problems)
20. m - the width in the first dimension
21. n - the width in the second dimension (only used in 2D and 3D problems)
22- p - the width in the third dimension (only used in 3D problems)
23
24 Level: beginner
25
1/*
2 Code for manipulating distributed regular arrays in parallel.
3*/
4
5#include <petsc/private/dmdaimpl.h> /*I "petscdmda.h" I*/
6
7/*@C
8 DMDAGetGhostCorners - Returns the global (`i`,`j`,`k`) indices of the lower left

--- 9 unchanged lines hidden (view full) ---

18. y - the corner index for the second dimension (only used in 2D and 3D problems)
19. z - the corner index for the third dimension (only used in 3D problems)
20. m - the width in the first dimension
21. n - the width in the second dimension (only used in 2D and 3D problems)
22- p - the width in the third dimension (only used in 3D problems)
23
24 Level: beginner
25
26 Note:
26 Notes:
27 Any of `y`, `z`, `n`, and `p` can be passed in as `NULL` if not needed.
28
27 The corner information is independent of the number of degrees of
28 freedom per node set with the `DMDACreateXX()` routine. Thus the `x`, `y`, and `z`
29 can be thought of as the lower left coordinates of the patch of values on process on a logical grid and `m`, `n`, and `p` as the
30 extent of the patch. Where
31 grid point has (potentially) several degrees of freedom.
29 The corner information is independent of the number of degrees of
30 freedom per node set with the `DMDACreateXX()` routine. Thus the `x`, `y`, and `z`
31 can be thought of as the lower left coordinates of the patch of values on process on a logical grid and `m`, `n`, and `p` as the
32 extent of the patch. Where
33 grid point has (potentially) several degrees of freedom.
32 Any of `y`, `z`, `n`, and `p` can be passed in as `NULL` if not needed.
33
34.seealso: [](sec_struct), `DM`, `DMDA`, `DMDAGetCorners()`, `DMDACreate1d()`, `DMDACreate2d()`, `DMDACreate3d()`, `DMDAGetOwnershipRanges()`, `DMStagGetGhostCorners()`, `DMSTAG`
35@*/
36PetscErrorCode DMDAGetGhostCorners(DM da, PetscInt *x, PetscInt *y, PetscInt *z, PetscInt *m, PetscInt *n, PetscInt *p)
37{
38 PetscInt w;
39 DM_DA *dd = (DM_DA *)da->data;
40

--- 13 unchanged lines hidden ---
34
35.seealso: [](sec_struct), `DM`, `DMDA`, `DMDAGetCorners()`, `DMDACreate1d()`, `DMDACreate2d()`, `DMDACreate3d()`, `DMDAGetOwnershipRanges()`, `DMStagGetGhostCorners()`, `DMSTAG`
36@*/
37PetscErrorCode DMDAGetGhostCorners(DM da, PetscInt *x, PetscInt *y, PetscInt *z, PetscInt *m, PetscInt *n, PetscInt *p)
38{
39 PetscInt w;
40 DM_DA *dd = (DM_DA *)da->data;
41

--- 13 unchanged lines hidden ---