<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Hi Barry,</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
The code had a different behavior at one point (using the initial timestep after an event) : I still use commit f0e947c45e099a328e78b13737aa9bc4c143ca79 when I really need the time step to get really small after an event. I don't know if it can help with the
 current code.</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Best,</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Sophie<br>
</div>
<div id="appendonsend"></div>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>From:</b> Barry Smith <bsmith@petsc.dev><br>
<b>Sent:</b> Tuesday, October 27, 2020 16:24<br>
<b>To:</b> Blondel, Sophie <sblondel@utk.edu><br>
<b>Cc:</b> Matthew Knepley <knepley@gmail.com>; petsc-users@mcs.anl.gov <petsc-users@mcs.anl.gov>; xolotl-psi-development@lists.sourceforge.net <xolotl-psi-development@lists.sourceforge.net><br>
<b>Subject:</b> Re: [petsc-users] TSSetEventHandler and TSSetPostEventIntervalStep</font>
<div> </div>
</div>
<div class="" style="word-wrap:break-word; line-break:after-white-space"><br class="">
<div>  I'm sorry the code is still fundamentally broken, I know I promised a long time ago to fix it all up but it is actually pretty hard to get right.</div>
<div><br class="">
</div>
<div>  It detects the zero by finding a small value when it should detect it by find a small region where it changes sign but surprising it is so hardwired</div>
<div>to the size test that fixing it and testing the new code has been very difficult to me.  My branch is <span class="" style="font-family:Menlo; font-size:16px">barry/2019-08-18/fix-tsevent-posteventdt</span></div>
<div><span class="" style="font-family:Menlo; font-size:16px"><br class="">
</span></div>
<div><span class="" style="font-family:Menlo; font-size:16px">  Barry</span></div>
<div><span class="" style="font-family:Menlo; font-size:16px"><br class="">
</span></div>
<div><br class="">
</div>
<div><br class="">
<blockquote type="cite" class="">
<div class="">On Oct 27, 2020, at 3:02 PM, Blondel, Sophie via petsc-users <<a href="mailto:petsc-users@mcs.anl.gov" class="">petsc-users@mcs.anl.gov</a>> wrote:</div>
<br class="x_Apple-interchange-newline">
<div class=""><style type="text/css" class="" style="display:none">
<!--
p
        {margin-top:0;
        margin-bottom:0}
