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/>

Reply via email to