On 11/03/2016 03:32 AM, Denis Davydov wrote:
I see. In serial mode all is doable because u can go from current cell to
neighbors to quadrature data and do whatever.

For the case of MPI you would still need to somehow ship the data to ghost
cells. Because at some point neighbors of locally owned cells will be ghost 
cells.

I think it is doable by looking closer at p::d::Tria. Essentially you need a
function which takes parallel triangulation, QPData including ghost cells and
does synchronization of data at ghost cells within the MPI communicator by
getting it from processors that own those cells and thereby the data. Do you
want to give it a try and create a work-in-progress Pull-request on GitHub?
One can start with a simple unit test of 4 cells in 2D and 2 MPI cores.

Just for reference, Rene Gassmoeller implemented something similar for particles recently: There, we store particles on every locally owned cell, but there are times when one also wants to access particles on ghost cells. This is implemented here:
  https://github.com/geodynamics/aspect/pull/1216
  https://github.com/geodynamics/aspect/pull/1253

It's not terribly complicated because one just has to gather the information on cells that are ghosts on some other processor, and then send this information to all relevant processors.

Best
 W.

--
------------------------------------------------------------------------
Wolfgang Bangerth          email:                 [email protected]
                           www: http://www.math.colostate.edu/~bangerth/

--
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see 
https://groups.google.com/d/forum/dealii?hl=en
--- You received this message because you are subscribed to the Google Groups "deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to