PetscErrorCode DMStagRestoreProductCoordinateArrays(DM dm,void *arrX,void *arrY,void *arrZ)Logically Collective
dm | - the DMStag object |
arrX,arrY,arrZ | - local 1D coordinate arrays |
ierr = DMGetCoordinateDM(dm,&cdm);CHKERRQ(ierr);
for (d=0; d<3; ++d) {
DM subdm;
Vec coor,coor_local;
ierr = DMProductGetDM(cdm,d,&subdm);CHKERRQ(ierr);
ierr = DMGetCoordinates(subdm,&coor);CHKERRQ(ierr);
ierr = DMGetCoordinatesLocal(subdm,&coor_local);CHKERRQ(ierr);
ierr = DMLocalToGlobal(subdm,coor_local,INSERT_VALUES,coor);CHKERRQ(ierr);
ierr = PetscPrintf(PETSC_COMM_WORLD,"Coordinates dim %D:\n",d);CHKERRQ(ierr);
ierr = VecView(coor,PETSC_VIEWER_STDOUT_WORLD);CHKERRQ(ierr);
}