Update communication backend to send/recv header + timestamped data #1957
Labels
maintainability
Working on this will make our lives easier in the long run as preCICE gets easier to maintain.
Milestone
In #1664 I introduced bulk send/recv of multiple substeps. The main motivation is to support multirate time stepping and higher-order interpolation. This, however, came with some technical debt, because I did not consistently update the communication backend. Instead, I decided to use the existing backend with three stages of communication:
n
(1 int)n
doubles)n * dim * size
doubles)Note that we have to know
n
, before we can trigger the second and the third step.A more appropriate approach would be the following:
n
This approach should also help us to remove the pretty confusing function
BaseCouplingScheme::receiveDataForWindowEnd
, because we would by default always attach a timestamp to the data and, therefore, we would not need to callgetTime()
insidereceiveData
to implicitly derive the time of the received data.The text was updated successfully, but these errors were encountered: