<div dir="ltr"><div>Hi Emil, maybe I was unclear, let me try to clarify, I only want the local truncation error at a given step.<br></div><div><br></div><div>Most integrators outside of GLEE also support ts_adapt basic (I'm specifically testing arkimex and bdf), and they compute the WLTE weighted error term, e.g. for arkimex:<br></div><div><br></div><div>TSAdapt basic arkimex 0:3 step   0 accepted t=0          + 1.896e-02 dt=1.967e-02  wlte=0.653  wltea=   -1 wlter=   -1</div><div><br></div><div>or BDF2:<br></div><div><br></div><div>TSAdapt basic bdf 0:2 step   0 rejected t=0          + 3.673e-02 dt=3.673e-03  wlte= 36.6  wltea=   -1 wlter=   -1</div><div><br></div><div></div><div></div><div>I'd like to have access to that wlte value. I can call TSEvaluateWLTE which works for BDF2 but crashes on arkimex for not being implemented. Is there a different avenue to getting this value through arkimex?<br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Sep 16, 2019 at 10:56 AM Constantinescu, Emil M. <<a href="mailto:emconsta@anl.gov">emconsta@anl.gov</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Mark, most integrators estimate the error occurring every step for <br>
adapting the step size. These are called local errors. GLEE are <br>
specialized integrator that estimate the actual error in time; this is <br>
called the global error. GLEE returns TimeError because it computes it <br>
internally, however none of the other solvers does it.<br>
<br>
To assess the accuracy for a specific problem you have two options, and <br>
both involve you estimating the error yourself:<br>
<br>
1. Use an integrator with very small step, store or save the solution <br>
(call it reference) and do the same for the others and then compute the <br>
error with respect to the reference. A strategy similar to this is <br>
implemented in src/ts/examples/tutorials/ex31.c<br>
<br>
2. If you have an exact or manufactured solution, you can compare <br>
against that.<br>
<br>
Emil<br>
<br>
On 9/16/19 9:07 AM, Mark Lohry via petsc-users wrote:<br>
> I'm trying to assess time accuracy for a couple different integrators <br>
> and timesteps in a setup where I need constant time steps.<br>
><br>
> TSGetTimeError seems to only work for GLEE methods (it returns a 0 <br>
> vector otherwise); is there an equivalent for others?<br>
><br>
> I can run -ts_adapt_type basic, and just set min=max=constant, and it <br>
> clearly computes some integrator errors for printf, but is there a way <br>
> I can get that programmatically?<br>
><br>
> Thanks,<br>
> Mark<br>
><br>
><br>
><br>
</blockquote></div>