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

Is direct solving method supported in palace? #286

Closed
yanfeit opened this issue Oct 15, 2024 · 5 comments
Closed

Is direct solving method supported in palace? #286

yanfeit opened this issue Oct 15, 2024 · 5 comments
Labels
enhancement New feature or request

Comments

@yanfeit
Copy link

yanfeit commented Oct 15, 2024

No description provided.

@yanfeit yanfeit added the enhancement New feature or request label Oct 15, 2024
@hughcars
Copy link
Collaborator

@yanfeit I am not sure what you mean by "direct" in this context, if you mean using a dense/direct linear solver, then no Palace does not support this as it is fundamentally built around iterative krylov methods. If you can clarify your question a bit I might be able to provide more of an answer.

@yanfeit
Copy link
Author

yanfeit commented Oct 16, 2024

@yanfeit I am not sure what you mean by "direct" in this context, if you mean using a dense/direct linear solver, then no Palace does not support this as it is fundamentally built around iterative krylov methods. If you can clarify your question a bit I might be able to provide more of an answer.

Thank you for the kind reply. I was meant to ask whether Palace supports sparse matrix solver based on LU decomposition. I think you have already answered my question.

@yanfeit yanfeit closed this as completed Oct 16, 2024
@hughcars
Copy link
Collaborator

@yanfeit I am not sure what you mean by "direct" in this context, if you mean using a dense/direct linear solver, then no Palace does not support this as it is fundamentally built around iterative krylov methods. If you can clarify your question a bit I might be able to provide more of an answer.

Thank you for the kind reply. I was meant to ask whether Palace supports sparse matrix solver based on LU decomposition. I think you have already answered my question.

Ah, we do make use of SuperLU and STRUMPACK (as seen here in the docs) as the coarse preconditioner in a multigrid hierarchy when doing frequency and time domain solves. However they are solving a real valued approximation of the complex system, thus are not directly solving the system. There is a project we have planned to solve the complex system matrix itself, but that hasn't been attempted yet. Historically we have found the sparse direct solvers are very helpful for the coarsest solve in a multigrid hierarchy, as the system can be quite indeterminate and thus difficult for traditional preconditioning techniques.

@sebastiangrimberg
Copy link
Contributor

Hi @yanfeit, sorry to chime in here but to add to Hugh's answer there is a keyword "MGMaxLevels" which you can set to 1 in your configuration file to disable multigrid and use a sparse direct solver on the assembled (potentially high-order) system. As Hugh says this is real-valued, but the GMRES solve should converge in very few iterations as it is typically a (provably) good preconditioner for the actual complex-valued system.

@yanfeit
Copy link
Author

yanfeit commented Oct 18, 2024

Hi @sebastiangrimberg , thanks for more clarifications and instructions. Since the answer has some technical details that I am not familiar with, I will discuss your answer with my colleagues.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants