link to homepage

Institute for Advanced Simulation (IAS)

Navigation and service


Structured High-Order Computational Kernel

Scientific area

Direct numerical simulation of compressible flow.

Short description

SHOCK (Structured High-Order Computational Kernel) is an application for Direct Numerical Simulation (DNS) of compressible flow using a shock-capturing high-order finite difference WENO scheme to calculate the full system of Navier-Stokes equations on curvilinear structured meshes. The three-dimensional, two-dimensional rotational symmetric and two-dimensional unsteady, compressible flow can be simulated. Simulations of inviscid flows (Euler equations) are also possible. SHOCK is programmed in C and contains various capabilities of the numerical method: 1. fifth and ninth order WENO scheme (spatial discretisation of first order derivatives); 2. sixth and tenth order central differences (spatial discretisation of second order derivatives); 3. third and fourth order Runge-Kutta (temporal discretisation). WENO uses nonlinear weights preserving monotonicity in the vicinity of strong gradients (e.g. shocks). In order to improve the numerical stability of the WENO scheme, a local Lax-Friedrichs flux vector splitting is implemented. A powerful general mesh topology containing sub-zones with rotated coordinate systems is implemented enabling the use of arbitrary rotated and curved meshes.

SHOCKNACA 0012, M = 0.65, Re = 5 · 10^5, Q-criterion iso-surfaces (Q=100) coloured by local Mach number; alpha = 2°, 1 billion mesh points (left); alpha = 4°, 67 million mesh points (right).


  • 458,752 cores (up to 1,835,008 MPI ranks) on BlueGene/Q (JUQUEEN)

Scaling of SHOCK on JUQUEENSHOCK weak and strong scaling graphs (32/64 ranks per node).

Programming language and model

  • C
  • MPI
  • I/O with parallel HDF5 (CGNS)

Tested on platforms

  • BlueGene/Q (JUQUEEN)
  • x86 Bull-Cluster (RWTH Aachen University)

Application developers and Contact

Gageik, Manuel, Dipl.-Ing. and
Klioutchnikov, Igor, Prof. Dr.rer.nat.habil.(RUS)
Shock Wave Laboratory
RWTH Aachen University
D-52056 Aachen

(Text and images provided by the developers, taken from the Technical Report FZJ-JSC-IB-2015-01)