Add new ϵ_nonlinear keyword to the Stokes solvers#347
Open
albert-de-montserrat wants to merge 2 commits intomainfrom
Open
Add new ϵ_nonlinear keyword to the Stokes solvers#347albert-de-montserrat wants to merge 2 commits intomainfrom
ϵ_nonlinear keyword to the Stokes solvers#347albert-de-montserrat wants to merge 2 commits intomainfrom
Conversation
aelligp
requested changes
Jul 28, 2025
|
|
||
| while iter ≤ iterMax | ||
| iterMin < iter && ((err / err_it1) < ϵ_rel || err < ϵ_abs) && break | ||
| # iterMin < iter && ((err / err_it1) < ϵ_rel && err < ϵ_abs) && break |
Collaborator
There was a problem hiding this comment.
Suggested change
| # iterMin < iter && ((err / err_it1) < ϵ_rel && err < ϵ_abs) && break | |
| iterMin < iter && ((err / err_it1) < ϵ_rel || err < ϵ_abs) && break |
this needs to be like this. otherwise it doesn't break if the relative tolerance is below its set value but the abs is not. same vise versa.
And I think it shouldn't be commented as there's no break condition anymore.
Collaborator
Author
There was a problem hiding this comment.
Needs to be &&, otherwise imagine you have ϵ_rel=1e-2 and your PT iterations starts at an error in the order of 1e2, then it would break at around err=1e0, which is not what you want
| end | ||
|
|
||
| if igg.me == 0 && ((err / err_it1) < ϵ_rel || (err < ϵ_abs)) | ||
| if igg.me == 0 && iterMin < iter && ((err / err_it1) < ϵ_rel && err < ϵ_abs) |
Collaborator
There was a problem hiding this comment.
Suggested change
| if igg.me == 0 && iterMin < iter && ((err / err_it1) < ϵ_rel && err < ϵ_abs) | |
| if igg.me == 0 && iterMin < iter && ((err / err_it1) < ϵ_rel ||err < ϵ_abs) |
see above
Collaborator
|
@albert-de-montserrat is this still active? |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds a new keyword
ϵ_nonlinear(Infby default) to the Stokes solvers. Non linearities (viscosity and plastic corrections) are not considered while the global error iserr > ϵ_nonlinear. Seems to help convergence in highly complex models.