trilinos / Trilinos

Primary repository for the Trilinos Project
https://trilinos.org/
Other
1.2k stars 563 forks source link

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

Closed ztdepztdep closed 1 year ago

ztdepztdep commented 2 years ago

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 commented 2 years ago

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 commented 2 years ago

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 commented 2 years ago

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

ztdepztdep commented 2 years ago

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

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

cgcgcg commented 2 years ago

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

ztdepztdep commented 2 years ago

yes, it is Helmholtz problem .

cgcgcg commented 2 years ago

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 commented 2 years ago

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

cgcgcg commented 2 years ago

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