-->
</style>
<div dir="ltr" class="">
<div class="" style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt">
Hi Matt,</div>
<div class="" style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt">
<br class="">
</div>
<div class="" style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt">
With the ex40 I attached in my previous email here is what I get printed on screen when running "./ex40 -ts_monitor -ts_event_monitor":</div>
<div class="" style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt">
0 TS dt 0.1 time 0.
<div class="">1 TS dt 0.5 time 0.1</div>
<div class="">2 TS dt 0.5 time 0.6</div>
<div class="">3 TS dt 0.5 time 1.1</div>
<div class="">4 TS dt 0.5 time 1.6</div>
<div class="">5 TS dt 0.5 time 2.1</div>
<div class="">6 TS dt 0.5 time 2.6</div>
<div class="">7 TS dt 0.5 time 3.1</div>
<div class="">8 TS dt 0.5 time 3.6</div>
<div class="">9 TS dt 0.5 time 4.1</div>
<div class="">10 TS dt 0.5 time 4.6</div>
<div class="">11 TS dt 0.5 time 5.1</div>
<div class="">12 TS dt 0.5 time 5.6</div>
<div class="">13 TS dt 0.5 time 6.1</div>
<div class="">14 TS dt 0.5 time 6.6</div>
<div class="">15 TS dt 0.5 time 7.1</div>
<div class="">TSEvent: Event 0 zero crossing at time 7.6 located in 0 iterations</div>
<div class="">Ball hit the ground at t =  7.60 seconds</div>
<div class="">16 TS dt 0.5 time 7.6</div>
<div class="">17 TS dt 0.5 time 8.1</div>
<div class="">18 TS dt 0.5 time 8.6</div>
<div class="">19 TS dt 0.5 time 9.1</div>
<div class="">20 TS dt 0.5 time 9.6</div>
<div class="">21 TS dt 0.5 time 10.1</div>
<div class="">22 TS dt 0.5 time 10.6</div>
<div class="">23 TS dt 0.5 time 11.1</div>
<div class="">24 TS dt 0.5 time 11.6</div>
<div class="">25 TS dt 0.5 time 12.1</div>
<div class="">26 TS dt 0.5 time 12.6</div>
<div class="">27 TS dt 0.5 time 13.1</div>
<div class="">28 TS dt 0.5 time 13.6</div>
<div class="">29 TS dt 0.5 time 14.1</div>
<div class="">30 TS dt 0.5 time 14.6</div>
<div class="">31 TS dt 0.5 time 15.1</div>
<div class="">32 TS dt 0.5 time 15.6</div>
<div class="">33 TS dt 0.5 time 16.1</div>
<div class="">34 TS dt 0.5 time 16.6</div>
<div class="">35 TS dt 0.5 time 17.1</div>
<div class="">36 TS dt 0.5 time 17.6</div>
<div class="">37 TS dt 0.5 time 18.1</div>
<div class="">38 TS dt 0.5 time 18.6</div>
<div class="">39 TS dt 0.5 time 19.1</div>
<div class="">40 TS dt 0.5 time 19.6</div>
<div class="">41 TS dt 0.5 time 20.1</div>
<div class="">42 TS dt 0.5 time 20.6</div>
<div class="">43 TS dt 0.5 time 21.1</div>
<div class="">44 TS dt 0.5 time 21.6</div>
<div class="">45 TS dt 0.5 time 22.1</div>
<div class="">46 TS dt 0.5 time 22.6</div>
<div class="">47 TS dt 0.5 time 23.1</div>
<div class="">48 TS dt 0.5 time 23.6</div>
<div class="">49 TS dt 0.5 time 24.1</div>
<div class="">50 TS dt 0.5 time 24.6</div>
<div class="">51 TS dt 0.5 time 25.1</div>
<div class="">TSEvent: Event 0 zero crossing at time 25.6 located in 0 iterations</div>
<div class="">Ball hit the ground at t = 25.60 seconds</div>
<div class="">52 TS dt 0.5 time 25.6</div>
<div class="">53 TS dt 0.5 time 26.1</div>
<div class="">54 TS dt 0.5 time 26.6</div>
<div class="">55 TS dt 0.5 time 27.1</div>
<div class="">56 TS dt 0.5 time 27.6</div>
<div class="">57 TS dt 0.5 time 28.1</div>
<div class="">58 TS dt 0.5 time 28.6</div>
<div class="">59 TS dt 0.5 time 29.1</div>
<div class="">60 TS dt 0.5 time 29.6</div>
<div class="">61 TS dt 0.5 time 30.1</div>
<div class="">0 TS dt 0.1 time 0.</div>
<div class="">1 TS dt 0.5 time 0.1</div>
<div class="">2 TS dt 0.5 time 0.6</div>
<div class="">3 TS dt 0.5 time 1.1</div>
<div class="">4 TS dt 0.5 time 1.6</div>
<div class="">5 TS dt 0.5 time 2.1</div>
<div class="">6 TS dt 0.5 time 2.6</div>
<div class="">7 TS dt 0.5 time 3.1</div>
<div class="">8 TS dt 0.5 time 3.6</div>
<div class="">9 TS dt 0.5 time 4.1</div>
<div class="">10 TS dt 0.5 time 4.6</div>
<div class="">11 TS dt 0.5 time 5.1</div>
<div class="">12 TS dt 0.5 time 5.6</div>
<div class="">13 TS dt 0.5 time 6.1</div>
<div class="">14 TS dt 0.5 time 6.6</div>
<div class="">15 TS dt 0.5 time 7.1</div>
<div class="">16 TS dt 0.5 time 7.6</div>
<div class="">17 TS dt 0.5 time 8.1</div>
<div class="">18 TS dt 0.5 time 8.6</div>
<div class="">19 TS dt 0.5 time 9.1</div>
<div class="">20 TS dt 0.5 time 9.6</div>
<div class="">21 TS dt 0.5 time 10.1</div>
<div class="">22 TS dt 0.5 time 10.6</div>
<div class="">23 TS dt 0.5 time 11.1</div>
<div class="">24 TS dt 0.5 time 11.6</div>
<div class="">25 TS dt 0.5 time 12.1</div>
<div class="">26 TS dt 0.5 time 12.6</div>
<div class="">TSEvent: Event 0 zero crossing at time 13.1 located in 0 iterations</div>
<div class="">Ball hit the ground at t = 13.10 seconds</div>
<div class="">27 TS dt 0.5 time 13.1</div>
<div class="">28 TS dt 0.5 time 13.6</div>
<div class="">29 TS dt 0.5 time 14.1</div>
<div class="">30 TS dt 0.5 time 14.6</div>
<div class="">31 TS dt 0.5 time 15.1</div>
<div class="">32 TS dt 0.5 time 15.6</div>
<div class="">33 TS dt 0.5 time 16.1</div>
<div class="">34 TS dt 0.5 time 16.6</div>
<div class="">35 TS dt 0.5 time 17.1</div>
<div class="">36 TS dt 0.5 time 17.6</div>
<div class="">37 TS dt 0.5 time 18.1</div>
<div class="">38 TS dt 0.5 time 18.6</div>
<div class="">39 TS dt 0.5 time 19.1</div>
<div class="">40 TS dt 0.5 time 19.6</div>
<div class="">41 TS dt 0.5 time 20.1</div>
<div class="">42 TS dt 0.5 time 20.6</div>
<div class="">43 TS dt 0.5 time 21.1</div>
<div class="">44 TS dt 0.5 time 21.6</div>
<div class="">45 TS dt 0.5 time 22.1</div>
<div class="">46 TS dt 0.5 time 22.6</div>
<div class="">47 TS dt 0.5 time 23.1</div>
<div class="">TSEvent: Event 0 zero crossing at time 23.6 located in 0 iterations</div>
<div class="">Ball hit the ground at t = 23.60 seconds</div>
<div class="">48 TS dt 0.5 time 23.6</div>
<div class="">49 TS dt 0.5 time 24.1</div>
<div class="">50 TS dt 0.5 time 24.6</div>
<div class="">51 TS dt 0.5 time 25.1</div>
<div class="">52 TS dt 0.5 time 25.6</div>
<div class="">53 TS dt 0.5 time 26.1</div>
<div class="">TSEvent: Event 0 zero crossing at time 26.6 located in 0 iterations</div>
<div class="">Ball hit the ground at t = 26.60 seconds</div>
<div class="">54 TS dt 0.5 time 26.6</div>
<div class="">55 TS dt 0.5 time 27.1</div>
<div class="">56 TS dt 0.5 time 27.6</div>
<div class="">57 TS dt 0.5 time 28.1</div>
<div class="">58 TS dt 0.5 time 28.6</div>
<div class="">59 TS dt 0.5 time 29.1</div>
<div class="">60 TS dt 0.5 time 29.6</div>
61 TS dt 0. time 30.1<br class="">
</div>
<div class="" style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt">
<br class="">
</div>
<div class="" style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt">
I don't see the 0.001 timestep here, do you get a different behavior?</div>
<div class="" style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt">
<br class="">
</div>
<div class="" style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt">
Thank you,</div>
<div class="" style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt">
<br class="">
</div>
<div class="" style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt">
Sophie<br class="">
</div>
<div id="x_appendonsend" class=""></div>
<hr tabindex="-1" class="" style="display:inline-block; width:98%">
<div id="x_divRplyFwdMsg" dir="ltr" class=""><font face="Calibri, sans-serif" class="" style="font-size:11pt"><b class="">From:</b> Matthew Knepley <<a href="mailto:knepley@gmail.com" class="">knepley@gmail.com</a>><br class="">
<b class="">Sent:</b> Tuesday, October 27, 2020 15:34<br class="">
<b class="">To:</b> Blondel, Sophie <<a href="mailto:sblondel@utk.edu" class="">sblondel@utk.edu</a>><br class="">
<b class="">Cc:</b> <a href="mailto:petsc-users@mcs.anl.gov" class="">petsc-users@mcs.anl.gov</a> <<a href="mailto:petsc-users@mcs.anl.gov" class="">petsc-users@mcs.anl.gov</a>>;
<a href="mailto:xolotl-psi-development@lists.sourceforge.net" class="">xolotl-psi-development@lists.sourceforge.net</a> <<a href="mailto:xolotl-psi-development@lists.sourceforge.net" class="">xolotl-psi-development@lists.sourceforge.net</a>><br class="">
<b class="">Subject:</b> Re: [petsc-users] TSSetEventHandler and TSSetPostEventIntervalStep</font>
<div class=""> </div>
</div>
<div class="">
<p class=""><span class="" style="color:#333333; background-color:#fceba6; border:10px solid #fceba6; font-family:Arial,sans-serif; margin-top:12px"><strong class="">[External Email]</strong></span></p>
<div class="">
<div dir="ltr" class="">
<div dir="ltr" class="">On Tue, Oct 27, 2020 at 3:09 PM Blondel, Sophie via petsc-users <<a href="mailto:petsc-users@mcs.anl.gov" class="">petsc-users@mcs.anl.gov</a>> wrote:<br class="">
</div>
<div class="x_x_gmail_quote">
<blockquote class="x_x_gmail_quote" style="margin:0px 0px 0px 0.8ex; border-left:1px solid rgb(204,204,204); padding-left:1ex">
<div dir="ltr" class="">
<div class="" style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt">
Hi,</div>
<div class="" style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt">
<br class="">
</div>
<div class="" style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt">
I am currently using TSSetEventHandler in my code to detect a random event where the solution vector gets modified during the event. Ideally, after the event happens I want the solver to use a much smaller timestep using TSSetPostEventIntervalStep. However,
 when I use TSSetPostEventIntervalStep the solver doesn't use the set value. I managed to reproduce the behavior by modifying ex40.c as attached.</div>
