Use waveform iteration with partitioned-heat-conduction/fenics/heat.py#281
Use waveform iteration with partitioned-heat-conduction/fenics/heat.py#281MakisH merged 12 commits intoprecice:developfrom
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: |

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.