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

Mohamad M. Nasr-Azadani mmnasr at gmail.com
Tue Dec 14 04:15:21 CST 2010


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?
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)

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/20101214/d5e7b926/attachment-0001.htm>


More information about the petsc-users mailing list