<div dir="ltr"><br><div class="gmail_extra"><div class="gmail_quote">On Tue, Oct 8, 2013 at 2:25 PM, Jed Brown <span dir="ltr"><<a href="mailto:jedbrown@mcs.anl.gov" target="_blank">jedbrown@mcs.anl.gov</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">Christophe Ortiz <<a href="mailto:christophe.ortiz@ciemat.es">christophe.ortiz@ciemat.es</a>> writes:<br>

<br>
> On Tue, Oct 8, 2013 at 12:18 AM, Jed Brown <<a href="mailto:jedbrown@mcs.anl.gov">jedbrown@mcs.anl.gov</a>> wrote:<br>
><br>
>> Barry Smith <<a href="mailto:bsmith@mcs.anl.gov">bsmith@mcs.anl.gov</a>> writes:<br>
>> >> - In this type of problem, which TS scheme is recommended ? TSARKIMEX ?<br>
>> ><br>
>> >    Beats me.<br>
>><br>
>> ARKIMEX should give you a decent integrator with adaptive error control.<br>
>> Use '-ts_arkimex_type 1bee' to use backward Euler with an<br>
>> extrapolation-based error estimator.<br>
>><br>
><br>
> Good to know. I tried TSBEULER but it has constant timestep.<br>
><br>
> -Is there any other TS with adaptive timestep ?<br>
<br>
</div>TSARKIMEX (nonlinearly implicit) and TSROSW (linearly implicit) have<br>
embedded error estimators and adaptive controllers.<br>
<div class="im"><br>
> -With ARKIMEX, is there a way to control the timestep ? For instance, is it<br>
> possible to control the max factor between two successive timesteps (dt' =<br>
> factor*dt), in order to avoid rejections ?<br>
<br>
</div>-ts_adapt_basic_clip <shorten,lengthen> - Admissible decrease/increase in step size<br>
-ts_adapt_basic_safety <safety> - Safety factor relative to target error<br>
-ts_adapt_basic_reject_safety <rsafety> - Extra safety factor to apply if the last step was rejected<br></blockquote><div><br></div><div><br></div><div>What are the names of the subroutines to access these options directly within the code ? I see there is TSAdaptSetStepLimits but this is to set the min and max timestep size.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="im"><br>
> - Is it possible to have Cranck-Nicholson<br>
<br>
</div>Crank-Nicolson (spelling)<br>
<div class="im"><br>
> with adaptive timestep ? I tried TSCN but it seems timestep is<br>
> constant.<br>
<br>
</div>What would you use as an error estimator?  The same approach as 1bee<br>
could be used to write an extrapolation-based method based on<br>
Crank-Nicolson.  Patches welcome if you do this (a simple exercise).<br>
<br>
I recommend using an A-stable ARKIMEX method.<br></blockquote><div><br></div><div>Ok, thanks.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="im"><br>
> - I also tried TSROSW. Seems to work quite well in some cases. How does it<br>
> compare to ARKIMEX ?<br>
<br>
</div>It is linearly implicit.  For problems with sometimes-"stiff"<br>
nonlinearities, ARKIMEX can often take longer time steps.  If ROSW is<br>
taking similar step sizes, it should be more efficient.<br></blockquote><div><br></div><div>Good to know.</div><div><br></div><div>Christophe </div></div><br></div></div>