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

which kind of preconditioner may i use to solve thid kind of matrix A in ifpack #10992

Closed
ztdepztdep opened this issue Sep 6, 2022 · 9 comments

Comments

@ztdepztdep
Copy link

My matrix A has the following structure. I want to find an efficient preconditioner for it. I am using ifpack ilu , but i found it is too slow.
could you please give me some advices.

AP mtx

@cgcgcg
Copy link
Contributor

cgcgcg commented Sep 6, 2022

The graph of the matrix is not enough information to decide what kind of preconditioner to use. What kind of problem is this? It looks like the discretization of a PDE, so that's good. Symmetric positive definite?

@ztdepztdep
Copy link
Author

The graph of the matrix is not enough information to decide what kind of preconditioner to use. What kind of problem is this? It looks like the discretization of a PDE, so that's good. Symmetric positive definite?

It is generated from spectral element method, it is not a sysmmetric.

@cgcgcg
Copy link
Contributor

cgcgcg commented Sep 6, 2022

Alright. How about its nullspace? And what kind of physics?

@ztdepztdep
Copy link
Author

Alright. How about its nullspace? And what kind of physics?

it is for incompressible flow solution. and it is a Helmholtz problem.

@cgcgcg
Copy link
Contributor

cgcgcg commented Sep 6, 2022

double-checking: By Helmholtz problem you mean: $$-\Delta u - k^2 u = f$$?

@ztdepztdep
Copy link
Author

yes, it is Helmholtz problem .

@cgcgcg
Copy link
Contributor

cgcgcg commented Sep 6, 2022

Ok. These guys are difficult to precondition, as they are indefinite. I would suggest you check the literature for approaches. Both multigrid and domain decomposition can be used (and we have both in Trilinos). I believe we had some multigrid example at some point, but I'll need to find it.

@ztdepztdep
Copy link
Author

yes, it is difficult. I use Amesos to precondition, but the speed is a problem.

@cgcgcg
Copy link
Contributor

cgcgcg commented Sep 6, 2022

Have a look at packages/muelu/test/helmholtz. That's mutltigrid with a shifted Laplacian approach.

@cgcgcg cgcgcg closed this as completed Dec 3, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants