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

AdditiveSchwarz preconditioner not working in structure module #655

Closed
richardschu opened this issue Mar 26, 2024 · 5 comments · Fixed by #657
Closed

AdditiveSchwarz preconditioner not working in structure module #655

richardschu opened this issue Mar 26, 2024 · 5 comments · Fixed by #657

Comments

@richardschu
Copy link
Contributor

I stumbled upon the issue regarding the AdditiveSchwarz preconditioner when looking at #652
Issue #652 (steady linear elasticity case) is fixed via #654, but the problem with the AS prec is that after one initial use it becomes invalid.
See the table in
#652 (comment)
and the stacktrace in
#652 (comment)

Probably the update is not done correctly as well here, or the internal state variables are not updated correctly.
@bergbauer could you comment on that guess of mine, I think you implemented that, right?
... I can search for the bug if you agree that something like this could be the reason.
I further assume that in the Poisson module this did not come up, since we do a single solve (similar to the working steady linear case, as seen in #652 (comment)).

@richardschu
Copy link
Contributor Author

again, this is more a reminder for myself to fix this. But any hints are appreciated.

@bergbauer
Copy link
Member

It seems like the update is not done correctly as you guessed. What the error message says is that we try to factorize a matrix which is already factorized. For an update we need to first set the matrices and then factorize them.

@bergbauer
Copy link
Member

Can you check if https://github.com/bergbauer/exadg/tree/reinit_matrix fixes the problem?

@richardschu
Copy link
Contributor Author

richardschu commented Mar 26, 2024

exactly the fix I have in my branch rn
I am compiling and testing asap
thanks for the help ;)

@richardschu
Copy link
Contributor Author

richardschu commented Mar 26, 2024

The problem is the matrices.resize(), where we do not discard the vector entries, so some matrices are factorized in the vector.
So the reinit() on the lapack_matrix should do the trick 👍

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