[Dune] communication patterns in ISTL

Christian Engwer christian.engwer at uni-muenster.de
Wed Dec 20 21:35:51 CET 2017


Dear all,

can someone enlighten me?

What is the meaning of copyCopyToAll::copyCopyToAll(...)?

It seems strange to me. We start with a partition of indices according
to owner and then we might have copies of indices owned by an other
process.

Now, copyCopyToAll is supposed to communicate those indices tagged as
copy to all other processes having this index. But what is this
supposed to do?
a) Assume that the copies don't contain consistent values. Now every
   process is sending around his own value. Depending on which message
   arrives last the receiving process gets an arbitrary value. This
   seems to be wrong and we consequently we should not be allowed to
   call copyCopyToAll, if the copies are not consistent.
b) assume we have consistent copies. Why should be communicate at all?
   The copies are sent around, but we retrieve the value that we
   previously sent to an other process.

It seems I misunderstood something dramatically.

Best
Christian

PS: the two functions
OwnerOverlapCopyCommunication::addOwnerOverlapToAll and
OwnerOverlapCopyCommunication::addOwnerCopyToAll are not used in ISTL
at all. Is anybody using them outside of the core modules?




More information about the Dune mailing list