Skip to content
Pierre Kestener edited this page May 21, 2020 · 3 revisions

Features

ppkMHD is a C++ CFD application framework designed with the performance portability library kokkos. The code can run on a laptop as well as on a cluster of GPUs (e.g. ouessant at IDRIS (IBM Power8 + Nvidia P100))

Here is a short list of numerical features:

  • 2nd order MUSCL/Hancock for compressible hydrodynamics and MHD (same as in RamsesGPU. )
  • high-order MOOD schemes (hydrodynamics only)
  • high-order spectral difference method (SDM) schemes with positivity preserving and limiter

Future versions may include adaptive mesh-refinement by interfacing p4est library.

  • CPU only AMR code is CanoP
  • Prototype AMR Kokkos code is khamr

Install

System requirements

Supported platform

  • linux
  • Mac

Software requirements

  • CMake
  • optional Doxygen for documentation
  • optional : an MPI compiler (e.g. OpenMPI, MPVAPICH). If you intend to use this software on a GPU cluster, please cross-check your MPI implementation is cuda-aware (might need to re-compile or ask your sysadmin).

Please note that library kokkos is automatically downloaded and built as part of ppkMHD. kokkos source directory is populated using a git submodule.

Gallery

Spectral Difference Methods (SDM)

Four-Quadrant test case 2, SDM of degree 2 / degree 4

  • mesh size is 400x400
  • final time is 0.3
  • positivity preserving : enabled
  • limiter : disabled
degree2 degree4
<img src="img/sdm_fq_deg2_0000010.png" alt="Four quadrant testcase 2" width=500"/> <img src="img/sdm_fq_deg4_0000010.png" alt="Four quadrant testcase 2" width=500"/>

High-Mach Jet (Mach number M=27)

The following image represents the time evolution of a jet (Mach number is 27) between t=0 and t=0.1. Simulation is done with the SDM scheme (N=3), positivity preserving and limiter are activated.

jet 400x200

Mach number M=27 comparison degree3 and 4

jet 400x200 degree 3 and 4