-
-
Notifications
You must be signed in to change notification settings - Fork 115
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
Use waveform iteration with partitioned-heat-conduction/fenics/heat.py #281
Conversation
Basically this tutorial is ready to merge now that On the other hand: We sooner or later will need tutorials that illustrate how to use subcycling and this one along with https://github.com/precice/tutorials/tree/master/oscillator are good candidates. Any opinion @uekerman ? |
Yes, let's use new features (here waveform relaxation) whereever reasonable. I don't see any reason against this. |
Having tutorials for such new features is indeed quite important for communicating and teaching the new features. Since the partitioned-heat-conduction was already designed to be a tutorial for studying the methods themselves, it makes a lot of sense to use it here. The first place to document this change would be in the changelog (missing here). We should then mention it in the release notes / blog post. Regarding the changes required in adapters, they need to go to the v3 porting guide. I think it would be great to document the necessary changes there, and/or link to the waveform feature page from there. This tutorial also has OpenFOAM and Nutils participants. For the OpenFOAM adapter, we have an umbrella issue to migrate to v3, where waveform is already on the list: precice/openfoam-adapter#235 For Nutils, we need an issue here - opened: #312 |
@BenjaminRodenberg the only feature required is to read data at specific times, right? This is already implemented in the OpenFOAM adapter and in the Nutils examples here (in develop at least). I cannot test the OpenFOAM at the moment, as I don't have |
If you can port the OpenFOAM version of the tutorial to a waveform iteration version following this PR, this might help you debugging precice/openfoam-adapter#305. The only thing you have to keep in mind is that quasi Newton is not supported. But you should be able to get the analytical solution -- even with subcycling. |
This PR just works with the OpenFOAM case and the results look fine. In the OpenFOAM adapter develop, we are already reading at the relative time: |
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.
This PR introduces waveform iteration for the partitioned-heat-conduction case. Currently only the fenics-adapter supports this feature via precice/fenics-adapter#153 + precice/python-bindings#147. This also means that the tutorials for other adapters/solvers will break.
I think that the partitioned-heat-conduction case + subcycling is a nice test case for waveform iteration + subcycling. However, we might want to shift this specialized configuration of the case into an independent folder (as long as not all adapters support waveform iteration).
This is a breaking change, because some required features will only be introduced with preCICE v3.0.0.