[petsc-users] user defined algorithm for newton solver
Michael Povolotskyi
mpovolot at purdue.edu
Thu Oct 8 13:05:28 CDT 2015
Thank you.
The situation is as follows:
The system I need to solve does not have a unique solution, but only one
makes sense from physical point of view. I need to compute direction in
a different way based on the physics.
In other words it should be like this:
1. Start with a solution guess
2. Do full Newton step
3. If converged, exit
else if the solution improved go to step 2
otherwise "update_solution_in_my_way" ang go to step 2
Is it possible to do this in PETSc?
Michael.
On 10/08/2015 01:58 PM, Barry Smith wrote:
>> On Oct 8, 2015, at 12:26 PM, Michael Povolotskyi <mpovolot at purdue.edu> wrote:
>>
>> Dear Petsc developers and users,
>> I'm solving a nonlinear system with PETSc.
>> Often simple Newton iterations do not work and I have to use either linear search or trust region.
>> I would like to use my own algorithm to find a next iteration approximation to solution if the Newton step does not improve the residual. As far as I can see I have to define my own SNELLineSearch object. Is there any example that shows how to do it?
> The line search model is 1) select direction based on approximate solution of approximate Jacobian 2) search in THAT direction for a decrease in the function evaluation. You state "if the Newton step does not improve the residual." so will you be computing the DIRECTION in a different way than (1) or will you be using the same direction but trying somehow to find a decrease in the function evaluation using a different technique then the standard line searchs we provide?
>
> Frankly if the line searches we provide don't work that means the direction is not good and no "special" line search will recover. I really recommend you go through our suggestions on the FAQ http://www.mcs.anl.gov/petsc/documentation/faq.html#newton on trying to figure out why Newton is not converging before you think about writing a special line search.
>
> Barry
>
>
>
>> Thank you,
>> Michael.
>>
>> --
>> Michael Povolotskyi, PhD
>> Research Assistant Professor
>> Network for Computational Nanotechnology
>> Hall for Discover and Learning Research, Room 441
>> West Lafayette, IN 47907
>> Phone (765) 4949396
>>
--
Michael Povolotskyi, PhD
Research Assistant Professor
Network for Computational Nanotechnology
Hall for Discover and Learning Research, Room 441
West Lafayette, IN 47907
Phone (765) 4949396
More information about the petsc-users
mailing list