<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Mon, Dec 5, 2016 at 4:06 PM, 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 12/5/16 3:28 PM, Matthew Knepley wrote:<br>
</span><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">
On Mon, Dec 5, 2016 at 1:32 PM, Emil Constantinescu<br></span><span class="">
<<a href="mailto:emconsta@mcs.anl.gov" target="_blank">emconsta@mcs.anl.gov</a> <mailto:<a href="mailto:emconsta@mcs.anl.gov" target="_blank">emconsta@mcs.anl.gov</a>>> wrote:<br>
<br>
    This was introduced to allow for full flexibility in ARKIMEX: i.e.,<br>
    use IMEX or just the implicit part. It makes a difference whether<br>
    the equation is implicit F(u,u_dot) = 0 (possibly a DAE), or just<br>
    u_dot=f(u). The former has more restrictions and the algorithm is a<br>
    bit more costly and complicated.<br>
<br>
    TS_EQ_UNSPECIFIED reverts to the original use of ARKIMEX: u_dot =<br>
    f(u) + g(u).<br>
<br>
    Additional types are introduced for future use.<br>
<br>
<br>
This is not a useful answer since it gives us no idea how to procede.<br>
Its more like an encyclopedia entry.<br>
</span></blockquote>
<br>
I guess I don't understand the question. This setting is used only in -ts_type arkimex because it has implications to how the equation is interpreted -- see above; the user is not required to set it and we are not going to do so. This setting is not meant to be used as a selection tool. We rely on the user to use the appropriate solver. E.g., if the equation is implicit the user should not use explicit RK and so on...</blockquote><div><br></div><div>This is not about selection, this is about information. We want the TS solver to tell use which formulation it is expecting, either u_t = G(u, t), or F(u, u_t, t) = 0.</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 class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5">
   Matt<br>
<br>
<br>
<br>
    Emil<br>
<br>
<br>
    On 12/5/16 10:26 AM, Brad Aagaard wrote:<br>
<br>
        Matt and the rest of the PETSc developers,<br>
<br>
        This issue is not whether the TS is linear or nonlinear, but<br>
        whether it<br>
        is explicit or implicit. As far as I can tell only TS type<br>
        Implicit-Explicit Runge Kutta makes use of the equation_type.<br>
<br>
        The equations types defined in petscts.h are:<br>
<br>
          TS_EQ_UNSPECIFIED               = -1,<br>
          TS_EQ_EXPLICIT                  = 0,<br>
          TS_EQ_ODE_EXPLICIT              = 1,<br>
          TS_EQ_DAE_SEMI_EXPLICIT_<wbr>INDEX1  = 100,<br>
          TS_EQ_DAE_SEMI_EXPLICIT_<wbr>INDEX2  = 200,<br>
          TS_EQ_DAE_SEMI_EXPLICIT_<wbr>INDEX3  = 300,<br>
          TS_EQ_DAE_SEMI_EXPLICIT_INDEXH<wbr>I = 500,<br>
          TS_EQ_IMPLICIT                  = 1000,<br>
          TS_EQ_ODE_IMPLICIT              = 1001,<br>
          TS_EQ_DAE_IMPLICIT_INDEX1       = 1100,<br>
          TS_EQ_DAE_IMPLICIT_INDEX2       = 1200,<br>
          TS_EQ_DAE_IMPLICIT_INDEX3       = 1300,<br>
          TS_EQ_DAE_IMPLICIT_INDEXHI      = 1500<br>
<br>
        For PyLith we would like the TS implementation (type) to set the<br>
        equation type so we can detect whether the user has specified an<br>
        implicit or explicit algorithm and set the residual and Jacobian<br>
        functions appropriately. For example, the user may want to solve the<br>
        linear elasticity equation for a quasi-static problem with<br>
        implicit time<br>
        stepping or a dynamic problem with explicit time stepping.<br>
<br>
        Brad<br>
<br>
        On 12/03/2016 12:20 PM, Matthew Knepley wrote:<br>
<br>
            On Sat, Dec 3, 2016 at 2:18 PM, Barry Smith<br>
            <<a href="mailto:bsmith@mcs.anl.gov" target="_blank">bsmith@mcs.anl.gov</a> <mailto:<a href="mailto:bsmith@mcs.anl.gov" target="_blank">bsmith@mcs.anl.gov</a>><br></div></div><span class="">
            <mailto:<a href="mailto:bsmith@mcs.anl.gov" target="_blank">bsmith@mcs.anl.gov</a> <mailto:<a href="mailto:bsmith@mcs.anl.gov" target="_blank">bsmith@mcs.anl.gov</a>>>> wrote:<br>
<br>
<br>
                > On Dec 3, 2016, at 11:58 AM, Matthew Knepley<br>
            <<a href="mailto:knepley@gmail.com" target="_blank">knepley@gmail.com</a> <mailto:<a href="mailto:knepley@gmail.com" target="_blank">knepley@gmail.com</a>><br></span><div><div class="h5">
            <mailto:<a href="mailto:knepley@gmail.com" target="_blank">knepley@gmail.com</a> <mailto:<a href="mailto:knepley@gmail.com" target="_blank">knepley@gmail.com</a>>>> wrote:<br>
                ><br>
                > Right now, TS just leaves the equation type as<br>
            undetermined, and<br>
            never queries it except for the IMEX methods. This seems really<br>
            strange to me. If we choose a linear TS solver, shouldn't it<br>
            set the<br>
            type to LINEAR, and likewise for nonlinear? Then a user<br>
            could query<br>
            this for information. We want to do just that in PyLith.<br>
<br>
                  Is your concern that many of the examples never bother<br>
            to set the<br>
                type?<br>
<br>
<br>
            Yes, since I want to query this to see what formulation the<br>
            user expects.<br>
<br>
<br>
                Or that not enough error checking is done that the set<br>
            type works<br>
                with solution method selected by the user?<br>
<br>
<br>
            No<br>
<br>
<br>
                I think these are just oversights and you should go<br>
            ahead and add<br>
                these in the examples and code where appropriate.<br>
<br>
<br>
            Will do.<br>
<br>
               Matt<br>
<br>
<br>
<br>
                   Barry<br>
<br>
                ><br>
                >    Matt<br>
                ><br>
                > --<br>
                > What most experimenters take for granted before they<br>
            begin their<br>
                experiments is infinitely more interesting than any<br>
            results to which<br>
                their experiments lead.<br>
                > -- Norbert Wiener<br>
<br>
<br>
<br>
<br>
            --<br>
            What most experimenters take for granted before they begin their<br>
            experiments is infinitely more interesting than any results<br>
            to which<br>
            their experiments lead.<br>
            -- Norbert Wiener<br>
<br>
<br>
<br>
<br>
<br>
--<br>
What most experimenters take for granted before they begin their<br>
experiments is infinitely more interesting than any results to which<br>
their experiments lead.<br>
-- Norbert Wiener<br>
</div></div></blockquote>
</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>