Question about Discontinous Galerkin Method
1 Attachment(s)
Hi,
I use the DG to solve the 1d shallow water. I want to know how calculate the state value in the Riemann solver ( Roe for example ). If I use the formula in attachments i have minor oscillation but if i use Uh=U0 the result is good. What is the right ? Thanks in advance |
What is written there in the equation is just the solution representation, i.e. the basis functions times your DOF. For the input into the flux functions, you should evaluate U on the boundaries, then calculate the fluxes from that.
Are you using a modal or a nodal basis? If you are using a modal basis, u0 would be (I'm guessing here) the value of your first Legendre polynomial, i.e. the mean value. That will give you a first order approximation of your fluxes, and thus result in a globally first order method. The correct way to do is indeed to evaluate the basis fully at the location it is needed. I recommend you do a convergence study for a simple model problem (Burgers, linear advection etc) first to make sure you got everything right. |
Thanks for your response,
I use here a legendre polynomial basis, I think that are modal approach ( if it lagrange basis here is nodal ... right ? ). In the case when I use the fully basis, osciallations are generated in the solution in same problems ( Haudraulic jump for example ). Here, what I want know is how evaluate the physical state to calculate the flux at each edge. Thanks, |
You do that evaluation the full basis / full expansion at the location where you need it. If you are getting oscillations (for a smooth problem), then you will need to check your code. If you are talking about non-smooth problems, then oscillations are to be expected if you don't use any form of limiting.
|
All times are GMT -4. The time now is 07:04. |