[petsc-users] Problem with TS and SNES VI

Abhyankar, Shrirang G shrirang.abhyankar at pnnl.gov
Mon Aug 5 10:21:41 CDT 2019


For problems with constraints on the states, I would recommend trying the event functionality, TSEvent, that allows detection and location of discrete events, such as one that you have in your problem.
https://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/TS/TSSetEventHandler.html.

An example using TSEvent functionality:  https://www.mcs.anl.gov/petsc/petsc-current/src/ts/examples/tutorials/ex40.c.html

A brief intro to TSEvent can be found here<https://www.mcs.anl.gov/petsc/petsc-20/conference/Abhyankar_S.pdf>.

Thanks,
Shri


From: petsc-users <petsc-users-bounces at mcs.anl.gov> on behalf of "Huck, Moritz via petsc-users" <petsc-users at mcs.anl.gov>
Reply-To: "Huck, Moritz" <Moritz.Huck at rwth-aachen.de>
Date: Monday, August 5, 2019 at 5:18 AM
To: "petsc-users at mcs.anl.gov" <petsc-users at mcs.anl.gov>
Subject: [petsc-users] Problem with TS and SNES VI

Hi,
I am trying to solve a DAE with the ARKIMEX solver, which works mostly fine.
The problem arises when some states go to unphysical values. I try to constrain my states with SNESVISetVariableBounds (through the petsc4py interface).
But TS seems not respect this e.g. I have a state with is usually between 1 and 1e3 for which I set a lower bound of 1, but the state goes t0 -0.8 at some points.
Are there some tolerances I have to set for VI or something like this?

Best Regards,
Moritz

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20190805/4b57d28f/attachment.html>


More information about the petsc-users mailing list