LLNL / sundials

Official development repository for SUNDIALS - a SUite of Nonlinear and DIfferential/ALgebraic equation Solvers. Pull requests are welcome for bug fixes and minor changes.
https://computing.llnl.gov/projects/sundials
BSD 3-Clause "New" or "Revised" License
518 stars 126 forks source link

Question regarding choice of Newton solver in IDA #594

Open ianabel opened 4 hours ago

ianabel commented 4 hours ago

IDA provides a default Newton method (Modified Newton with no globalization) for solving the nonlinear algebraic system at every timestep. However, IDA also implements a Newton+Linesearch algorithm which is (as far as I can tell) only used from within IDACalcIC, and cannot be selected as the nonlinear solver for the per-timestep systems.

Is there a deep reason for not using linesearch globalization with the systems that IDA produces ? I am considering implementing a custom SUNNonlinearSolver to do some sort of parallelized Newton+LS and wondered if this was known to be a bad idea :)

cswoodward commented 3 hours ago

Because IDA uses adaptive step sizes, there is a general assumption that steps will not be so large that globalization will be necessary with Newton's method. If Newton fails, IDA will cut the time step and recompute it. The default max number of iterations for Newton is kept low to minimize costs for these conditions. Do you have a problem with excessive Newton iteration counts with IDA?