GEOS-DEV / GEOS

GEOS Simulation Framework
GNU Lesser General Public License v2.1
203 stars 80 forks source link

Trying to improve adaptive linear solver tolerance selection #3163

Open paveltomin opened 3 weeks ago

paveltomin commented 3 weeks ago
  1. Pull out hard-codded params to be able to modify them from input:
    - strongestTol = 1e-8 (default value)
    - adaptiveGamma = 0.1
    - adaptiveExponent = 1.0
  2. Adjust altKrylovTol logic. Not sure that new one is good but old one is really confusing.
  3. Add output to see what tolerance is selected and why (triggered by logLevel>0 in linear solver params).
paveltomin commented 3 weeks ago

I guess this PR is more a discussion point for now. I found that adaptive tolerance approach is both quite useful for large scale realistic cases and at the same time the algorithm is quite confusing. Trying to adjust it to make tolerance choice more understandable. Please let me know what you think.

victorapm commented 3 weeks ago

Thanks, Pavel! Just checking... The algorithm is described here, correct?

paveltomin commented 2 weeks ago

Thanks, Pavel! Just checking... The algorithm is described here, correct?

I think yes, but because I don't have access I can't say for sure. I was reading this one https://softlib.rice.edu/pub/CRPC-TRs/reports/CRPC-TR94463.pdf which should be the same I guess.