On Tue, Mar 23, 2021 at 11:54 AM Salazar De Troya, Miguel < salazardet...@llnl.gov> 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 <bsm...@petsc.dev> > *Date: *Monday, March 22, 2021 at 7:42 PM > *To: *Matthew Knepley <knep...@gmail.com> > *Cc: *"Salazar De Troya, Miguel" <salazardet...@llnl.gov>, "Jorti, > Zakariae via petsc-users" <petsc-users@mcs.anl.gov> > *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 <knep...@gmail.com> wrote: > > > > On Mon, Mar 22, 2021 at 7:53 PM Salazar De Troya, Miguel via petsc-users < > petsc-users@mcs.anl.gov> 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/>