pySDC icon indicating copy to clipboard operation
pySDC copied to clipboard

Restriction of number of sweeps on the coarse level

Open tlunet opened this issue 9 months ago • 7 comments

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 ...

tlunet avatar Feb 24 '25 14:02 tlunet

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.

pancetta avatar Feb 24 '25 14:02 pancetta

Can one simply not set a given number of sweeps on the coarse level, and do not care about the residuum ?

tlunet avatar Feb 24 '25 16:02 tlunet

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.

pancetta avatar Feb 24 '25 16:02 pancetta

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).

pancetta avatar Feb 24 '25 16:02 pancetta

Then I let @ikrom96git explain why he wants to do more sweeps on the coarse level 😉

tlunet avatar Feb 24 '25 16:02 tlunet

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)

pancetta avatar Feb 24 '25 16:02 pancetta

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.

ikrom96git avatar Feb 25 '25 08:02 ikrom96git

@tlunet, @ikrom96git can we close this issue? Not sure anyone is currently interested in multiple sweeps on the coarsest level..

brownbaerchen avatar Jul 21 '25 05:07 brownbaerchen

Yes sure, we can close the issue.

ikrom96git avatar Jul 21 '25 10:07 ikrom96git