In applied mathematics, discontinuous Galerkin methods (DG methods) form a class of numerical methods for solving differential equations. They combine features of the finite element and the finite volume framework and have been successfully applied to hyperbolic, elliptic, parabolic and mixed form problems arising from a wide range of applications. DG methods have in particular received considerable interest for problems with a dominant first-order part, e.g. in electrodynamics, fluid mechanics and plasma physics. Indeed, the solutions of such problems may involve strong gradients (and even discontinuities) so that classical finite element methods fail, while finite volume methods are restricted to low order approximations.
Discontinuous Galerkin methods were first proposed and analyzed in the early 1970s as a technique to numerically solve partial differential equations. In 1973 Reed and Hill introduced a DG method to solve the hyperbolic neutron transport equation.
The origin of the DG method for elliptic problems cannot be traced back to a single publication as features such as jump penalization in the modern sense were developed gradually. However, among the early influential contributors were Babuška, J.-L. Lions, Joachim Nitsche and Miloš Zlámal. DG methods for elliptic problems were already developed in a paper by Garth Baker in the setting of 4th order equations in 1977. A more complete account of the historical development and an introduction to DG methods for elliptic problems is given in a publication by Arnold, Brezzi, Cockburn and Marini. A number of research directions and challenges on DG methods are collected in the proceedings volume edited by Cockburn, Karniadakis and Shu.
Overview
Much like the continuous Galerkin (CG) method, the discontinuous Galerkin (DG) method is a finite element method formulated relative to a weak formulation of a particular model system. Unlike traditional CG methods that are conforming, the DG method works over a trial space of functions that are only piecewise continuous, and thus often comprise more inclusive function spaces than the finite-dimensional inner product subspaces utilized in conforming methods.
As an example, consider the continuity equation for a scalar unknown
in a spatial domain
without "sources" or "sinks" :
![{\displaystyle {\frac {\partial \rho }{\partial t}}+\nabla \cdot \mathbf {J} =0,}](https://wikimedia.org/api/rest_v1/media/math/render/svg/8e48f6ad7b60f89931724ee61cea1ea714664f92)
where
is the flux of
.
Now consider the finite-dimensional space of discontinuous piecewise polynomial functions over the spatial domain
restricted to a discrete triangulation
, written as
![{\displaystyle S_{h}^{p}(\Omega _{h})=\{v_{|\Omega _{e_{i}}}\in P^{p}(\Omega _{e_{i}}),\ \ \forall \Omega _{e_{i}}\in \Omega _{h}\}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/f88ae934a206affc11def71420b41599eddf9579)
for
the space of polynomials with degrees less than or equal to
over element
indexed by
. Then for finite element shape functions
the solution is represented by
![{\displaystyle \rho _{h}^{i}=\sum _{j=1}^{\text{dofs}}\rho _{j}^{i}(t)N_{j}^{i}({\boldsymbol {x}}),\quad \forall {\boldsymbol {x}}\in \Omega _{e_{i}}.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/bf305e52a521b31b669a0c86879aaa42a8369422)
Then similarly choosing a test function
![{\displaystyle \varphi _{h}^{i}({\boldsymbol {x}})=\sum _{j=1}^{\text{dofs}}\varphi _{j}^{i}N_{j}^{i}({\boldsymbol {x}}),\quad \forall {\boldsymbol {x}}\in \Omega _{e_{i}},}](https://wikimedia.org/api/rest_v1/media/math/render/svg/505ea6ccb78a8bcda6eebcc7658902c9c73c7167)
multiplying the continuity equation by
and integrating by parts in space, the semidiscrete DG formulation becomes:
![{\displaystyle {\frac {d}{dt}}\int _{\Omega _{e_{i}}}\rho _{h}^{i}\varphi _{h}^{i}\,d{\boldsymbol {x}}+\int _{\partial \Omega _{e_{i}}}\varphi _{h}^{i}\mathbf {J} _{h}\cdot {\boldsymbol {n}}\,d{\boldsymbol {x}}=\int _{\Omega _{e_{i}}}\mathbf {J} _{h}\cdot \nabla \varphi _{h}^{i}\,d{\boldsymbol {x}}.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/cf5a9762e0c8d48d7a60ef2516798e64b168c704)
Scalar hyperbolic conservation law
A scalar hyperbolic conservation law is of the form
![{\displaystyle {\begin{aligned}\partial _{t}u+\partial _{x}f(u)&=0\quad {\text{for}}\quad t>0,\,x\in \mathbb {R} \\u(0,x)&=u_{0}(x)\,,\end{aligned}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/ec09d6fe1bc41460cc0ce0f4263ae7ea7ae11bef)
where one tries to solve for the unknown scalar function
, and the functions
are typically given.
Space discretization
The
-space will be discretized as
![{\displaystyle \mathbb {R} =\bigcup _{k}I_{k}\,,\quad I_{k}:=\left(x_{k},x_{k+1}\right)\quad {\text{for}}\quad x_{k}<x_{k+1}\,.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/7020659dffcb0fd6180dc0ae15dcdfc0d2ab756c)
Furthermore, we need the following definitions
![{\displaystyle h_{k}:=|I_{k}|\,,\quad h:=\sup _{k}h_{k}\,,\quad {\hat {x}}_{k}:=x_{k}+{\frac {h_{k}}{2}}\,.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/93ae979aa1da279981f51837b753ed03181d7f86)
Basis for function space
We derive the basis representation for the function space of our solution
. The function space is defined as
![{\displaystyle S_{h}^{p}:=\left\lbrace v\in L^{2}(\mathbb {R} ):v{\Big |}_{I_{k}}\in \Pi _{p}\right\rbrace \quad {\text{for}}\quad p\in \mathbb {N} _{0}\,,}](https://wikimedia.org/api/rest_v1/media/math/render/svg/f0179b5f4d83d15ce8389d355063265fe4ab0381)
where
denotes the restriction of
onto the interval
, and
denotes the space of polynomials of maximal degree
. The index
should show the relation to an underlying discretization given by
. Note here that
is not uniquely defined at the intersection points
.
At first we make use of a specific polynomial basis on the interval
, the Legendre polynomials
, i.e.,
![{\displaystyle P_{0}(x)=1\,,\quad P_{1}(x)=x\,,\quad P_{2}(x)={\frac {1}{2}}(3x^{2}-1)\,,\quad \dots }](https://wikimedia.org/api/rest_v1/media/math/render/svg/30582f7c9bd254c5927d37d6be95276e8629da45)
Note especially the orthogonality relations
![{\displaystyle \left\langle P_{i},P_{j}\right\rangle _{L^{2}([-1,1])}={\frac {2}{2i+1}}\delta _{ij}\quad \forall \,i,j\in \mathbb {N} _{0}\,.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/047ab4c461c39325d103b96d60634fe690fef639)
Transformation onto the interval
, and normalization is achieved by functions
![{\displaystyle \varphi _{i}(x):={\sqrt {2i+1}}P_{i}(2x-1)\quad {\text{for}}\quad x\in [0,1]\,,}](https://wikimedia.org/api/rest_v1/media/math/render/svg/0b830ef93a569c6bcafe8a84e8d1e0d496fd1fdf)
which fulfill the orthonormality relation
![{\displaystyle \left\langle \varphi _{i},\varphi _{j}\right\rangle _{L^{2}([0,1])}=\delta _{ij}\quad \forall \,i,j\in \mathbb {N} _{0}\,.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/7eb4f3e94973b7a13f03e996734fcc4ee26f0420)
Transformation onto an interval
is given by
![{\displaystyle {\bar {\varphi }}_{ki}:={\frac {1}{\sqrt {h_{k}}}}\varphi _{i}\left({\frac {x-x_{k}}{h_{k}}}\right)\quad {\text{for}}\quad x\in I_{k}\,,}](https://wikimedia.org/api/rest_v1/media/math/render/svg/20d9134de4b08c4b68086ba1e2e2905e44775f80)
which fulfill
![{\displaystyle \left\langle {\bar {\varphi }}_{ki},{\bar {\varphi }}_{kj}\right\rangle _{L^{2}(I_{k})}=\delta _{ij}\quad \forall \,i,j\in \mathbb {N} _{0}\forall \,k\,.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/304767880324ca6e941e0273a7edc66007c83173)
For
-normalization we define
, and for
-normalization we define
, s.t.
![{\displaystyle \|\varphi _{ki}\|_{L^{\infty }(I_{k})}=\|\varphi _{i}\|_{L^{\infty }([0,1])}=:c_{i,\infty }\quad {\text{and}}\quad \|{\tilde {\varphi }}_{ki}\|_{L^{1}(I_{k})}=\|\varphi _{i}\|_{L^{1}([0,1])}=:c_{i,1}\,.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/b41c5c3724e8a0552bc15efa4d726e3bd0ff6be1)
Finally, we can define the basis representation of our solutions
![{\displaystyle {\begin{aligned}u_{h}(t,x):=&\sum _{i=0}^{p}u_{ki}(t)\varphi _{ki}(x)\quad {\text{for}}\quad x\in (x_{k},x_{k+1})\\u_{ki}(t)=&\left\langle u_{h}(t,\cdot ),{\tilde {\varphi }}_{ki}\right\rangle _{L^{2}(I_{k})}\,.\end{aligned}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/1c996f133e4c72e10c4354a17b9f10876d6a7c0b)
Note here, that
is not defined at the interface positions.
Besides, prism bases are employed for planar-like structures, and are capable for 2-D/3-D hybridation.
DG-scheme
The conservation law is transformed into its weak form by multiplying with test functions, and integration over test intervals
![{\displaystyle {\begin{aligned}\partial _{t}u+\partial _{x}f(u)&=0\\\Rightarrow \quad \left\langle \partial _{t}u,v\right\rangle _{L^{2}(I_{k})}+\left\langle \partial _{x}f(u),v\right\rangle _{L^{2}(I_{k})}&=0\quad {\text{for}}\quad \forall \,v\in S_{h}^{p}\\\Leftrightarrow \quad \left\langle \partial _{t}u,{\tilde {\varphi }}_{ki}\right\rangle _{L^{2}(I_{k})}+\left\langle \partial _{x}f(u),{\tilde {\varphi }}_{ki}\right\rangle _{L^{2}(I_{k})}&=0\quad {\text{for}}\quad \forall \,k\;\forall \,i\leq p\,.\end{aligned}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/3da5a598a65dfd088593437631468673cefe455e)
By using partial integration one is left with
![{\displaystyle {\begin{aligned}{\frac {\mathrm {d} }{\mathrm {d} t}}u_{ki}(t)+f(u(t,x_{k+1})){\tilde {\varphi }}_{ki}(x_{k+1})-f(u(t,x_{k})){\tilde {\varphi }}_{ki}(x_{k})-\left\langle f(u(t,\,\cdot \,)),{\tilde {\varphi }}_{ki}'\right\rangle _{L^{2}(I_{k})}=0\quad {\text{for}}\quad \forall \,k\;\forall \,i\leq p\,.\end{aligned}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/345889eda826f318c7fb612a2bea3813f25b721a)
The fluxes at the interfaces are approximated by numerical fluxes
with
![{\displaystyle g_{k}:=g(u_{k}^{-},u_{k}^{+})\,,\quad u_{k}^{\pm }:=u(t,x_{k}^{\pm })\,,}](https://wikimedia.org/api/rest_v1/media/math/render/svg/21e40b6ed3675d51c3661d2d9e3ebcd497adfcfb)
where
denotes the left- and right-hand sided limits. Finally, the DG-Scheme can be written as
![{\displaystyle {\begin{aligned}{\frac {\mathrm {d} }{\mathrm {d} t}}u_{ki}(t)+g_{k+1}{\tilde {\varphi }}_{ki}(x_{k+1})-g_{k}{\tilde {\varphi }}_{ki}(x_{k})-\left\langle f(u(t,\,\cdot \,)),{\tilde {\varphi }}_{ki}'\right\rangle _{L^{2}(I_{k})}=0\quad {\text{for}}\quad \forall \,k\;\forall \,i\leq p\,.\end{aligned}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/c0eae47379264e227f2c5fab4550b79d8e0d94f6)
Scalar elliptic equation
A scalar elliptic equation is of the form
![{\displaystyle {\begin{aligned}-\partial _{xx}u&=f(x)\quad {\text{for}}\quad x\in (a,b)\\u(x)&=g(x)\,\quad {\text{for}}\,\quad x=a,b\end{aligned}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/4c5e28dd1cf6ec687cbdc038afe4e7cfad228f9f)
This equation is the steady-state heat equation, where
is the temperature. Space discretization is the same as above. We recall that the interval
is partitioned into
intervals of length
.
We introduce jump
and average
of functions at the node
:
![{\displaystyle [v]{\Big |}_{x_{k}}=v(x_{k}^{+})-v(x_{k}^{-}),\quad \{v\}{\Big |}_{x_{k}}=0.5(v(x_{k}^{+})+v(x_{k}^{-}))}](https://wikimedia.org/api/rest_v1/media/math/render/svg/cfcdb395b1485b02499399a9a232d297771791b1)
The interior penalty discontinuous Galerkin (IPDG) method is: find
satisfying
![{\displaystyle A(u_{h},v_{h})+A_{\partial }(u_{h},v_{h})=\ell (v_{h})+\ell _{\partial }(v_{h})}](https://wikimedia.org/api/rest_v1/media/math/render/svg/d952cdf79befdd6ffc7a527651850284122d3340)
where the bilinear forms
and
are
![{\displaystyle A(u_{h},v_{h})=\sum _{k=1}^{N+1}\int _{x_{k-1}}^{x_{k}}\partial _{x}u_{h}\partial _{x}v_{h}-\sum _{k=1}^{N}\{\partial _{x}u_{h}\}_{x_{k}}[v_{h}]_{x_{k}}+\varepsilon \sum _{k=1}^{N}\{\partial _{x}v_{h}\}_{x_{k}}[u_{h}]_{x_{k}}+{\frac {\sigma }{h}}\sum _{k=1}^{N}[u_{h}]_{x_{k}}[v_{h}]_{x_{k}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/2f606507d3beee4beca56d3d6c13b1ab5cbc17ed)
and
![{\displaystyle A_{\partial }(u_{h},v_{h})=\partial _{x}u_{h}(a)v_{h}(a)-\partial _{x}u_{h}(b)v_{h}(b)-\varepsilon \partial _{x}v_{h}(a)u_{h}(a)+\varepsilon \partial _{x}v_{h}(b)u_{h}(b)+{\frac {\sigma }{h}}{\big (}u_{h}(a)v_{h}(a)+u_{h}(b)v_{h}(b){\big )}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/b1da63a63713b7ca300d29e17eac00491693b574)
The linear forms
and
are
![{\displaystyle \ell (v_{h})=\int _{a}^{b}fv_{h}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/3d50433084db92076e0c0e9e0ca783a8e5cfe83c)
and
![{\displaystyle \ell _{\partial }(v_{h})=-\varepsilon \partial _{x}v_{h}(a)g(a)+\varepsilon \partial _{x}v_{h}(b)g(b)+{\frac {\sigma }{h}}{\big (}g(a)v_{h}(a)+g(b)v_{h}(b){\big )}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/54ab145f072584356bdc30deae7d1ae809f6fe39)
The penalty parameter
is a positive constant. Increasing its value will reduce the jumps in the discontinuous solution. The term
is chosen to be equal to
for the symmetric interior penalty Galerkin method; it is equal to
for the non-symmetric interior penalty Galerkin method.
Direct discontinuous Galerkin method
The direct discontinuous Galerkin (DDG) method is a new discontinuous Galerkin method for solving diffusion problems. In 2009, Liu and Yan first proposed the DDG method for solving diffusion equations.[1][2] The advantages of this method compared with Discontinuous Galerkin method is that the direct discontinuous Galerkin method derives the numerical format by directly taking the numerical flux of the function and the first derivative term without introducing intermediate variables. We still can get a reasonable numerical results by using this method, and the derivation process is more simple, the amount of calculation is greatly reduced.
The direct discontinuous finite element method is a branch of the Discontinuous Galerkin methods. It mainly includes transforming the problem into variational form, regional unit splitting, constructing basis functions, forming and solving discontinuous finite element equations, and convergence and error analysis.
For example, consider a nonlinear diffusion equation, which is one-dimensional:
, in which ![{\displaystyle U(x,0)=U_{0}(x)\ \ on\ (0,1)}](https://wikimedia.org/api/rest_v1/media/math/render/svg/586933c96e25490a99b477aa797cdbb4ea51b21f)
Space discretization
Firstly, define
, and
. Therefore we have done the space discretization of
. Also, define
.
We want to find an approximation
to
such that
,
,
,
is the polynomials space in
with degree at most
.
Flux:
.
: the exact solution of the equation.
Multiply the equation with a smooth function
so that we obtain the following equations:
,
Here
is arbitrary, the exact solution
of the equation is replaced by the approximate solution
, that is to say, the numerical solution we need is obtained by solving the differential equations.
The numerical flux
Choosing a proper numerical flux is critical for the accuracy of DDG method.
The numerical flux needs to satisfy the following conditions:
♦ It is consistent with
♦ The numerical flux is conservative in the single value on
.
♦ It has the
-stability;
♦ It can improve the accuracy of the method.
Thus, a general scheme for numerical flux is given:
![{\displaystyle {\widehat {h}}=D_{x}b(u)=\beta _{0}{\frac {\left[b\left(u\right)\right]}{\Delta x}}+{\overline {{b\left(u\right)}_{x}}}+\sum _{m=1}^{\frac {k}{2}}\beta _{m}{\left(\Delta x\right)}^{2m-1}\left[\partial _{x}^{2m}b\left(u\right)\right]}](https://wikimedia.org/api/rest_v1/media/math/render/svg/b8c535c781250b2d2610eed1bd30ce2a2a312183)
In this flux,
is the maximum order of polynomials in two neighboring computing units.
is the jump of a function. Note that in non-uniform grids,
should be
and
in uniform grids.
Error estimates
Denote that the error between the exact solution
and the numerical solution
is
.
We measure the error with the following norm:
and we have
,
See also
References
- ^ Hailiang Liu, Jue Yan, The Direct Discontinuous Galerkin (DDG) Methods For Diffusion Problems,SIAM J. NUMER. ANAL. Vol. 47, No. 1, pp. 675–698.
- ^ Hailiang Liu, Jue Yan, The Direct Discontinuous Galerkin (DDG) Method for Diffusion with Interface Corrections, Commun. Comput. Phys. Vol. 8, No. 3, pp. 541-564.
- D.N. Arnold, F. Brezzi, B. Cockburn and L.D. Marini, Unified analysis of discontinuous Galerkin methods for elliptic problems, SIAM J. Numer. Anal. 39(5):1749–1779, 2002.
- G. Baker, Finite element methods for elliptic equations using nonconforming elements, Math. Comp. 31 (1977), no. 137, 45–59.
- A. Cangiani, Z. Dong, E.H. Georgoulis, and P. Houston, hp-Version Discontinuous Galerkin Methods on Polygonal and Polyhedral Meshes, SpringerBriefs in Mathematics, (December 2017).
- W. Mai, J. Hu, P. Li, and H. Zhao, “An efficient and stable 2-D/3-D hybrid discontinuous Galerkin time-domain analysis with adaptive criterion for arbitrarily shaped antipads in dispersive parallel-plate pair,” IEEE Trans. Microw. Theory Techn., vol. 65, no. 10, pp. 3671–3681, Oct. 2017.
- W. Mai et al., “A straightforward updating criterion for 2-D/3-D hybrid discontinuous Galerkin time-domain method controlling comparative error,” IEEE Trans. Microw. Theory Techn., vol. 66, no. 4, pp. 1713–1722, Apr. 2018.
- B. Cockburn, G. E. Karniadakis and C.-W. Shu (eds.), Discontinuous Galerkin methods. Theory, computation and applications, Lecture Notes in Computational Science and Engineering, 11. Springer-Verlag, Berlin, 2000.
- P. Lesaint, and P. A. Raviart. "On a finite element method for solving the neutron transport equation." Mathematical aspects of finite elements in partial differential equations 33 (1974): 89–123.
- D.A. Di Pietro and A. Ern, Mathematical Aspects of Discontinuous Galerkin Methods. Mathématiques et Applications, Vol. 69, Springer-Verlag, Berlin, 2011.
- J.S. Hesthaven and T. Warburton, Nodal Discontinuous Galerkin Methods: Algorithms, Analysis, and Applications. Springer Texts in Applied Mathematics 54. Springer Verlag, New York, 2008.
- B. Rivière, Discontinuous Galerkin Methods for Solving Elliptic and Parabolic Equations: Theory and Implementation. SIAM Frontiers in Applied Mathematics, 2008.
- CFD Wiki http://www.cfd-online.com/Wiki/Discontinuous_Galerkin
- W.H. Reed and T.R. Hill, Triangular mesh methods for the neutron transport equation, Tech. Report LA-UR-73–479, Los Alamos Scientific Laboratory, 1973.