[petsc-dev] Recover from TS failure

Jed Brown jed at jedbrown.org
Wed Nov 1 18:44:50 CDT 2017


Mark Adams <mfadams at lbl.gov> writes:

> On Wed, Nov 1, 2017 at 7:21 PM, Jed Brown <jed at jedbrown.org> wrote:
>
>> Mark Adams <mfadams at lbl.gov> writes:
>>
>> >>
>> >>
>> >>
>> >> You're in PetscTraceBackErrorHandler which is way too late.  Back up.
>> >> What caused the error?
>> >>
>> >>
>> > SNES problem. It can be linear solver error,  max its, or line search
>> > failure. See attached.
>> >
>> > I see that I want to unset TS->errorifstepfailed. I see how to do that
>> with
>> > SNES, Will look again for TS,
>>
>> Dude, back up.  You need to find out why the TS implementation is
>> reporting ts->reason < 0.  If it's a SNES failure and it repeats when
>> the step is shortened, you need to fix that.
>>
>
> It does not repeat, it just fails and aborts. It never gets to my recover
> code.

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.

> I see *-ts_error_if_step_fails *
>
> I can set that to false right?
>
> And I don't see a function interface.
>
>
>> You can avoid an error by calling TSSetErrorIfStepFails(),

Did you read about -ts_error_if_step_fails on the man page for the
functional interface I just cited?

>> 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