Extend syncing functions to allow specification of a "direction"
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.