[petsc-users] DMDA questions

Xiangdong epscodes at gmail.com
Tue Feb 25 13:08:34 CST 2014


Okay. The local vector is equal to the local portion of global vector +
ghost values. Both of them use the same PETSc ordering.

The reason I got confused before is I use VecView(vglobal,
PETSC_VIEWER_STDOUT_WORLD) to view the global vector. In the output, it has
process[0] 1 2 3 4 process[1] 5 6 7 8 .... They are actually not the values
stored in processor 0 and 1. They are different from the values printed
through VecGetArray.

Thanks.

Xiangdong


On Tue, Feb 25, 2014 at 12:48 PM, Jed Brown <jed at jedbrown.org> wrote:

> Xiangdong <epscodes at gmail.com> writes:
> > For example, if the values on the 4-by-4 grid are [1,2,3,4;  5,6,7,8;
> >  9,10,11,12; 13,14,15,16]. If I use 4 processors and set m=2, n=2 (or use
> > petsc_decide), then on processor zero, the local portion of the global
> > vector is 1,2,3,4
>
> No, PETSc global ordering is different from natural.  There is a
> detailed picture of this in the users manual and in most PETSc
> tutorials.  Please read that.
>
> > while the local vector has value 1,2,5,6. On processor one, the local
> > portion of the global vector is 5,6,7,8; and the local vector is
> > 3,4,7,8. It looks like the global is natural order, while local vector
> > is petsc order.
>
> No.
>
> >
> >
> >
> >>
> >> > 2) DOF. In each cell, I have two unknowns, say ux and uy. One way is
> to
> >> > store them using one global vector with dof=2. The other way is to
> create
> >> > two global vectors for each ux and uy with dof=1. Is one approach
> better
> >> > than the other?
> >>
> >> The former is better for memory streaming unless your operations
> >> traverse the grid using only one at a time (and then, it would be better
> >> to rephrase to traverse fewer times, using both values each time).
> >>
> >
> > Any examples in petsc tutorials demonstrating the case dof>1? I found
> most
> > of them are dof=1. For dof>1, are the values stored in a interleaved
> > manner?
>
> src/snes/examples/tutorials/ex48.c uses dof=2 and
> MatSetValuesBlockedStencil.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20140225/8044d01c/attachment.html>


More information about the petsc-users mailing list