-
Notifications
You must be signed in to change notification settings - Fork 35
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Restriction of number of sweeps on the coarse level #535
Comments
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. |
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 ...
The text was updated successfully, but these errors were encountered: