On Thu, Feb 6, 2020 at 8:07 PM Alexander Lindsay <alexlindsay...@gmail.com> wrote:
> It looks like Fande has attached the eigenvalue plots with the real axis > having a logarithmic scale. The same plots with a linear scale are attached > here. > > The system has 306 degrees of freedom. 12 eigenvalues are unity for both > scaled and unscaled cases; this number corresponds to the number of mesh > nodes with Dirichlet boundary conditions (just a 1 on the diagonal for the > corresponding rows). The rest of the eigenvalues are orders of magnitude > smaller for the unscaled case; using scaling these eigenvalues are brought > much closer 1. > > This particular problem is linear but we solve it with SNES, so constant > Jacobian. We run with options '-pc_type none -ksp_gmres_restart 1000 > -snes_rtol 1e-8 -ksp_rtol 1e-5` so for this linear problem it takes two > non-linear iterations to solve. > Why not just make -ksp_rtol 1e-8? Thanks, Matt > Unscaled: > > first nonlinear iteration takes 2 linear iterations > second nonlinear iteration takes 99 linear iterations > > Scaled: > > first nonlinear iteration takes 94 linear iterations > second nonlinear iteration takes 100 linear iterations > > Running with `-pc_type svd` the condition number for the unscaled > simulation is 4e9 while it is 2e3 for the scaled simulation. > > > > On Thu, Feb 6, 2020 at 4:36 PM Fande Kong <fdkong...@gmail.com> wrote: > >> Hi All, >> >> MOOSE team, Alex and I are working on some variable scaling techniques to >> improve the condition number of the matrix of linear systems. The goal of >> variable scaling is to make the diagonal of matrix as close to unity as >> possible. After scaling (for certain example), the condition number of the >> linear system is actually reduced, but the GMRES iteration does not >> decrease at all. >> >> From my understanding, the condition number is the worst estimation for >> GMRES convergence. That is, the GMRES iteration should not increases when >> the condition number decreases. This actually could example what we saw: >> the improved condition number does not necessary lead to a decrease in >> GMRES iteration. We try to understand this a bit more, and we guess that >> the number of eigenvalue clusters of the matrix of the linear system >> may/might be related to the convergence rate of GMRES. We plot eigenvalues >> of scaled system and unscaled system, and the clusters look different from >> each other, but the GMRRES iterations are the same. >> >> Anyone know what is the right relationship between the condition number >> and GMRES iteration? How does the number of eigenvalue clusters affect >> GMRES iteration? How to count eigenvalue clusters? For example, how many >> eigenvalue clusters we have in the attach image respectively? >> >> If you need more details, please let us know. Alex and I are happy to >> provide any details you are interested in. >> >> >> Thanks, >> >> Fande Kong, >> >> >> -- What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead. -- Norbert Wiener https://www.cse.buffalo.edu/~knepley/ <http://www.cse.buffalo.edu/~knepley/>