[petsc-users] Setting step acceptance criteria and/or domain validity using TS module

Pierre Barbier de Reuille pierre.barbierdereuille at gmail.com
Thu Feb 12 08:37:47 CST 2015


Hello,

so here is a patch against the MASTER branch to add time and current
solution vector to the TSAdaptCheckStage. What I did is add the same
arguments as for the TSPostStage call.
I hope I haven't made any mistake.

In addition, if the stage is rejected, PETSc only tried again, changing
nothing, and therefore failing in the exact same way. So I also added a
reduction of the time step if the stage is rejected by the user.

Note: I tested the code with the RungeKutta solver only for now.

Cheers,

Pierre


On Thu Feb 12 2015 at 03:45:13 Jed Brown <jed at jedbrown.org> wrote:

> Pierre Barbier de Reuille <pierre.barbierdereuille at gmail.com> writes:
>
> > Ok, I made progress. But:
> >
> >  1 - whatever I do, I have very slightly negative values, and therefore
> all
> > my steps get rejected (values like 1e-16)
> >  2 - As I expected, SNES is only used with implicit methods. So if I use
> > explicit Runge-Kutta, then there is no solution vector stored by the SNES
> > object.
> >
> > Reading the code for the Runge-Kutta solver, it seems that TSPostStage is
> > where I can retrieve the current state, and TSAdaptCheckStage where I can
> > reject it. But is this something I can rely on?
>
> TSPostStage is only called *after* the stage has been accepted (the step
> might be rejected later, e.g., based on a local error controller).
>
> We should pass the stage solution to TSAdaptCheckStage so you can check
> it there.  I can add this, but I'm at a conference in Singapore this
> week and have a couple more pressing things, so you'd have to wait until
> next week unless someone else can do it (or you'd like to submit a
> patch).
>
> We should also add TSSetSetFunctionDomainError() so you can check it
> there (my preference, actually).
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20150212/81d2463c/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: update_TSAdaptChaeckStage.patch
Type: text/x-patch
Size: 9406 bytes
Desc: not available
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20150212/81d2463c/attachment.bin>


More information about the petsc-users mailing list