Pushed
> On Oct 27, 2020, at 3:41 PM, Matthew Knepley <[email protected]> wrote:
>
> On Tue, Oct 27, 2020 at 4:24 PM Barry Smith <[email protected]
> <mailto:[email protected]>> wrote:
>
> 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.
>
> 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
> to the size test that fixing it and testing the new code has been very
> difficult to me. My branch is barry/2019-08-18/fix-tsevent-posteventdt
>
> Barry, I do not see this branch on gitlab. Can you give a URL?
>
> Thanks,
>
> Matt
>
> Barry
>
>
>
>> On Oct 27, 2020, at 3:02 PM, Blondel, Sophie via petsc-users
>> <[email protected] <mailto:[email protected]>> wrote:
>>
>> Hi Matt,
>>
>> 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":
>> 0 TS dt 0.1 time 0.
>> 1 TS dt 0.5 time 0.1
>> 2 TS dt 0.5 time 0.6
>> 3 TS dt 0.5 time 1.1
>> 4 TS dt 0.5 time 1.6
>> 5 TS dt 0.5 time 2.1
>> 6 TS dt 0.5 time 2.6
>> 7 TS dt 0.5 time 3.1
>> 8 TS dt 0.5 time 3.6
>> 9 TS dt 0.5 time 4.1
>> 10 TS dt 0.5 time 4.6
>> 11 TS dt 0.5 time 5.1
>> 12 TS dt 0.5 time 5.6
>> 13 TS dt 0.5 time 6.1
>> 14 TS dt 0.5 time 6.6
>> 15 TS dt 0.5 time 7.1
>> TSEvent: Event 0 zero crossing at time 7.6 located in 0 iterations
>> Ball hit the ground at t = 7.60 seconds
>> 16 TS dt 0.5 time 7.6
>> 17 TS dt 0.5 time 8.1
>> 18 TS dt 0.5 time 8.6
>> 19 TS dt 0.5 time 9.1
>> 20 TS dt 0.5 time 9.6
>> 21 TS dt 0.5 time 10.1
>> 22 TS dt 0.5 time 10.6
>> 23 TS dt 0.5 time 11.1
>> 24 TS dt 0.5 time 11.6
>> 25 TS dt 0.5 time 12.1
>> 26 TS dt 0.5 time 12.6
>> 27 TS dt 0.5 time 13.1
>> 28 TS dt 0.5 time 13.6
>> 29 TS dt 0.5 time 14.1
>> 30 TS dt 0.5 time 14.6
>> 31 TS dt 0.5 time 15.1
>> 32 TS dt 0.5 time 15.6
>> 33 TS dt 0.5 time 16.1
>> 34 TS dt 0.5 time 16.6
>> 35 TS dt 0.5 time 17.1
>> 36 TS dt 0.5 time 17.6
>> 37 TS dt 0.5 time 18.1
>> 38 TS dt 0.5 time 18.6
>> 39 TS dt 0.5 time 19.1
>> 40 TS dt 0.5 time 19.6
>> 41 TS dt 0.5 time 20.1
>> 42 TS dt 0.5 time 20.6
>> 43 TS dt 0.5 time 21.1
>> 44 TS dt 0.5 time 21.6
>> 45 TS dt 0.5 time 22.1
>> 46 TS dt 0.5 time 22.6
>> 47 TS dt 0.5 time 23.1
>> 48 TS dt 0.5 time 23.6
>> 49 TS dt 0.5 time 24.1
>> 50 TS dt 0.5 time 24.6
>> 51 TS dt 0.5 time 25.1
>> TSEvent: Event 0 zero crossing at time 25.6 located in 0 iterations
>> Ball hit the ground at t = 25.60 seconds
>> 52 TS dt 0.5 time 25.6
>> 53 TS dt 0.5 time 26.1
>> 54 TS dt 0.5 time 26.6
>> 55 TS dt 0.5 time 27.1
>> 56 TS dt 0.5 time 27.6
>> 57 TS dt 0.5 time 28.1
>> 58 TS dt 0.5 time 28.6
>> 59 TS dt 0.5 time 29.1
>> 60 TS dt 0.5 time 29.6
>> 61 TS dt 0.5 time 30.1
>> 0 TS dt 0.1 time 0.
>> 1 TS dt 0.5 time 0.1
>> 2 TS dt 0.5 time 0.6
>> 3 TS dt 0.5 time 1.1
>> 4 TS dt 0.5 time 1.6
>> 5 TS dt 0.5 time 2.1
>> 6 TS dt 0.5 time 2.6
>> 7 TS dt 0.5 time 3.1
>> 8 TS dt 0.5 time 3.6
>> 9 TS dt 0.5 time 4.1
>> 10 TS dt 0.5 time 4.6
>> 11 TS dt 0.5 time 5.1
>> 12 TS dt 0.5 time 5.6
>> 13 TS dt 0.5 time 6.1
>> 14 TS dt 0.5 time 6.6
>> 15 TS dt 0.5 time 7.1
>> 16 TS dt 0.5 time 7.6
>> 17 TS dt 0.5 time 8.1
>> 18 TS dt 0.5 time 8.6
>> 19 TS dt 0.5 time 9.1
>> 20 TS dt 0.5 time 9.6
>> 21 TS dt 0.5 time 10.1
>> 22 TS dt 0.5 time 10.6
>> 23 TS dt 0.5 time 11.1
>> 24 TS dt 0.5 time 11.6
>> 25 TS dt 0.5 time 12.1
>> 26 TS dt 0.5 time 12.6
>> TSEvent: Event 0 zero crossing at time 13.1 located in 0 iterations
>> Ball hit the ground at t = 13.10 seconds
>> 27 TS dt 0.5 time 13.1
>> 28 TS dt 0.5 time 13.6
>> 29 TS dt 0.5 time 14.1
>> 30 TS dt 0.5 time 14.6
>> 31 TS dt 0.5 time 15.1
>> 32 TS dt 0.5 time 15.6
>> 33 TS dt 0.5 time 16.1
>> 34 TS dt 0.5 time 16.6
>> 35 TS dt 0.5 time 17.1
>> 36 TS dt 0.5 time 17.6
>> 37 TS dt 0.5 time 18.1
>> 38 TS dt 0.5 time 18.6
>> 39 TS dt 0.5 time 19.1
>> 40 TS dt 0.5 time 19.6
>> 41 TS dt 0.5 time 20.1
>> 42 TS dt 0.5 time 20.6
>> 43 TS dt 0.5 time 21.1
>> 44 TS dt 0.5 time 21.6
>> 45 TS dt 0.5 time 22.1
>> 46 TS dt 0.5 time 22.6
>> 47 TS dt 0.5 time 23.1
>> TSEvent: Event 0 zero crossing at time 23.6 located in 0 iterations
>> Ball hit the ground at t = 23.60 seconds
>> 48 TS dt 0.5 time 23.6
>> 49 TS dt 0.5 time 24.1
>> 50 TS dt 0.5 time 24.6
>> 51 TS dt 0.5 time 25.1
>> 52 TS dt 0.5 time 25.6
>> 53 TS dt 0.5 time 26.1
>> TSEvent: Event 0 zero crossing at time 26.6 located in 0 iterations
>> Ball hit the ground at t = 26.60 seconds
>> 54 TS dt 0.5 time 26.6
>> 55 TS dt 0.5 time 27.1
>> 56 TS dt 0.5 time 27.6
>> 57 TS dt 0.5 time 28.1
>> 58 TS dt 0.5 time 28.6
>> 59 TS dt 0.5 time 29.1
>> 60 TS dt 0.5 time 29.6
>> 61 TS dt 0. time 30.1
>>
>> I don't see the 0.001 timestep here, do you get a different behavior?
>>
>> Thank you,
>>
>> Sophie
>> From: Matthew Knepley <[email protected] <mailto:[email protected]>>
>> Sent: Tuesday, October 27, 2020 15:34
>> To: Blondel, Sophie <[email protected] <mailto:[email protected]>>
>> Cc: [email protected] <mailto:[email protected]>
>> <[email protected] <mailto:[email protected]>>;
>> [email protected]
>> <mailto:[email protected]>
>> <[email protected]
>> <mailto:[email protected]>>
>> Subject: Re: [petsc-users] TSSetEventHandler and TSSetPostEventIntervalStep
>>
>> [External Email]
>>
>> On Tue, Oct 27, 2020 at 3:09 PM Blondel, Sophie via petsc-users
>> <[email protected] <mailto:[email protected]>> wrote:
>> Hi,
>>
>> 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.
>>
>> 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?
>>
>> Thanks,
>>
>> Matt
>>
>> 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.
>>
>> Best,
>>
>> Sophie
>>
>>
>> --
>> What most experimenters take for granted before they begin their experiments
>> is infinitely more interesting than any results to which their experiments
>> lead.
>> -- Norbert Wiener
>>
>> https://www.cse.buffalo.edu/~knepley/ <http://www.cse.buffalo.edu/~knepley/>
>
>
>
> --
> What most experimenters take for granted before they begin their experiments
> is infinitely more interesting than any results to which their experiments
> lead.
> -- Norbert Wiener
>
> https://www.cse.buffalo.edu/~knepley/ <http://www.cse.buffalo.edu/~knepley/>