Integrate over short transients
Posted: Fri Aug 02, 2024 3:55 am
Hi,
I have a system upon which a force of the following type is exerted:
That is, at a certain point, the force smoothly increases from 0 to its peak during a very short transient of a few milliseconds. In most scenarios, I guess this transient is irrelevant, but in my particular case I want to study the dynamics of the system in the red area.
(a) My idea was to detect the event where the transient starts, and then reduce the maximum integration step size until the transient is over, and then reset the maximum step size to its original value. Even if this seems plausible, is there a more direct way of doing this? My concern is that, in spite of using an adaptive step-size integrator, it could be that it "skips" the red area directly to the yellow one.
(b) Another question that arises is the following: if I have an event handler or reporter triggering more often than the actual integration steps, how is this handled under the hood? Is there some kind of interpolation going on, or is the system forced to be solved at the time stamp given by the event handler/reporter? Sorry if this is already explained in the documentation, I might have missed it.
Thanks a lot for your invaluable support!
Best regards,
Simone
I have a system upon which a force of the following type is exerted:
That is, at a certain point, the force smoothly increases from 0 to its peak during a very short transient of a few milliseconds. In most scenarios, I guess this transient is irrelevant, but in my particular case I want to study the dynamics of the system in the red area.
(a) My idea was to detect the event where the transient starts, and then reduce the maximum integration step size until the transient is over, and then reset the maximum step size to its original value. Even if this seems plausible, is there a more direct way of doing this? My concern is that, in spite of using an adaptive step-size integrator, it could be that it "skips" the red area directly to the yellow one.
(b) Another question that arises is the following: if I have an event handler or reporter triggering more often than the actual integration steps, how is this handled under the hood? Is there some kind of interpolation going on, or is the system forced to be solved at the time stamp given by the event handler/reporter? Sorry if this is already explained in the documentation, I might have missed it.
Thanks a lot for your invaluable support!
Best regards,
Simone