:orphan:
# DMDACoor3d
Structure for holding 3d (x, y and z) coordinates  coordinates when working with `DMDA` 
## Synopsis
```
.vb
DMDACoor3d ***coors;
Vec      vcoors;
DM       cda;
DMGetCoordinates(da,&vcoors);
DMGetCoordinateDM(da,&cda);
DMDAVecGetArray(cda,vcoors,&coors);
DMDAGetCorners(cda,&mstart,&nstart,&pstart,&m,&n,&p)
for (i=mstart; i<mstart+m; i++) {
for (j=nstart; j<nstart+n; j++) {
for (k=pstart; k<pstart+p; k++) {
x = coors[k][j][i].x;
y = coors[k][j][i].y;
z = coors[k][j][i].z;
......
}
}
DMDAVecRestoreArray(dac,vcoors,&coors);
.ve
```



## See Also
 `DMDACoor2d`, `DMDAVecRestoreArray()`, `DMDAVecGetArray()`, `DMGetCoordinateDM()`, `DMGetCoordinates()`

## Level
intermediate

## Location
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/include/petscdmda.h.html#DMDACoor3d">include/petscdmda.h</A>


---
[Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/include/petscdmda.h)


[Index of all DMDA routines](index.md)  
[Table of Contents for all manual pages](/manualpages/index.md)  
[Index of all manual pages](/manualpages/singleindex.md)  
