[petsc-dev] TS Equation Type

Emil Constantinescu emconsta at mcs.anl.gov
Mon Dec 5 13:32:39 CST 2016


This was introduced to allow for full flexibility in ARKIMEX: i.e., use 
IMEX or just the implicit part. It makes a difference whether the 
equation is implicit F(u,u_dot) = 0 (possibly a DAE), or just 
u_dot=f(u). The former has more restrictions and the algorithm is a bit 
more costly and complicated.

TS_EQ_UNSPECIFIED reverts to the original use of ARKIMEX: u_dot = f(u) + 
g(u).

Additional types are introduced for future use.

Emil

On 12/5/16 10:26 AM, Brad Aagaard wrote:
> Matt and the rest of the PETSc developers,
>
> This issue is not whether the TS is linear or nonlinear, but whether it
> is explicit or implicit. As far as I can tell only TS type
> Implicit-Explicit Runge Kutta makes use of the equation_type.
>
> The equations types defined in petscts.h are:
>
>   TS_EQ_UNSPECIFIED               = -1,
>   TS_EQ_EXPLICIT                  = 0,
>   TS_EQ_ODE_EXPLICIT              = 1,
>   TS_EQ_DAE_SEMI_EXPLICIT_INDEX1  = 100,
>   TS_EQ_DAE_SEMI_EXPLICIT_INDEX2  = 200,
>   TS_EQ_DAE_SEMI_EXPLICIT_INDEX3  = 300,
>   TS_EQ_DAE_SEMI_EXPLICIT_INDEXHI = 500,
>   TS_EQ_IMPLICIT                  = 1000,
>   TS_EQ_ODE_IMPLICIT              = 1001,
>   TS_EQ_DAE_IMPLICIT_INDEX1       = 1100,
>   TS_EQ_DAE_IMPLICIT_INDEX2       = 1200,
>   TS_EQ_DAE_IMPLICIT_INDEX3       = 1300,
>   TS_EQ_DAE_IMPLICIT_INDEXHI      = 1500
>
> For PyLith we would like the TS implementation (type) to set the
> equation type so we can detect whether the user has specified an
> implicit or explicit algorithm and set the residual and Jacobian
> functions appropriately. For example, the user may want to solve the
> linear elasticity equation for a quasi-static problem with implicit time
> stepping or a dynamic problem with explicit time stepping.
>
> Brad
>
> On 12/03/2016 12:20 PM, Matthew Knepley wrote:
>> On Sat, Dec 3, 2016 at 2:18 PM, Barry Smith <bsmith at mcs.anl.gov
>> <mailto:bsmith at mcs.anl.gov>> wrote:
>>
>>
>>     > On Dec 3, 2016, at 11:58 AM, Matthew Knepley <knepley at gmail.com
>> <mailto:knepley at gmail.com>> wrote:
>>     >
>>     > Right now, TS just leaves the equation type as undetermined, and
>> never queries it except for the IMEX methods. This seems really
>> strange to me. If we choose a linear TS solver, shouldn't it set the
>> type to LINEAR, and likewise for nonlinear? Then a user could query
>> this for information. We want to do just that in PyLith.
>>
>>       Is your concern that many of the examples never bother to set the
>>     type?
>>
>>
>> Yes, since I want to query this to see what formulation the user expects.
>>
>>
>>     Or that not enough error checking is done that the set type works
>>     with solution method selected by the user?
>>
>>
>> No
>>
>>
>>     I think these are just oversights and you should go ahead and add
>>     these in the examples and code where appropriate.
>>
>>
>> Will do.
>>
>>    Matt
>>
>>
>>
>>        Barry
>>
>>     >
>>     >    Matt
>>     >
>>     > --
>>     > What most experimenters take for granted before they begin their
>>     experiments is infinitely more interesting than any results to which
>>     their experiments lead.
>>     > -- Norbert Wiener
>>
>>
>>
>>
>> --
>> What most experimenters take for granted before they begin their
>> experiments is infinitely more interesting than any results to which
>> their experiments lead.
>> -- Norbert Wiener
>



More information about the petsc-dev mailing list