> On Oct 7, 2015, at 5:28 PM, William Coirier 
> <[email protected]> wrote:
> 
> Thank you Barry. This explains the behavior.
> 
> Maybe I should try a different search strategy? Perhaps newtontr?

   You can. But a failed line search is usually an indication of a bad Jacobian 
or not an accurate enough linear solve. 
http://www.mcs.anl.gov/petsc/documentation/faq.html#newton has many suggestions 
on how to debug failed convergence of Newton

  Barry

> 
> Thanks for your help.
> 
> -----------------------------------------------------------------------
> William J. Coirier, Ph.D.
> Director, Aerosciences and Engineering Analysis
> Advanced Technology Division
> Kratos/Digital Fusion, Inc.
> 4904 Research Drive
> Huntsville, AL 35805
> 256-327-8170
> 256-327-8120 (fax)
> 
> 
> -----Original Message-----
> From: Barry Smith [mailto:[email protected]] 
> Sent: Wednesday, October 07, 2015 5:22 PM
> To: William Coirier
> Cc: [email protected]
> Subject: Re: [petsc-users] SNESSetConvergenceTest usage?
> 
> 
>> On Oct 7, 2015, at 5:12 PM, William Coirier 
>> <[email protected]> wrote:
>> 
>> Without going into too many details regarding the application, here is a 
>> problem I’ve encountered and wonder if anyone has any suggestions.
>> 
>> I have supplied a convergence test function for SNES using the 
>> SNESSetConvergenceTest API. My convergence test function sets the 
>> SNESConvergedReason variable referenced in the argument list to a 
>> handful of SNESConvergedReasons (and does other stuff, but that is not 
>> relevant…)
>> 
>> In my application code, after I call SNESSolve, I call 
>> SNESGetConvergedReason, and for some reason I will occasionally see 
>> SNESConvergedReasons that are NOT in the subset of those I supply with my 
>> convergence test function.
>> 
>> It’s as if my test function setting of the converged reason is either being 
>> overwritten, or ignored.
>> 
>> As an example, I’m using the newtonls (default) scheme, and (an inexact, but 
>> workable) Jacobian. My test function only will set SNESConvergedReason to 
>> SNES_CONVERGED_ITERATING, SNES_CONVERGED_SNORM_RELATIVE or 
>> SNES_DIVERGED_MAX_IT. But, I see DIVERGED_LINE_SEARCH from the call to 
>> SNESGetConvergedReason.
> 
>   The line search routines themselves can set the converged reason, when the 
> line search fails, this happens before it has the next solution so before the 
> next time your line search tester is called. So your value is not been 
> overwritten or ignored. 
> 
>   I am not sure what you want to do about this? It is just the way it is.
> 
>  Barry
> 
>> 
>> Is the line search diverging (most likely?!) and blowing by my 
>> convergence test function?? Maybe (most likely?) I’m doing something 
>> stupid…
>> 
>> Otherwise things are working great. PETSc is awesome!
>> 
>> Any help/suggestions/input is appreciated.
>> 
>> 
>> ----------------------------------------------------------------------
>> -
>> William J. Coirier, Ph.D.
>> Director, Aerosciences and Engineering Analysis Advanced Technology 
>> Division Kratos/Digital Fusion, Inc.
>> 4904 Research Drive
>> Huntsville, AL 35805
>> 256-327-8170
>> 256-327-8120 (fax)
>> 
>> 
>> ----------------------------------------------------------------------
>> ----------------------------------------------
>> 
>> ***NOTICE*** This e-mail and/or the attached documents may contain technical 
>> data within the definition of the International Traffic in Arms Regulations 
>> and/or Export Administration Regulations, and are subject to the export 
>> control laws of the U.S. Government. Transfer of this data by any means to a 
>> foreign person, whether in the United States or abroad, without an export 
>> license or other approval from the U.S. Department of State or Commerce, as 
>> applicable, is prohibited. No portion of this e-mail or its attachment(s) 
>> may be reproduced without written consent of Kratos Defense & Security 
>> Solutions, Inc. Any views expressed in this message are those of the 
>> individual sender, except where the message states otherwise and the sender 
>> is authorized to state them to be the views of any such entity. The 
>> information contained in this message and or attachments is intended only 
>> for the person or entity to which it is addressed and may contain 
>> confidential and/or privileged material. If you are not the intended 
>> recipient or believe that you may have received this document in error, 
>> please notify the sender and delete this e-mail and any attachments 
>> immediately.
> 
> 
> --------------------------------------------------------------------------------------------------------------------
> 
> ***NOTICE*** This e-mail and/or the attached documents may contain technical 
> data within the definition of the International Traffic in Arms Regulations 
> and/or Export Administration Regulations, and are subject to the export 
> control laws of the U.S. Government. Transfer of this data by any means to a 
> foreign person, whether in the United States or abroad, without an export 
> license or other approval from the U.S. Department of State or Commerce, as 
> applicable, is prohibited. No portion of this e-mail or its attachment(s) may 
> be reproduced without written consent of Kratos Defense & Security Solutions, 
> Inc. Any views expressed in this message are those of the individual sender, 
> except where the message states otherwise and the sender is authorized to 
> state them to be the views of any such entity. The information contained in 
> this message and or attachments is intended only for the person or entity to 
> which it is addressed and may contain confidential and/or privileged 
> material. If you are not the intended recipient or believe that you may have 
> received this document in error, please notify the sender and delete this 
> e-mail and any attachments immediately.

Reply via email to