Computing and Visualization in Science

, Volume 15, Issue 2, pp 61–73

A curved-element unstructured discontinuous Galerkin method on GPUs for the Euler equations


DOI: 10.1007/s00791-013-0197-0

Cite this article as:
Siebenborn, M., Schulz, V. & Schmidt, S. Comput. Visual Sci. (2012) 15: 61. doi:10.1007/s00791-013-0197-0


In this work we consider Runge–Kutta discontinuous Galerkin methods for the solution of hyperbolic equations enabling high order discretization in space and time. We aim at an efficient implementation of DG for Euler equations on GPUs. A mesh curvature approach is presented for the proper resolution of the domain boundary. This approach is based on the linear elasticity equations and enables a boundary approximation with arbitrary, high order. In order to demonstrate the performance of the boundary curvature a massively parallel solver on graphics processors is implemented and utilized for the solution of the Euler equations of gas-dynamics.

List of symbols

\(\alpha \)

Angle of attack


Differentiation matrices

\(\mathcal {E}\)

Young’s modulus


Total energy

\(\epsilon \)

Strain tensor

\(\eta \)

Artificial viscosity coefficient


Flux tensor


Numerical flux function


Deformation on curved boundary


Modal expansion coefficients


Nodal values


Linear elasticity solution

\(\mathcal {I}_{cub}\)

Cubature interpolation matrix

\(\mathcal {I}_{g}\)

Gauss point interpolation matrix


Jacobian at \(i\)th cubature node


Jacobian at \(i\)th Gauss node

\(\kappa \)

Coefficient for smoothness indicator


Lagrange polynomials

\(\lambda , \mu \)

Lamé parameter


Mass matrix

\(M_{\infty }\)

Free stream Mach number

\(M_{\partial \Omega }\)

Face mass matrix


Number of Gauss nodes


Number of cubature nodes


Number of collocation nodes


Number of components of \(U\)

\(\nu \)

Poisson’s ratio

\(\Omega \)

Domain of interest

\(\Omega _k\)

\(k\)th element

\(\Omega _c\)

Region of curved elements


Degree of basis polynomials

\(\mathfrak {p}\)


\(\psi _i\)

Modal basis functions

\(\Psi _k\)

Transformation functions


Vector of auxiliary variables

\(\rho \)



Coordinate in reference element


Collocation points


Cubature nodes in reference element


Gauss nodes in reference element


Stiffness matrices

\(\sigma \)

Stress tensor


Smoothness indicator in element k

\(\mathcal {S}\)

NURB surface of the geometry

\(\mathcal {T}\)

Reference element


Velocity in x direction


Unknown function


Vector of unknown values


Unknown values at cubature nodes


Unknown values at Gauss nodes

\(\mathcal {V}_h\)

Global ansatz space

\(\mathcal {V}_h^k\)

Local ansatz space


Velocity in y direction


Vandermonde matrix


Velocity in z direction


Cubature weights


Gauss quadrature


Coordinate in physical mesh

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  1. 1.Universität TrierTrierGermany
  2. 2.Department of AeronauticsImperial College LondonLondonUK

Personalised recommendations