[petsc-users] DMMG with PBC

khalid ashraf khalid_eee at yahoo.com
Fri Apr 15 04:28:10 CDT 2011


Hi,
I am running src/ksp/ksp/examples/tutorials/ex22.c
I matched the output of single processor and multiprocessor results and it works 
fine.
But I want to use a periodic boundary condition. I make the following changes in 
the main function and this works fine with this change as well:

  ierr = DMMGCreate(PETSC_COMM_WORLD,1,PETSC_NULL,&dmmg);CHKERRQ(ierr);
  ierr = 
DACreate3d(PETSC_COMM_WORLD,DA_XYZPERIODIC,DA_STENCIL_STAR,10,10,2,PETSC_DECIDE,PETSC_DECIDE,PETSC_DECIDE,1,1,0,0,0,&da);CHKERRQ(ierr);



However, when I comment out these following lines since I am using a PBC, then 
the result of 1 proc and multi-proc are not the same. They vary within 5 decimal 
points and the difference increases with increasing number of processors. 

/*      if (i==0 || j==0 || k==0 || i==mx-1 || j==my-1 || k==mz-1){
          v[0] = 2.0*(HxHydHz + HxHzdHy + HyHzdHx);
          ierr = 
MatSetValuesStencil(B,1,&row,1,&row,v,INSERT_VALUES);CHKERRQ(ierr);
        } else */

Could you please tell me what is going wrong here.

Thanks.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20110415/844339c1/attachment-0001.htm>


More information about the petsc-users mailing list