[petsc-dev] misleading that ROSW uses SNES

Barry Smith bsmith at mcs.anl.gov
Mon Oct 15 23:48:08 CDT 2012


  I confess that what bugs me is when run with -snes_monitor one gets 

   0 SNES Function norm 5.762960941474e-03 
   1 SNES Function norm 1.290442613307e-05

so my mind immediately jumps to thinking, oh, so it is trying to solve a nonlinear system. But, in fact, it is not trying to solve a nonlinear system and, in fact, will not ever use more than "one" iteration, 

Perhaps there is no good way, in terms of display, to avoid this since we don't really want to overwrite the default monitor routine for  rosw.

Note that the manual page for TSROSW is marked Beginner but makes no explicit mention of the fact that the solver doesn't use a nonlinear solver. It reads 

"These methods are intended for problems with well-separated time scales, especially when a slow scale is strongly
  nonlinear such that it is expensive to solve with a fully implicit method. "

does this imply that the "fast" scale is "mostly" linear and hence a single linear solve is good enough instead of using a full nonlinear solve?


BTW: where is the table of TS solvers equivalent to http://www.mcs.anl.gov/petsc/documentation/linearsolvertable.html?  In fact, there should be a nonlinear one now also.


  Barry



On Oct 15, 2012, at 11:32 PM, Jed Brown <jedbrown at mcs.anl.gov> wrote:

> On Mon, Oct 15, 2012 at 11:24 PM, Barry Smith <bsmith at mcs.anl.gov> wrote:
> 
>    It is seriously misleading that TSType rosw uses SNES as the solver since it is only using SNESKSP and the algorithm really is built around only linear solves.  Are you sure that using SNES is the right model for this family of algorithms? Convince me.
> 
> 1. Consistency in where the callbacks and matrices are stored.
> 
> 2. Consistency in configuration of Krylov methods and preconditioners.
> 
> 3. Lack of order-dependence when configuring the above.
> 
> 4. Ability to TSSetType() part way through a run without needing to reconfigure all of the above.
> 
> 5. It's sometimes useful for debugging to run the Rosenbrocks with a true nonlinear solve.
> 
> 6. Ability to debug Jacobian correctness using SNES infrastructure.
> 
> 7. No need to duplicate -snes_fd_coloring support outside of SNES.
> 
> 
>    I realize one person among us thinks we should use SNES for both linear and nonlinear solves, but he is wrong :-)
> 
>   Barry
> 
> 




More information about the petsc-dev mailing list