|
Peano
|
In the Finite Volume method, we assume a constant value in each computational cell. In Discontinuous Galerkin (DG) method, we use a higher-order polynomial to represent the solution. The polynomial solution is defined everywhere inside the cell, including boundaries. Therefore, values at the faces can be obtained by projection. However, since the polynomials are independent in each cell, this results in two different values at each interface (therefore called "Discontinuous" Galerkin). The DG method resolves this ambiguity by using numerical flux (usually by solving a Riemann problem) to compute a single, consistent flux value.
The following is the overall procedure of the DG method:
\[ u(x,t) \approx u_h(x,t) = \sum_{j=1}^N c_j(t)\phi_j(x) \]
where \(\phi_j(x)\) are the basis functions and \(c_j(t)\) are the time-dependent coefficients we need to find.\[ \frac{\partial u}{\partial t} + \nabla \cdot f(u) = 0 \]
Multiply by \( v_h \) and integrating over \( K\) gives\[ \int_K (\frac{\partial u_h}{\partial t})v_h dx + \int_K (\nabla \cdot f(u_h))v_h dx = 0 \]
Applying integration by parts, we get\[ \int_K (\frac{\partial u_h}{\partial t})v_h dx + \oint_{\partial K} (f(u_h) \cdot n)v_h dS - \int_K f(u_h)\cdot \nabla v_h dx = 0 \]
\[ \int_K (\frac{\partial u_h}{\partial t})v_h dx + \oint_{\partial K} \hat{f} (u_h^-, u_h^+, n)v_h dS - \int_K f(u_h)\cdot \nabla v_h dx = 0 \]
\[ \sum_{i} c_i \int_K (\frac{\partial \phi_i}{\partial t}) \phi_j dx \]
where \( \int_K (\frac{\partial \phi_i}{\partial t}) \phi_j dx \) can be precomputed. After assembling the system for all elements, we can solve it forward in time by the Euler method or higher-order Runge-Kutta method to find the solution at any desired time \( T \).