I am trying to couple a multigrid CFD solver. After I setting up everything, I realized that it is not easy to use precice for multigrid.
Say for example, if I have 4 levels of multigrid. Then, I would have 4 different meshID and 4 different dataID. If it is coupled with another solver with 4 levels of multigrid, everything would be doubled. Then, the precice configuration xml file would look very tedious, even if it is possible to do this kind of coupling in one precice configuration file.
I am not sure if my understanding is correct. Please let me know your thoughts. Thanks.
Yes, multigrid is a bit tricky. I would suggest to only use one mesh for coupling – the finest one. And only couple after each timestep (potentially repeating timesteps for implicit coupling) – don’t couple on every level. You could use the fine data then internally in your solvers to map to all levels.
The real alternative is to use a method similar to the one described here: https://doi.org/10.1007/978-3-319-22997-3_8
We previously had support for this in preCICE, but dropped it recently, since nobody was using it.