Open kbelyaev opened 3 years ago
Dear developer,
I am solving matrix eigenvalue problem using SLEPc library and tried to use BoomerAMG solver as preconditioner, but faced with a problem that BoomerAMG solver is diverged. I created a small matrix (36x36) for test purpose and adapted one of example from Hypre library to solve it (matrix, C program, and its output are attached as zip file). I tried to change some parameters of the solver, but cannot get a solution (solver still diverged).
May be someone can give me an advice about settings for the solver, or explain why this happened. I checked the matrix and it looks good (all eigenvalues are not zero, and its range is not large - from 250 to 1). The matrix came from discretization of compressible Navie-Stocks equation. I will be appreciate for any help with this problem.
Best regards,
Kirill
Hi @kbelyaev, I looked at the matrix, which is non-symmetric. So you may want to try preconditioned GMRES method to solve it instead of just AMG. Check ij.c
in src/test
for solver_id == 3
. Also, it seems that the matrix doesn't have constant vectors in its near null space (by looking at the row sums of it). AMG preconditioner may not work well. On the other hand, I tried some ILU-type preconditioner with it, which worked fine. You can try the Euclid-ILU preconditioner with the ij
driver of hypre by
./ij -fromfile ~/Downloads/my-example/matrix -solver 44
or a more recent ILU preconditioner
./ij -fromfile ~/Downloads/my-example/matrix -solver 81 -ilu_lfil 1
Hope this helps and please let us know if you have more questions.
Thanks
-R
Hi @liruipeng, thank you very much for your comments. The ij
driver is very helpful. Unfortunately my real matrix does not converged with all solvers allowed in the ij
driver. May be I should specify some specific settings to improve convergence, but I have not found anything useful yet. If you have any chance, please take a look at my real matrix: cylinder.00000.zip. May be you find some problem with it or have an idea how I can solve it.
Thanks,
Kirill
Dear developer,
I am solving matrix eigenvalue problem using SLEPc library and tried to use BoomerAMG solver as preconditioner, but faced with a problem that BoomerAMG solver is diverged. I created a small matrix (36x36) for test purpose and adapted one of example from Hypre library to solve it (matrix, C program, and its output are attached as zip file). I tried to change some parameters of the solver, but cannot get a solution (solver still diverged).
May be someone can give me an advice about settings for the solver, or explain why this happened. I checked the matrix and it looks good (all eigenvalues are not zero, and its range is not large - from 250 to 1). The matrix came from discretization of compressible Navie-Stocks equation. I will be appreciate for any help with this problem.
Best regards,
Kirill
my-example.zip