static char help[] = "Tests DMCreateInterpolation() for nonuniform DMDA coordinates.\n\n"; #include #include PetscErrorCode SetCoordinates1d(DM da) { PetscInt i,start,m; Vec local,global; PetscScalar *coors,*coorslocal; DM cda; PetscFunctionBeginUser; CHKERRQ(DMDASetUniformCoordinates(da,0.0,1.0,0.0,1.0,0.0,1.0)); CHKERRQ(DMGetCoordinateDM(da,&cda)); CHKERRQ(DMGetCoordinates(da,&global)); CHKERRQ(DMGetCoordinatesLocal(da,&local)); CHKERRQ(DMDAVecGetArray(cda,global,&coors)); CHKERRQ(DMDAVecGetArrayRead(cda,local,&coorslocal)); CHKERRQ(DMDAGetCorners(cda,&start,0,0,&m,0,0)); for (i=start; i