[petsc-users] ghoat point in DMDATSSetIFunctionLocal
Sepideh Kavousi
skavou1 at lsu.edu
Thu Jun 28 17:11:55 CDT 2018
Hello,
I am solving Cahn-Hillard equation where I have Laplacian in my equation. In order to discretize the Laplacian, I can discretize with 5-point or 9-point stencil.
5 point stencile: laplacian=(aY[j][i+1].p+aY[j][i-1].p-2.0*aY[j][i].p)/(hx2))+((aY[j+1][i].p+aY[j-1][i].p-2.0*aY[j][i].p)/hy2)
9-point stencil:(4.0*(aY[j][i+1].p+aY[j][i-1].p+aY[j+1][i].p+aY[j-1][i].p)+1.0*(aY[j+1][i+1].p+aY[j+1][i-1].p+aY[j-1][i+1].p+aY[j-1][i-1].p)-20.0*aY[j][i].p)/(6.0*hx2);
I use DMDATSSetIFunctionLocal. In the function definition, if I use 5 point stencil, everything works fine, if I use a 9-point stencil, at the points which are in common between processors the answers behave strange and wrong. while for 9-point stencil, I use single processor everything works fine.
Assume I have 4 processors and the domain that belongs to each processor is:
(0:nx , 0:ny) process one
(nx+1:2nx , 0:ny) process two
(0:nx , ny+1:2*ny) process three
(nx+1:2nx , ny+1:2*n) process four
I guess the problem is when processor one tries to access point (nx+1,ny+1). I did not find any data if the definition of local vector includes the point (nx+1,ny+1) for this processor or not. I would like to see how should I solve this issue.
Regards,
Sepideh
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20180628/eff404cb/attachment.html>
More information about the petsc-users
mailing list