Partitioned heat equation scenario using waveform relaxation#30
Partitioned heat equation scenario using waveform relaxation#30BenjaminRodenberg merged 49 commits intoCoupledProblems2019from
Conversation
…into WaveformBindingsDraft
|
Possibly, we can remove all the waveform relaxation specific config files ( |
…es wr substepping information from heat.py and manages everything using adapter configs
uekerman
left a comment
There was a problem hiding this comment.
Looks good to me. There are only some doubts with the configuration. Does not mean that we need to change those, I merely want to understand them since they contradict my current understanding of the waveform relaxation layer.
|
|
||
| ## Waveform relaxation (experimental) | ||
|
|
||
| This branch of the tutorial uses the fenics-adapter waveform bindings. If you want to run this tutorial, you have to install the version of the FEniCS-adapter that can be found on [this branch](https://github.com/precice/fenics-adapter/tree/WaveformBindingsDraft). Further information on waveform relaxation in the FEniCS-adapter can be found in issue https://github.com/precice/fenics-adapter/issues/16 and milestone https://github.com/precice/fenics-adapter/milestone/2. |
There was a problem hiding this comment.
Don't forget to update the branch here.
There was a problem hiding this comment.
Thanks for the hint!
| "read_data_name": "Temperature" | ||
| }, | ||
| "waveform": { | ||
| "n_substeps": 1 |
There was a problem hiding this comment.
What's the technical reason for this config option if the information is already passed through the command line?
There was a problem hiding this comment.
This is indeed redundant. What I said above is actually true for the config file. This means that the adapter has to know both config files in order to know the complete WR setup.
* If subcycling is used, results that belong to the substeps may be exchanged, as well. * Exchange of additional data that is associated with the substeps is realized by introducing additional data in the precice-config. `Temperature` becomes `Temperature1`, `Temperature2`,... * Linear interpolation is used between substeps. Be aware that this approach is not compatible with the original preCICE API and experimental. In `waveform_bindings.py` API functions like `readBlockScalarData` are extended with the additional parameter `time` (see [here](https://github.com/precice/fenics-adapter/blob/14cef37ca902b96bc4ab2b22e03c879b9e0d5a8c/fenicsadapter/waveform_bindings.py#L72-L84)). For example usage of the modified adapter, refer to precice/tutorials#30.
This PR is strongly related to the features introduced in precice/fenics-adapter#35.
heat.pyis modified such that waveform relaxation is used.