[petsc-dev] Recover from TS failure

Jed Brown jed at jedbrown.org
Wed Nov 1 19:30:28 CDT 2017


Mark Adams <mfadams at lbl.gov> writes:

>>
>>
>>
>> The last relevant output you've shown me is SNES failing a bunch of
>> times as the adaptive controller attempts to shrink the step size and
>> retry.  If you fixed that problem, you need to tell me.  If not, THAT is
>> the problem you need to fix.
>>
>
> That is the problem I am trying to fix. 

The solution to that isn't on the outside.

> Note, I am also adapting the time step when the solver converges but
> talks a lot of iterations. Thus, no need for recovery.

You can encapsulate that in an adaptive controller or put the logic (to
get the SNES iteration number and decided whether to TSSetTimeStep) in
the TS PostStep function.

> It is the SNES failure, recover, cut time step, try again, that I am
> working in now.

That is already running in the TSAdapt.  Your failure is a result of
something else.  Use -ts_adapt_monitor for more diagnostics about the
controller's decisions.

>
>>
>> Did you read about -ts_error_if_step_fails on the man page
>
>
> Google, and found the command line args
>
>
>> for the
>> functional interface I just cited?
>>
>>
> Sorry, I missed this cite and used 'git grep' to see that it was there
> (Matt sent me the SNES version today so I knew what to look for).
>
>
>> >> but all the logic you're talking about is already in TS and
>> >> jury-rigging it on the outside is counterproductive.  So get back to
>> >> the root of the problem and debug why SNES is failing.
>> >>
>>


More information about the petsc-dev mailing list