<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Tue, Feb 14, 2017 at 8:55 AM, Emil Constantinescu <span dir="ltr"><<a href="mailto:emconsta@mcs.anl.gov" target="_blank">emconsta@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"><span class="">On 2/14/17 6:53 AM, Matthew Knepley wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
    Explicit methods use only RHSFunction and ignore IFunction, so in<br>
    your case, if you change TS type to rk and ssp at run time, you are<br>
    actually solving u_t = G(t,u). If RHSFunction is not provided, PETSc<br>
    will assume the RHS is zero (u_t=0).<br>
<br>
<br>
I do not agree with this. I thought our aim was to support users<br>
comparing explicit with implicit with semi-implicit. This breaks that<br>
model completely.<br>
</blockquote>
<br></span>
Matt, all RHSFunction can be turned into IFunction but not the other way around. Explicit TS solvers cannot deal with all forms of IFunction and providing support for classifying them may be burdensome and difficult to scale. I think it's more lucrative to improve the documentation.</blockquote><div><br></div><div>I see that is it not one-to-one, but its a pattern I think a lot of people will want, and one of the most common</div><div>things people ask is "when does implicit beat explicit?". We should think about ways to make this easier.</div><div><br></div><div>   Matt</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="HOEnZb"><font color="#888888"><br>
Emil<br>
<br>
</font></span></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature">What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>-- Norbert Wiener</div>
</div></div>