- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

Hi all

I am trying to solve a sparse system of linear equations using GMRES (7600 x 7600). I have not done any preconditioning yet. THe procedure of calling the subroutines follows the example for unsymmetric matrices given in the help files.

The problem I am facing is that after a certain number of iterations, the residual between two consecutive steps does not change. Well, it does change but very very slowly. I am talking about 1d-12 or smaller per iteration.

The system of equations solved nicely with PARDISO. As I need to solve a large system later on, I really need to get GMRES to work. Does anyone know any remedy to this problem? Another thing I should mention is that the iterative solver does not stop even when the maximum number of iterations specified has been exceeded. It just kept on iterating. Why is this so? The condition number of the matrix is about 5e6.

One final thing, does the arrangement of the system of equations affect the convergence of the solver? I have tried arranging it two ways and both of them gave the same outcome. Just to point out, I failed also to obtain a solution for the same matrix using the GMRES solver in Matlab.

Thank you.

Best wishes,

EH

Link Copied

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

I have tried a simple diagonal preconditioner but it does not appear to be helping. I have not tried ilut or ilu0 yet because I am having troubles trying to get it to run properly.

By the way, when using ilut or ilu0, do you know what the parameter maxfil is for? The help menus says:

"maxfil --INTEGER. Maximum fill-in, half of the preconditioner bandwidth. The number of non-zero elements in the rows of the preconditioner can not exceed (2*maxfil+1)."

What is the appropriate value of maxfil, may I know?

Thank you so much.

Best wishes,

EH

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

I tried a simple diagonal preconditioning but still face the same problem. Then I tried the ilu0 preconditioner in FORTRAN but somehow after the second iteration the Euclidean residual norm becomes NaN. I couldn't figure out what is going wrong. What problem do you thinkwould lead to the residual norm becoming NaN?

Thank you.

Best wishes,

EH

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

Hi,

I've reproduced your issue the problem comes from your matrix. There are a lot of string in initial matrix that have all elements before and on diagonal are equal to zero. That's why ILU0 preconditioner return almost zero elements on diagonal and several NAN appeared during solution process. Are you checks condition number of your matrix?

With best regards,

Alexander Kalinkin

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

The condition number of the matrix is approximately 5e+06. This problem that you mentioned, will it also cause GMRES to iterate such that residual norm does not change?

If this is the matrix problem, does it mean that GMRES cannot solve this problem at all? Iterative sovlers would seem to be very limited.

EH

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

Hi,

Sorry for the late reply. May I know what kind of information or details that you need? I am a little curious about thedetails that you need.

EH

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

Hi,

Any details will be useful, first of all: how you constructed this matrix? Does it comes from some differential equation or not? If yes then could you provide this differential equation, domain of problem and way of developing discrete problem (FEM, finite difference).

With best regards,

Alexander Kalinkin

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

Well, the matrix comes from setting up a system of equations from thepartial differentialHelmholtz equation in 2D define over the square domain of [-0.5 0.5; -0.5 0.5]. The matrix was constructed using a meshless method based on the integral equation approach with radial basis function approximation. Each node has a local subdomain where the unknowns are approximated by the unknown values of the surrounding node. As such, the matrix generated is block banded and sparse. In this case, most of the values populate the diagonal of the matrix. It is unsymmetric though.

Are there anymore information that is required?

Thank you.

EH

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

The meshless nodes are placed in a uniform grid. The nodes used for the function approximation has no regular setting. They depend on various criteria such as the distance and the placement of nodes. What I mentioned earlier was for a 2D Helmholtz problem that I tried for after the main problem that I wanted couldn't work.

My objective is to solve a 3D fluid flow problem and the same problem with GMRES occurred, i.e. the iteration number increases but the residual does not change.

Best regards,

EH

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page