[petsc-users] transfer vector data diagonally on DA
khalid ashraf
khalid_eee at yahoo.com
Mon Apr 2 03:36:26 CDT 2012
Hi Jed,
I am using petsc/3.1 and the include file "petscdmda.h" is not working. I am using the "petscda.h"
and DACreate3D.
unew_localptr[][][] is from a global vector using VecGetArray
u_localptr[][][] is from a local vector communicated from a global vector.
I tried
unew_localptr[k][j][i]=u_localptr[k-1][j-1][i-1]
but it gives Segmentation Violation error.
I also tried unew_localptr[k][j][i]=u_localptr[k][j+1][i+1] which works but
unew_localptr[k][j][i]=u_localptr[k+1][j+1][i+1] or unew_localptr[k][j][i]=u_localptr[k][j-1][i-1]
does not work. I am running the program on4 processors.
Thanks.
ierr = DACreate3d(PETSC_COMM_WORLD,DA_YPERIODIC,DA_STENCIL_BOX,appctx.l,appctx.m,appctx.n,
PETSC_DECIDE,PETSC_DECIDE,PETSC_DECIDE,1,1,PETSC_NULL,PETSC_NULL,PETSC_NULL,
&appctx.da);CHKERRQ(ierr);
for (k=zs; k<zs+zm; k++) {
for (j=ys; j<ys+ym; j++) {
for (i=xs; i<xs+xm; i++) {
if(i!=0 || j!=0 || k!=0|| i!=mx-1 || j!=my-1 || k!=mz-1)
unew_localptr[k][j][i]=u_localptr[k+1][j+1][i+1];
}}}
________________________________
From: Jed Brown <jedbrown at mcs.anl.gov>
To: khalid ashraf <khalid_eee at yahoo.com>; PETSc users list <petsc-users at mcs.anl.gov>
Sent: Sunday, April 1, 2012 10:07 PM
Subject: Re: [petsc-users] transfer vector data diagonally on DA
On Sun, Apr 1, 2012 at 22:01, khalid ashraf <khalid_eee at yahoo.com> wrote:
I want to transfer vector data diagonally in the DA grid like
> for (k=zs; k<zs+zm; k++) {
> for (j=ys; j<ys+ym; j++) {
> for (i=xs; i<xs+xm; i++) {
>if(i!=mx-1 || j!=my-1 || k!=mz-1){
>u_new[k+1][j+1][i+1]=u[k][j][i];}
>}}}
>
>
>Could you please suggest the best way to do it minimizing interprocessor assignments.
Both are on the same DMDA?
Communicate U to Ulocal (DMGlobalToLocalBegin/End) using a BOX stencil with width at least 1, get the global array u_new[][][] from UGlobalNew and the local arrays u[][][] from Ulocal, then assign u_new[k][j][i] = u[k-1][j-1][i-1].
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20120402/b9318138/attachment-0001.htm>
More information about the petsc-users
mailing list