Skip to content

Extend syncing functions to allow specification of a "direction"

Marcus Mohr requested to merge mohr/directionalSyncing-mc into master

This MR introduces a new syncDirection_t enum class with the two members

  • LOW2HIGH
  • BIDIRECTIONAL

and extends our syncing functions with a direction parameter. This allows us to avoid unneccessary communication in the FE function writers.

As we only export data on the highest dimensional primitives (i.e. only for faces resp. cells) we need to only synchronise from low-dimensional to high-dimensional primitives, but not backwards.

The default value for direction is BIDIRECTIONAL. Thus, previous behaviour is preserved. Note that we explicitely do not add a HIGH2LOW direction. Due to the nature communication between primitives is currently handled the result might not be what you expect 😉 .

We also add a test to check that synching works.

Merge request reports