</div>
</blockquote>
<div class=""><br class="">
</div>
<div class=""> I stepped through ex40, and it does indeed change the timestep to 0.001. Can you be more specific, perhaps with monitors, about what you think is wrong?</div>
<div class=""><br class="">
</div>
<div class="">  Thanks,</div>
<div class=""><br class="">
</div>
<div class="">     Matt</div>
<div class=""> </div>
<blockquote class="x_x_gmail_quote" style="margin:0px 0px 0px 0.8ex; border-left:1px solid rgb(204,204,204); padding-left:1ex">
<div dir="ltr" class="">
<div class="" style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt">
I think the issue is related to the fact that the fvalue is not technically "approaching" 0 with a random event, it is more of a step function instead. Do you have any recommendation on how to implement the behavior I'm looking for? Let me know if I can provide
 additional information.</div>
<div class="" style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt">
<br class="">
</div>
<div class="" style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt">
Best,</div>
<div class="" style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt">
<br class="">
</div>
<div class="" style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt">
Sophie<br class="">
</div>
</div>
</blockquote>
</div>
<br clear="all" class="">
<div class=""><br class="">
</div>
-- <br class="">
<div dir="ltr" class="x_x_gmail_signature">
<div dir="ltr" class="">
<div class="">
<div dir="ltr" class="">
<div class="">
<div dir="ltr" class="">
<div class="">What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br class="">
-- Norbert Wiener</div>
<div class=""><br class="">
</div>
<div class=""><a href="http://www.cse.buffalo.edu/~knepley/" target="_blank" class="">https://www.cse.buffalo.edu/~knepley/</a><br class="">
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</blockquote>
</div>
<br class="">
</div>
</body>
</html>