Ok, thanks. I took a quick look at the paper, I don't see any elimination or need for SLATE. The p1 and p2 are two different "up wind" approximations for Ux. There are two of them so their difference can provide a stabilization in Lax-Friedrichs. I don't understand everything but the implementation looks very straightforward with RK.
Barry > On Mar 27, 2021, at 11:39 AM, Matthew Knepley <[email protected]> wrote: > > On Fri, Mar 26, 2021 at 8:20 PM Barry Smith <[email protected] > <mailto:[email protected]>> wrote: > > What is SLATE in this context? > > SLATE is an extension to the Firedrake DSL that describes local elimination. > The idea is that you declaratively tell it what you want, > say static condensation or elimination to get the hybridized problem or > Wheeler Yotov elimination, and it automatically transforms the > problem to give the solve the problem after elimination, handling the local > solves automatically. We definitely want this capability if we > ever seriously pursue hybridization. Thomas Gibson did this, who just moved > to UIUC to work with Andres and company. > > Thanks, > > Matt >> On Mar 23, 2021, at 2:57 PM, Matthew Knepley <[email protected] >> <mailto:[email protected]>> wrote: >> >> On Tue, Mar 23, 2021 at 11:54 AM Salazar De Troya, Miguel >> <[email protected] <mailto:[email protected]>> wrote: >> The calculation of p1 and p2 are done by solving an element-wise local >> problem using u^n. I guess I could embed this calculation inside of the >> calculation for G = H(p1, p2). However, I am hoping to be able to solve the >> problem using firedrake-ts so the formulation is all clearly in one place >> and in variational form. Reading the manual, Section 2.5.2 DAE formulations, >> the Hessenberg Index-1 DAE case seems to be what I need, although it is not >> clear to me how one can achieve this with an IMEX scheme. If I have: >> >> >> I am almost certain that you do not want to do this. I am guessing the >> Firedrake guys will agree. Did they tell you to do this? >> If you had a large, nonlinear system for p1/p2, then a DAE would make sense. >> Since it is just element-wise elimination, you should >> roll it into the easy equation >> >> u' = H >> >> Then you can use any integrator, as Barry says, in particular a nice >> symplectic integrator. My understand is that SLATE is for exactly >> this kind of thing. >> >> Thanks, >> >> Matt >> >> F(U', U, t) = G(t,U) >> >> p1 = f(u_x) >> >> p2 = g(u_x) >> >> u' - H(p1, p2) = 0 >> >> >> >> where U = (p1, p2, u), F(U’, U, t) = [p1, p2, u’ - H(p1, p2)],] and G(t, U) >> = [f(u_x), g(u_x), 0], is there a solver strategy that will solve for p1 and >> p2 first and then use that to solve the last equation? The jacobian for F in >> this formulation would be >> >> >> >> dF/dU = [[M, 0, 0], >> >> [0, M, 0], >> >> [H'(p1), H'(p2), \sigma*M]] >> >> >> >> where M is a mass matrix, H'(p1) is the jacobian of H(p1, p2) w.r.t. p1 and >> H'(p2), the jacobian of H(p1, p2) w.r.t. p2. H'(p1) and H'(p2) are >> unnecessary for the solver strategy I want to implement. >> >> >> >> Thanks >> >> Miguel >> >> >> >> >> >> >> >> From: Barry Smith <[email protected] <mailto:[email protected]>> >> Date: Monday, March 22, 2021 at 7:42 PM >> To: Matthew Knepley <[email protected] <mailto:[email protected]>> >> Cc: "Salazar De Troya, Miguel" <[email protected] >> <mailto:[email protected]>>, "Jorti, Zakariae via petsc-users" >> <[email protected] <mailto:[email protected]>> >> Subject: Re: [petsc-users] Local Discontinuous Galerkin with PETSc TS >> >> >> >> >> >> u_t = G(u) >> >> >> >> I don't see why you won't just compute any needed u_x from the given u and >> then you can use any explicit or implicit TS solver trivially. For implicit >> methods it can automatically compute the Jacobian of G for you or you can >> provide it directly. Explicit methods will just use the "old" u while >> implicit methods will use the new. >> >> >> >> Barry >> >> >> >> >> >> >> On Mar 22, 2021, at 7:20 PM, Matthew Knepley <[email protected] >> <mailto:[email protected]>> wrote: >> >> >> >> On Mon, Mar 22, 2021 at 7:53 PM Salazar De Troya, Miguel via petsc-users >> <[email protected] <mailto:[email protected]>> wrote: >> >> Hello >> >> >> >> I am interested in implementing the LDG method in “A local discontinuous >> Galerkin method for directly solving Hamilton–Jacobi >> equations”https://www.sciencedirect.com/science/article/pii/S0021999110005255 >> >> <https://urldefense.us/v3/__https:/www.sciencedirect.com/science/article/pii/S0021999110005255__;!!G2kpM7uM-TzIFchu!nue-xIlrKIjtG6dGeWKiWVhSxLIOor_uLXP0UEel7pqB4YUy0y-YTHDqVX9IQCHtstz33g$>. >> The equation is more or less of the form (for 1D case): >> >> p1 = f(u_x) >> >> p2 = g(u_x) >> >> u_t = H(p1, p2) >> >> >> >> where typically one solves for p1 and p2 using the previous time step >> solution “u” and then plugs them into the third equation to obtain the next >> step solution. I am wondering if the TS infrastructure could be used to >> implement this solution scheme. Looking at the manual, I think one could set >> G(t, U) to the right-hand side in the above equations and F(t, u, u’) = 0 to >> the left-hand side, although the first two equations would not have time >> derivative. In that case, how could one take advantage of the operator split >> scheme I mentioned? Maybe using some block preconditioners? >> >> >> >> Hi Miguel, >> >> >> >> I have a simple-minded way of understanding these TS things. My heuristic is >> that you put things in F that you expect to want >> >> at u^{n+1}, and things in G that you expect to want at u^n. It is not that >> simple, since you could for instance move F and G >> >> to the LHS and have Backward Euler, but it is my rule of thumb. >> >> >> >> So, were you looking for an IMEX scheme? If so, which terms should be >> lagged? Also, from the equations above, it is hard to >> >> see why you need a solve to calculate p1/p2. It looks like just a forward >> application of an operator. >> >> >> >> Thanks, >> >> >> >> Matt >> >> >> >> I am trying to solve the Hamilton-Jacobi equation u_t – H(u_x) = 0. I >> welcome any suggestion for better methods. >> >> >> >> Thanks >> >> Miguel >> >> >> >> Miguel A. Salazar de Troya >> >> Postdoctoral Researcher, Lawrence Livermore National Laboratory >> >> B141 >> >> Rm: 1085-5 >> >> Ph: 1(925) 422-6411 >> >> >> >> >> >> -- >> >> 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 >> >> >> >> https://www.cse.buffalo.edu/~knepley/ >> <https://urldefense.us/v3/__http:/www.cse.buffalo.edu/*knepley/__;fg!!G2kpM7uM-TzIFchu!nue-xIlrKIjtG6dGeWKiWVhSxLIOor_uLXP0UEel7pqB4YUy0y-YTHDqVX9IQCFFohVy9g$> >> >> >> >> >> -- >> 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 >> >> https://www.cse.buffalo.edu/~knepley/ <http://www.cse.buffalo.edu/~knepley/> > > > > -- > 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 > > https://www.cse.buffalo.edu/~knepley/ <http://www.cse.buffalo.edu/~knepley/>
