Skip to content
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

Change Weighted BFBT preconditioner pressure scaling factor #6078

Merged
merged 1 commit into from
Oct 15, 2024

Conversation

quangx
Copy link
Contributor

@quangx quangx commented Oct 13, 2024

The Schur complement is S=BA^{-1}B^T, so if we are trying to approximate S^{-1} the pressure scaling factor should be 1/(pressure_scaling^2). The current implementation in Aspect has a factor of 1/(pressure_scaling^4). This pull request changes it to 1/(pressure_scaling^2).

@@ -181,7 +180,6 @@ namespace aspect
{
data.local_matrix(i, j) += (
one_over_eta * pressure_scaling
* pressure_scaling
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why are you modifying the non-bfbt case?

@tjhei tjhei merged commit 727d714 into geodynamics:main Oct 15, 2024
8 checks passed
@tjhei
Copy link
Member

tjhei commented Oct 15, 2024

Thank you.

@gassmoeller
Copy link
Member

I am curious why this hasnt affected any of our tests, at least in terms of the number of Stokes iterations. Did you see a difference for some of your models @quangx?

@quangx
Copy link
Contributor Author

quangx commented Oct 15, 2024

I am curious why this hasnt affected any of our tests, at least in terms of the number of Stokes iterations. Did you see a difference for some of your models @quangx?

The differences in iteration counts I have seen from running tests on my machine are at most a handful of iterations, though I tested with spherical nsinker and the change does seem to bring the iteration count from 65 to >500 (which I have not seen occur for other models).

Also, I changed the pressure scaling values from 1,10,...,1E8 and with both pressure scaling factors, nonconvergence occured at the same values.

@tjhei
Copy link
Member

tjhei commented Oct 15, 2024

@gassmoeller we currently only have 1 or 2 BFBT tests and if the pressure scaling is close to 1, I don't expect a big difference (no difference here, apparently).

We are still investigating why BFBT doesn't work for many problems.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants