[petsc-users] Updating the ghost nodes for distributed arrays

Mohamad M. Nasr-Azadani mmnasr at gmail.com
Wed Dec 15 19:52:54 CST 2010


Thanks Barry for your help.
M

On Tue, Dec 14, 2010 at 6:12 AM, Barry Smith <bsmith at mcs.anl.gov> wrote:

>
> On Dec 14, 2010, at 4:15 AM, Mohamad M. Nasr-Azadani wrote:
>
> > Hi guys,
> >
> > Is it possible to update the ghost values from a global to a local vector
> for distributed arrays when global and local vectors are not from the same
> DA, but the global vectors are the same?
>
> Yes
>
> > This is the the code that I have, (the only difference between the two
> DA's is the width. So, I am assuming that any global vector created based on
> those are going to be the same)
>
> Yes
>
>
> >
> > G_data is created based on DA_3D, whereas L_data2 is created based on
> DA_3D2.
> >
> >
> >         Vec G_data, L_data;
> >         Vec G_data2, L_data2;
> >
> >
> >       ierr = DACreate3d(PCW, DA_NONPERIODIC, DA_STENCIL_STAR, NX, NY, NZ,
> PETSC_DECIDE, PETSC_DECIDE, PETSC_DECIDE, 1, width, PETSC_NULL, PETSC_NULL,
> PETSC_NULL, &DA_3D);
> >       ierr = DACreate3d(PCW, DA_NONPERIODIC, DA_STENCIL_STAR, NX, NY, NZ,
> PETSC_DECIDE, PETSC_DECIDE, PETSC_DECIDE, 1, width+2, PETSC_NULL,
> PETSC_NULL, PETSC_NULL, &DA_3D2);
> >
> >       ierr = DACreateGlobalVector(DA_3D, &G_data); CHKERRQ(ierr);
> >       ierr = DACreateLocalVector(DA_3D, &L_data); CHKERRQ(ierr);
> >
> >       ierr = DACreateGlobalVector(DA_3D2, &G_data2); CHKERRQ(ierr);
> >       ierr = DACreateLocalVector(DA_3D2, &L_data2); CHKERRQ(ierr);
> >
> > /* =====> Is this possible? */
> >       ierr = DAGlobalToLocalBegin(DA_3D2, G_data, INSERT_VALUES,
> L_data2);CHKERRQ(ierr);
> >       ierr = DAGlobalToLocalEnd(DA_3D2, G_data, INSERT_VALUES,
> L_data2);CHKERRQ(ierr);
> >
> >
> > Thanks,
> > Mohamad
> >
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20101215/4b9b0d10/attachment-0001.htm>


More information about the petsc-users mailing list