[petsc-users] How to solve nonlinear F(x) = b(x)?
Neiferd, David John
david.neiferd at wright.edu
Mon Aug 8 16:23:15 CDT 2016
Thanks for the suggestions Geoff and Dave. Using G(x) = F(x) - b(x) = 0, will required redefinition of the Jacobian correct? If I understand correctly, the Jacobian is the derivative of F(x) with respect to x. Since we are redefining F(x) to G(x), it would be necessary to change the Jacobian from dF(x)/dx to dF(x)/dx - db(x)/dx, correct?
Also, I noticed when I implemented G(x) = F(x) - b = 0 (where b is constant) the method seems less robust when using newton's method with a line search, at least for one particular problem, the line search (using default settings) diverges (converged reason = -6), but using a trust region newton method or a quasi-newton method it converges to the answer.
________________________________
From: Oxberry, Geoffrey Malcolm <oxberry1 at llnl.gov>
Sent: Monday, August 8, 2016 4:20:27 PM
To: Neiferd, David John
Cc: petsc-users at mcs.anl.gov
Subject: Re: [petsc-users] How to solve nonlinear F(x) = b(x)?
David,
What about solving G(x) = F(x) - b(x) = 0?
Geoff
On Aug 8, 2016, at 1:12 PM, Neiferd, David John <david.neiferd at wright.edu<mailto:david.neiferd at wright.edu>> wrote:
Hello all,
I've been searching through the PETSc documentation to try to find how to solve a nonlinear system where the right hand side (b) varies as a function of the state variables (x). According to the PETSc documentation, SNES solves the equations F(x) = b where b is a constant vector. What would I do to solve F(x) = b(x)? An example of this would be a nonlinear thermoelastic structure where as the structure deforms the direction of the loads generated by the thermal expansion changes as well. Any insight into how to implement this is appreciated.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20160808/fd9ac526/attachment.html>
More information about the petsc-users
mailing list