Skip to content

Break develop for v3.0.0#1366

Merged
fsimonis merged 17 commits intodevelopfrom
develop-v3.0.0
Nov 16, 2022
Merged

Break develop for v3.0.0#1366
fsimonis merged 17 commits intodevelopfrom
develop-v3.0.0

Conversation

@BenjaminRodenberg
Copy link
Copy Markdown
Contributor

@BenjaminRodenberg BenjaminRodenberg commented Jul 9, 2022

Main changes of this PR

Breaks develop. Only merge this PR as soon as the last release before the breaking release v3.0.0 is published.

Closes #834
Closes #859
Closes #934
Closes #1174
Closes #1196
Closes #1223
Closes #1358
Closes #1367
Closes #1421

Motivation and additional information

At some point in time we need to break develop. Because some breaking developments already exist now, but cannot be merged now I created this breaking branch.

Note: We might need to rebase this branch depending on the number of changes on develop that will be introduced before being able to merge it.

Todo

Update lists of Issues being closed.

Author's checklist

  • I added a changelog file with make changelog if there are user-observable changes since the last release. not necessary, because the changelog files already come from the individual feature PRs.
  • I ran make format to ensure everything is formatted correctly.
  • I sticked to C++14 features.
  • I sticked to CMake version 3.16.3.
  • I squashed / am about to squash all commits that should be seen as one.

Reviewers' checklist

  • Does the changelog entry make sense? Is it formatted correctly?
  • Do you understand the code changes?

@BenjaminRodenberg BenjaminRodenberg added maintainability Working on this will make our lives easier in the long run as preCICE gets easier to maintain. breaking change Breaks backwards compatibility and users need to act labels Jul 9, 2022
@BenjaminRodenberg BenjaminRodenberg added this to the Version 3.0.0 milestone Jul 9, 2022
@BenjaminRodenberg BenjaminRodenberg force-pushed the develop-v3.0.0 branch 3 times, most recently from 72a6b20 to e314f68 Compare August 11, 2022 11:03
@BenjaminRodenberg BenjaminRodenberg force-pushed the develop-v3.0.0 branch 2 times, most recently from cd600f5 to f3ef21d Compare August 22, 2022 20:38
BenjaminRodenberg and others added 11 commits November 4, 2022 17:43
* Remove mapReadDataTo and mapWriteDataFrom.
* Remove tests using removed API.
* Merge initialize and initializeData in SolverInterfaceImpl.
* Merge initialize and initializeData in CouplingScheme.
* Update tests correspondingly
* Allow to check actions before initialize, especially checking whether initial data has to be written
* Check for sending and receiving of initial data during coupling scheme configuration
* Code simplification w.r.t waveform.
* Use dt=0.0 in actions in initialize.

Co-authored-by: Benjamin Uekermann <[email protected]>
Co-authored-by: Frédéric Simonis <[email protected]>
…1352)

* Get tests and configs for serial implicit waveform interpolation from #1029.
* Differentiate between received initial data and data (from advance).
* Split data communication for SerialCouplingScheme and store initial data in waveform.
* Move common functionality of serial and parallel coupling scheme into BiCouplingScheme.

Co-authored-by: Benjamin Uekermann <[email protected]>
* Add test Integration/Serial/InitializeData/ImplicitBoth where both participants initialize.
* Allow initialize=true for both participants in serial-implicit coupling scheme.
* Raise warning, if first participant in serial coupling scheme initializes data with waveform order zero.
* Remove check for write data, because participant does not know about waveform order.

Co-authored-by: Benjamin Uekermann <[email protected]>
* Make read mapping conditional to avoid unnecessary mappings.
* Update corresponding tests.

Co-authored-by: Benjamin Uekermann <[email protected]>
…-order interpolation through BSplines (#1422)

* Allow to store multiple samples within one window.
* Allow higher-order interpolation through B-Splines, if sufficiently
many samples are available.
* Simplifies Waveform by removing data from past windows and support for
second-order interpolation by using data from old window.
* Reset all samples when window is repeated - except the sample at the
beginning of the window.
* Update intergration tests for zeroth order interpolation for more
consistent behavior with first order interpolation.
* Introduce time::Storage

Co-authored-by: Benjamin Uekermann <[email protected]>
BenjaminRodenberg and others added 4 commits November 4, 2022 17:43
* Add test and allow waveforms in multi-coupling.
* Increase timeouts for precice.cplscheme and precice.integration.Serial, because they will take longer with new tests introduced in #1414

Co-authored-by: Frédéric Simonis <[email protected]>
@uekerman
Copy link
Copy Markdown
Member

Please don't forget to add all changes to the porting guide.

@BenjaminRodenberg
Copy link
Copy Markdown
Contributor Author

Please don't forget to add all changes to the porting guide.

I added a PR precice/precice.github.io#223 and some porting instructions for initializeData. We can still merge this PR and break develop. When something explodes somewhere when using the broken develop, this is a good motivation for everybody to look into the porting guide (and if necessary add a section).

@fsimonis fsimonis marked this pull request as ready for review November 16, 2022 15:14
@fsimonis fsimonis merged commit c124f6b into develop Nov 16, 2022
@BenjaminRodenberg BenjaminRodenberg deleted the develop-v3.0.0 branch July 27, 2023 08:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment