On Tue, Jan 15, 2019 at 8:34 PM leejearl via petsc-users < petsc-users@mcs.anl.gov> wrote:
> Hi all Petscer, > > I have a question about how to update the ghost value in the vector. > The prolblem is as follow. > > 1. A dmplex dm object is created using DMPlexCreateFromFile > 2. The dm is distributed using DMPlexDistribute, and the overlap is set > as 1. > 3. The ghosted dm is constructed by DMConstructGhostCells. > 4. A global Vector X and a local vector localX are created by > DMCreateGlobalVector and DMCreateLocalVector > > Now, the problem is that the ghost value are needed in the computation > using local vector localX. and the ghost value must be update from the > global vector. > > For example, gCellId is the index of ghost cell in the local vector > localX of process 0, and cellId is the index of cell in the global > vector of process 1. I must update the data of cellId to gCellId. How > can I do it easily? > > I can implement it use the PetscSFBcastBegin/PetscSFBcastEnd. Is there > other simple way to do it? > Doesn't DMGlobalToLocal() work? Thanks, Matt > Any helps are appreciated. > > Thanks. > > > > leejearl > > -- What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead. -- Norbert Wiener https://www.cse.buffalo.edu/~knepley/ <http://www.cse.buffalo.edu/~knepley/>