[petsc-dev] How to add root values to leaves in PetscSF?

Matthew Knepley knepley at gmail.com
Tue Jan 22 13:33:53 CST 2019


On Tue, Jan 22, 2019 at 2:23 PM Zhang, Junchao via petsc-dev <
petsc-dev at mcs.anl.gov> wrote:

> I want to add root values to leaves, and keep root unchanged. PetscSFBcast
> came to my mind, but unfortunately it only broadcasts roots and does not
> have an MPI_Op argument like PetscSFReduce for me to choose from
> INSERT_VALUES, ADD_VALUES, etc.
> Any tips? Thanks.
>
> PS: I met this problem when I tried to implement VecScatter in SF.  In
> VecScatter, multiple entries of vec x can be scattered to the same entry of
> vec y, and one entry of x can also be scattered to multiple entries of y.
> I want to use one SF for all combinations of SCATTER_FORWARD/BACKWARD,
> INSERT/ADD_VALUES. It seems impossible with current SF interface.
>

I think you might want this:
https://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/PetscSF/PetscSFFetchAndOpBegin.html

  Thanks,

    Matt


> --Junchao Zhang
>


-- 
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/>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20190122/c9af38c2/attachment.html>


More information about the petsc-dev mailing list