On Mon, Nov 14, 2016 at 9:23 AM, Emil Constantinescu <[email protected]> wrote:
> 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. I did not know any of this. It also has to go in the manual pages. Matt > > 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 >> > -- 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
