[petsc-dev] Strange behaviour from TSARKIMEX

Emil Constantinescu emconsta at mcs.anl.gov
Mon Nov 14 09:23:08 CST 2016


Stefano, thanks for your note. The consistent splittings currently 
supported under ts_type arkimex are give in Table 11 in the manual: 
http://www.mcs.anl.gov/petsc/petsc-current/docs/manual.pdf

Your case a) is not treated as you wrote it down. The reasoning behind 
the use cases is that M will have to be inverted directly or indirectly 
if you put it in F(...) because it's in implicit ODE. In your case b) 
you handle that directly; however, in case a) the M in F(...) is ignored 
in some steps leading to inconsistent formulations. That being said, 
there are ways of solving it as in case a) if M is full rank: some hints 
are in the caption in Table 11, but I can expand.

Also in Table 11, there is a note about instructing TS that the user is 
specifying an implicit ODE (M*ydot....): " set TSSetEquationType() to 
TS_EQ_IMPLICIT or higher". That sould solve the 
-ts_arkimex_fully_implicit inconsistency issue.

Emil


On 11/14/16 4:09 AM, Stefano Zampini wrote:
> I came across this thing recently, and I couldn't figure out where the
> issue could be.
>
> The problem I'm solving is a simple DG advection, the ode is M*udot =
> K*u+b, M is diagonal.
>
> Attached is a MWE that reproduces the problem.
>
> The problem is formed in two different cases depending on the command
> line option -m_lhs
>
> a) -m_lhs 1 : F(u,udot,t) = M*udot, G(u,t) = K*u+b
> b) -m_lhs 0 : F(u,udot,t) = udot, G(u,t) = M^-1(K*u+b)
>
> Using option b) and RK4, the solution is ok.
> If run with any implicit TS method except arkimex, no matter if I'm
> choosing option a) or b), the solution is always very close (say, final
> error < 0.05) to the expected one (computed with BDF).
>
> When using ARKIMEX, case b) gives a good solution, but not case a). In
> fact, the solution does not seem to be advected at all in this case.
>
> I was wondering if I'm doing something wrong or there's a bug in the
> ARKIMEX implementation.
>
> I also noticed that, using  -ts_arkimex_fully_implicit does not produce
> the same output for case a) and b). Shouldn't they produce the same
> method with this option?
>
> Thanks,
> --
> Stefano
-------------- next part --------------

BLOCKED FILE ALERT

A file has been blocked due to the 'Blocked for exchange' rule.
Context: 'b.bin'
Disallowed due to 
Ticket Number: '099c-5829-8d6a-0002'

----------------------------------------

BLOCKED FILE ALERT

A file has been blocked due to the 'Blocked for exchange' rule.
Context: 'final.bin'
Disallowed due to 
Ticket Number: '099c-5829-8d6a-0002'

----------------------------------------

BLOCKED FILE ALERT

A file has been blocked due to the 'Blocked for exchange' rule.
Context: 'K.bin'
Disallowed due to 
Ticket Number: '099c-5829-8d6a-0002'

----------------------------------------

BLOCKED FILE ALERT

A file has been blocked due to the 'Blocked for exchange' rule.
Context: 'M.bin'
Disallowed due to 
Ticket Number: '099c-5829-8d6a-0002'

----------------------------------------

BLOCKED FILE ALERT

A file has been blocked due to the 'Blocked for exchange' rule.
Context: 'u0.bin'
Disallowed due to 
Ticket Number: '099c-5829-8d6a-0002'
See your system administrator for further information. Copyright 1999-2013 McAfee, Inc.All Rights Reserved.http://www.mcafee.com


More information about the petsc-dev mailing list