Skip to content

Allow experimental for serial implicit coupling scheme.#6

Closed
BenjaminRodenberg wants to merge 52 commits intoprototype_waveform_read_writefrom
serial-implicit-waveform-data-init
Closed

Allow experimental for serial implicit coupling scheme.#6
BenjaminRodenberg wants to merge 52 commits intoprototype_waveform_read_writefrom
serial-implicit-waveform-data-init

Conversation

@BenjaminRodenberg
Copy link
Copy Markdown
Owner

Main changes of this PR

Allow data initialization for both participants with experimental waveform API and config.

Motivation and additional information

Data initialization of the the first participant is not allowed for a serial implicit coupling scheme. However, we need it, if we want to allow waveform relaxation, because otherwise the second participant can never receive any initial data.

I'm extracting this Work package from precice#1029, because it requires multiple (possibly breaking) changes.

Author's checklist

  • I added a changelog file with make changelog if there are user-observable changes since the last release.
  • I ran make format to ensure everything is formatted correctly.
  • I sticked to C++14 features.
  • I sticked to CMake version 3.10.
  • 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 and others added 24 commits March 3, 2022 16:12
* Auto generate test suites

* Update files

* Add reminder to run updateSourceFiles

* Add changelog
* Fix format-all-docker modifying file owner

* Add changelog
Triangle equality no longer involves normal vector.
* Add tests for non-experimental API and subcycling.
    * Test reading and writing of data when subcycling.
    * Add tests for serial and parallel, explicit and implicit coupling with subcycling.
    * Add test for subcycling with compositional coupling scheme.
BenjaminRodenberg and others added 25 commits March 22, 2022 17:57
* Make configuration files valid by adding participants.
* Also provide participant configuration.
* Refactor tests w.r.t readability.
…precice/precice into refactor-solver-interface-impl-map-data
* Added barycentric computation for triangles in 2D + tests

* Added assertion

* Added assertion

* Fixed assertion

* fixed assertion

* removed test for degenerate triangles in NP mapping (now forbidden)
* Make configuration files valid by adding participants.
* Also provide participant configuration.
* Refactor tests w.r.t readability.
* Use variable dimensions for better readability.
* Fixed offsets calculation in gradient mapping and removed conservative mapping for nearest neighbor gradient

* Update src/mapping/NearestNeighborGradientMapping.cpp

Co-authored-by: David Schneider <[email protected]>

* added changelog

* applied styling script

* fix typo

* updated comment about the offsets calculations

* clang-format applied

* comment added about scaled consistent mapping

* fixed comment about scaled-consistent mapping

* Fixed comment about scaled-consistent and fixed formatting

* fixed tests

* fixed scaled-consistent warning

Co-authored-by: David Schneider <[email protected]>
* Move isMappingRequired into DataContext.
* Move mapData inside DataContext.
* Move mapping into DataContext and make functions private.
* Move debug statement inside DataContext.
* Improve readability.
* Remove some trivial private getters.

Co-authored-by: Frédéric Simonis <[email protected]>
Co-authored-by: David Schneider <[email protected]>
@BenjaminRodenberg
Copy link
Copy Markdown
Owner Author

I'm closing this PR in favor of precice#1029. It has diverted too much.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants