Skip to content
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

Port elastic-tube-1d solvers to version 3 #434

Merged
merged 9 commits into from
Jan 15, 2024

Conversation

fsimonis
Copy link
Member

@fsimonis fsimonis commented Jan 10, 2024

This PR ports the elastic-tube-1d cpp solvers to version 3

This also rearranges the solvers to follow the pattern read data -> solve -> write data -> advance.

Also fixes the incorrect coordinates in solid-cpp #340

@fsimonis
Copy link
Member Author

fsimonis commented Jan 11, 2024

Closes #395

@fsimonis fsimonis changed the title Port cpp elastictube1d solvers to version 3 Port cpp elastic-tube-1d solvers to version 3 Jan 11, 2024
@fsimonis fsimonis self-assigned this Jan 11, 2024
@fsimonis fsimonis linked an issue Jan 11, 2024 that may be closed by this pull request
@fsimonis fsimonis linked an issue Jan 11, 2024 that may be closed by this pull request
@valentin-seitz
Copy link
Member

I just started a small system test job: https://github.com/precice/tutorials/actions/runs/7492877499/job/20397361340
And apparently, field-compare reports some major differences between the v2.5 reference data (we use the exchanged data between the participants) and the current status. (see stdout.log in the respective folders)
I just wanted to share this. It could also be a bug in the tests or some v2 vs. v3 hiccup.

Copy link
Member

@IshaanDesai IshaanDesai left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I ran several combinations of the C++ and Python participants and everything seems to be working.

@fsimonis
Copy link
Member Author

fsimonis commented Jan 11, 2024

@valentin-seitz The solid-cpp solver was bugged and produced very bad results before 7de3813.
Could that be it?

Solid Cpp Solid Python
1d-sc-fc 1d-sp-fc

@fsimonis fsimonis changed the title Port cpp elastic-tube-1d solvers to version 3 Port elastic-tube-1d solvers to version 3 Jan 12, 2024
@fsimonis
Copy link
Member Author

@valentin-seitz I checked the uploaded run of the workflow you linked to.

For the solid-python fluid-python case, fieldcompare fails, but the exports are close to identical apart from some minor differences. I checked provided meshes only. Is there a way to get more detailed information on what differs?

@fsimonis
Copy link
Member Author

fsimonis commented Jan 15, 2024

I ran the version 2 of the elastic-tube-1d with the watchpoint at x=5 on the Fluid Solver and then plotted them using the state of #438 (this PR + #435 + watchpoints and plotting).

The result is this:

tutorials-elastic-tube-1d-all

The results of the v2 python solid match the results of this PR.
The buggy (too coarse) solid solver of v2 leads to different results (smaller max diameter in oscillations)

@fsimonis
Copy link
Member Author

I'll merge this. We can investigate possible regressions later.

@fsimonis fsimonis merged commit fb9ce58 into develop Jan 15, 2024
3 checks passed
@fsimonis fsimonis deleted the port-cpp-elastictube1d-v3 branch January 15, 2024 11:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

Compatibility of elastic-tube-1d with preCICE v3 Elastic-tube-1d solid cpp x coordinate bug
3 participants