CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   Main CFD Forum (https://www.cfd-online.com/Forums/main/)
-   -   Question about Discontinous Galerkin Method (https://www.cfd-online.com/Forums/main/128977-question-about-discontinous-galerkin-method.html)

phy4me January 25, 2014 11:27

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

cfdnewbie January 25, 2014 12:23

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.

phy4me January 25, 2014 13:19

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,

cfdnewbie January 25, 2014 13:21

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.