<div dir="ltr"><div class="gmail_default" style="font-size:small">I'm interested in using a time-stepper to solve problems arising from multiple data sets (external forces).  Currently, I do the following:</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">TSCreate</div><div class="gmail_default" style="font-size:small">TSSetProblemType</div><div class="gmail_default" style="font-size:small">TSSetSolution</div><div class="gmail_default" style="font-size:small">TSSetDM</div><div class="gmail_default" style="font-size:small">TSSetRHSFunction</div><div class="gmail_default" style="font-size:small">TSSetRHSJacobian</div><div class="gmail_default" style="font-size:small">TSSetType</div><div class="gmail_default" style="font-size:small">TSSetMaxSteps</div><div class="gmail_default" style="font-size:small">TSSetMaxTime</div><div class="gmail_default" style="font-size:small">TSSetExactFinalTime</div><div class="gmail_default" style="font-size:small">TSSetMaxStepRejections</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">then, inside the loop over different data sets:</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">TSSetTimeStep</div><div class="gmail_default" style="font-size:small">TSPseudoSetTimeStepIncrement</div><div class="gmail_default" style="font-size:small">TSSetTime        (to zero)</div><div class="gmail_default" style="font-size:small">TSSetStepNumber    (to zero)</div><div class="gmail_default" style="font-size:small">TSSetUp</div><div class="gmail_default" style="font-size:small">TSSolve</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">This seems to be working, but the step increment behaves oddly on every loop iteration after the first.  Regardless of what I set the time step to, the first TSSolve iteration makes a step which is about twelve orders of magnitude smaller than the specified dt, and from that point on, the controller multiplies every step size by the specified pseudo time step increment (1.5), up until the very end, at which point the multiplier becomes very large as expected near convergence.  </div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">If I create, set up, and destroy the TS in each iteration of the loop, the behavior is as expected, i.e. the first step is almost always by the specified dt.  Is there additional information inside the TS that I need to reset?  Is it a bad idea to reuse a TS?<br></div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">A couple tangential questions - I don't seem to be getting any output from -ts_adapt_monitor, and calling TSSetMaxStepRejections(ts,(PetscInt)-1) seems to set the maximum number of accepted step rejections to zero, rather than to unlimited, as specified by the documentation.</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">Thanks for any help you can provide!</div></div>