pySDC
pySDC copied to clipboard
Restriction of number of sweeps on the coarse level
https://github.com/Parallel-in-Time/pySDC/blame/a97728a6e789a34cc2f98d9082ca68c3397d9444/pySDC/implementations/controller_classes/controller_nonMPI.py#L73
@ikrom96git stumbled upon it when trying to implement his M^3LSDC approach, is there a reason why this is hard-coded here ? Especially since it's not in the controller_MPI class ...
Interesting. 8 years ago..
Well, if I recall correctly, this only applies when working with PFASST. Here, the residual is not computed correctly on the coarsest level, which only matters when you do more than 1 sweep. Sounds mysterious, I know, and this is not in the books (i.e., the paper from Matt and Michael), but this is a result from our multigrid perspective paper.
Can one simply not set a given number of sweeps on the coarse level, and do not care about the residuum ?
If I remember correctly (and only if), then the way this is implemented this is actually not correct if you do multiple sweeps. Might have something to do with the tau correction. In the case of PFASST, that is.
I think there is an implicit assumption that the formulation Matt and Michael used is only valid if you do just 1 sweep on the coarsest level. You can do more, but than this is not a multigrid scheme anymore and hell breaks lose (or so).
Then I let @ikrom96git explain why he wants to do more sweeps on the coarse level 😉
For MLSDC there is no good reason to not do more sweeps. Yes, you need to change the code here, but that's ok. Feel free to add a PR for this (checking for PFASST and not MLSDC)
Of course, I only need a single sweep for MLSDC and M^3LSDC, but to test whether the coarse level is working correctly, I want to run multiple sweeps on the coarse level.
@tlunet, @ikrom96git can we close this issue? Not sure anyone is currently interested in multiple sweeps on the coarsest level..
Yes sure, we can close the issue.