You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I am not sure that the functions isReadDataAvailable and isWriteDataRequired are actually needed. Removing them is clearly breaking, but would also help us to simplify the codebase and the API. This issue is meant for discussing the use-case of these function and to find places where these functions are actually used and needed. I would like to find out whether there are actually any adapters or other user codes that really depend on these functions?
In our documentation we say the following about the use-case of these two functions:
If a participant subcycles it is actually not necessary to write data to or read data from preCICE. To avoid unnecessary calls, preCICE offers two optional helper functions:
With the current developments around waveform relaxation and subcycling, I don't think that this use-case is relevant anymore:
If an interpolant is created by preCICE to allow for subcycling, reading data is allowed at any point in time. preCICE cannot know whether the data the user is requesting is new data or the user performs unnecessary read data calls. Therefore, I would suggest to remove isReadDataAvailable and let the user decide whether calling a readData function makes sense. (these are the current plans for the "read direction" of waveform relaxation, see Allow to read data from interpolant in time #1174)
For creating an interpolant on a window, any kind of data provided by the user might be useful. Currently this "write direction" is still in a very early stage, but according to my current plans isWriteDataRequired would always return true.
Another important point: The two functions are barely used in tests (outside of the tests that I have implemented for waveform relaxation). This shows from my perspective again that these two functions are not really needed.
I am not sure that the functions
isReadDataAvailableandisWriteDataRequiredare actually needed. Removing them is clearly breaking, but would also help us to simplify the codebase and the API. This issue is meant for discussing the use-case of these function and to find places where these functions are actually used and needed. I would like to find out whether there are actually any adapters or other user codes that really depend on these functions?In our documentation we say the following about the use-case of these two functions:
With the current developments around waveform relaxation and subcycling, I don't think that this use-case is relevant anymore:
isReadDataAvailableand let the user decide whether calling areadDatafunction makes sense. (these are the current plans for the "read direction" of waveform relaxation, see Allow to read data from interpolant in time #1174)isWriteDataRequiredwould always returntrue.Another important point: The two functions are barely used in tests (outside of the tests that I have implemented for waveform relaxation). This shows from my perspective again that these two functions are not really needed.