-
-
Notifications
You must be signed in to change notification settings - Fork 185
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add selective synchronization #1589
base: develop
Are you sure you want to change the base?
Conversation
This currently doesn't work properly. Checking based on the participant name alone doesn't cover all cases. Especially if multiple coupling schemes are mixed. I need to use the exchange tags to deduce which meshes are used in a coupling. Multi schemes need to know this for all participants. |
This works in these steps:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Very clean code 👌
I did not follow each and every detail, but the overall functionality looks good. It would, however, be good to have some dev docs on this overall functionality: what first and second synch is and how the transitive spread of dynamicity works. Could be a page in the dev docs to which we could link from the source code.
I think it would be good to also extend the unit test of MeshContext
:
- Cases with more than 2 participants (and compositional or multi coupling schemes)
- Case with multiple mappings from or to the same mesh
Do (more) unit tests in cplscheme
make sense?
Co-authored-by: Benjamin Uekermann <benjamin.uekermann@gmail.com>
I ran into trouble with Multi-Coupling cases. |
Main changes of this PR
This PR adds
dynamic
attribute toprovide-mesh
, which allows to flag meshes as dynamicMotivation and additional information
This handles only the synchronization. The information of which meshes change is not yet used.
This allows to further implement reinitalisation.
Closes #1293
Author's checklist
pre-commit
hook to prevent dirty commits and usedpre-commit run --all
to format old commits.make changelog
if there are user-observable changes since the last release.Reviewers' checklist