On 7/11/23 08:23, Abbas Ballout wrote:
I don't want to just set a refinement flag for my cell but I also want to set
the refinement
flag for the neighbouring cell too and that is what ncellset_refine_flag();
doesThis doesn't work if the neighbouring cell is owned by another core
Correct. That's because you can't set information on cells you don't own, in
particular because it isn't clear what should happen if different non-owning
processes (for which this cell is a ghost cell) disagree in their decisions on
what they want to set.
If you want to do this kind of thing, you probably want to collect a list of
(cell_id, value) that you want to send to each of the neighboring processes,
then send it via Utilities::MPI::isend(). Then you'd receive this kind of list
on each process via Utilities::MPI::irecv(), unpack it, and then set the value
on each of the cells in question.
If you want a higher-level interface, you can use the functions in
Utilities::MPI::ConsensusAlgorithms.
Best
Wolfgang
--
------------------------------------------------------------------------
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].
To view this discussion on the web visit
https://groups.google.com/d/msgid/dealii/94596774-23d6-cbcf-2516-969f1513bd76%40colostate.edu.