Hi Wolfgang, Thanks very much for your comments. I realize that nonlinearity manifests itself in various ways, with various possibilities for addressing it. Also, I found revisiting your video lectures 31.x to be valuable.
> That said, you can always extract the PETSc objects from the PETScWrappers objects, and pass that to SNES. The same is possible for Trilinos. So you can always use these two packages already, without the need for any wrappers in deal.II. > I did not realize that this is possible. Best, Sean On Sunday, May 7, 2017 at 11:12:31 PM UTC+2, Wolfgang Bangerth wrote: > > > Sean, > > > I am interested in solving a nonlinear problem with Newton's method. I > would > > describe it as a heat equation with a nonlinear diffusion coefficient, > thus > > building on step-15, 25 and 26. > > I've found step-15, step-25 and step-57 very helpful for understanding > how to > > set up the linear system for the residual and solve it at each step of > the > > nonlinear iteration. > > > > 1) Is that the best approach to take in dealii, i.e. compute the > residual > > manually and manually do the nonlinear iteration until convergence is > satisfied? > > If you have a relatively simple nonlinearity, and if you know that you > don't > need things such as line search, then yes that is the way many of us do > things. > > > > In step-25, the scalar time-dependent system admits a straightforward > > expression for F'(u, delta_u) from F(u). > > In step-33, an automatic differentiation package, trilinos::sacado, is > used to > > facilitate the computation of the vector-valued conservation law's > "terrible > > beast" of a Jacobian. > > For computing the residual, automatic differentiation seems like it can > help > > in certain situations. > > Yes. If the nonlinearity is awkward, then it's the more reliable way to > compute its derivatives. > > > > 2) Are there other options to help "automate" the nonlinear treatment? > For > > example, does anyone have any experience with the petsc nonlinear > solvers (snes)? > > For example, might it allow to easily switch between a Picard > (fixed-point) > > loop, if the Newton loop does not converge? > > > > I note that in the PETScWrappers namespace there are no entries related > to the > > snes package. Why/why not? > > I don't think there is a particular reason. Like most open source > projects, > people implement things to "scratch an itch". Nobody so far felt the need > to > use SNES (or the Trilinos equivalent 'nox'), or had the need badly enough > to > write a comprehensive interface. That doesn't mean that that would be a > bad > idea -- in fact, I think that using SNES or nox is a much better idea than > doing things yourself. > > That said, you can always extract the PETSc objects from the PETScWrappers > objects, and pass that to SNES. The same is possible for Trilinos. So you > can > always use these two packages already, without the need for any wrappers > in > deal.II. > > Best > W. > > > -- > ------------------------------------------------------------------------ > Wolfgang Bangerth email: [email protected] > <javascript:> > www: http://www.math.colostate.edu/~bangerth/ > > -- The deal.II project is located at http://www.dealii.org/ For mailing list/forum options, see https://groups.google.com/d/forum/dealii?hl=en --- You received this message because you are subscribed to the Google Groups "deal.II User Group" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
