aspect icon indicating copy to clipboard operation
aspect copied to clipboard

Future of Eisenstat Walker method

Open MFraters opened this issue 1 year ago • 4 comments

As discussed during the user meeting today, there are issues with the current form or implementation of the Eisenstat-Walker method for determining the linear tolerances. This meant that for my models I was not using it, because the tolerance it set was way to loose. After some experimentation I mapped out the tolerances I needed for each nonlinear residual level and made a function which matches it close enough. This is what I a now using, replacing line 445 in solvere_schemes.cc and similar statements elsewere, with:

parameters.linear_stokes_solver_tolerance = std::min(1./(std::pow(0.55,log(dcr.residual/dcr.initial_residual))),newton_handler->parameters.maximum_linear_stokes_solver_tolerance);

This issue is to keep discuss and keep track of how to improve the automatic linear tolerance determination.

@lhy11009 has also been testing it with this models, and the initial results seem that it decreases the number of nonlinear iterations for him, but increases the wall-time, but I think this has to do with there being a fixed number of iterations and the nonlinear tolerance not always being achieved. We are looking further into this.

MFraters avatar Apr 26 '23 18:04 MFraters

You probably know best because you have been experimenting with all solver settings more than anyone. As discussed, it makes sense to a) take a look at our tests and benchmarks and b) test Arushi's very large models.

Of course with any change in linear residual you can get unlucky and require an extra nonlinear iteration.

tjhei avatar Apr 26 '23 20:04 tjhei

I am glad to be part of the conversation and I'll post what I find out from my 2-D & 3-D subduction models here.

lhy11009 avatar Apr 26 '23 21:04 lhy11009

What do we want to do here? I don't see a clear strategy for addressing the issue :-(

bangerth avatar Jul 13 '23 23:07 bangerth

If the new sundails package works well, it would replace the this. So I would suggest to wait to see how sundails works out.

MFraters avatar Jul 14 '23 22:07 MFraters