-
-
Notifications
You must be signed in to change notification settings - Fork 278
Make calling initializeData mandatory? #1196
Copy link
Copy link
Labels
breaking changeBreaks backwards compatibility and users need to actBreaks backwards compatibility and users need to actquestionEverybody is invited to answer this question or give any hint.Everybody is invited to answer this question or give any hint.
Milestone
Metadata
Metadata
Assignees
Labels
breaking changeBreaks backwards compatibility and users need to actBreaks backwards compatibility and users need to actquestionEverybody is invited to answer this question or give any hint.Everybody is invited to answer this question or give any hint.
Please describe the problem you are trying to solve.
Simplifying the implementation of coupling schemes and have a stricter control flow with less optional branches.
Describe the solution you propose.
I suggest to make the call to
initializeData()mandatory for every preCICE program. This is clearly breaking and will affect the users. I see the following advantages:initializeData(), initial data will be zero. There is an exception for the second participant of serial coupling schemes, because they receive data from the first iteration of the first iteration.initialize(). Currently, we don't know whetherinitializeData()will be called afterinitialize(). Therefore the following statements necessary:initializeof serial coupling scheme, ifinitializeDatais not called: see hereinitializeDataof serial coupling scheme, ifinitializeDatais called: see hereDescribe alternatives you've considered
Leave it as it is. This would be:
Additional context
initialize()is called what will happen next.initializeData, ifexperimental=true. This would simplify the implementation of waveform relaxation and make code of our users future-proof.