This is a list of software I and my (former) group members have contributed to. All of the software is open source and available right now.
Klimakoffer.jl. We have developed a very simple open source climate model usable for research based teaching. The model is implemented in the Julia programming language. A two-dimensional version of the energy balance model (EBM) is numerically simulated to get the surface temperature distribution and in particular the mean temperature.
DG for FLASH. Developed by my former PhD student Johannes Markert during his PhD studies. Implementation of the Discontinuous-Galerkin-Finite-Volume (DGFV) convex blending scheme for (ideal) magneto-hydrodynamics. The DGFV solver is provided as a FLASH module. In order to use the solver, its source files must be copied to physics/Hydro/HydroMain/split/DGFV inside the source tree of your own copy of FLASH.
Nemo – a modular CFD code for rapid prototyping. Developed by my former PhD student Johannes Markert during his PhD studies. Nemo is a lightweight, easy to understand (magneto)-hydrodynamics code in 2D/3D leveraging the robustness of ’Finite Volume’ (FV) methods and the efficiency of nodal ’Discontinuous Galerkin Spectral Element Methods’ (DGSEM). The code is open source, written in modern Fortran and specifically aimed at providing a modular and performant development platform for rapid prototyping new solvers for computational fluid dynamics. Nemo is capable of hybrid parallelization via OpenMP+MPI and supports adaptive mesh refinement on Cartesian grids via the open source library p4est.
Trixi.jl is a numerical simulation framework for hyperbolic conservation laws written in Julia. A key objective for the framework is to be useful to both scientists and students. Therefore, next to having an extensible design with a fast implementation, Trixi is focused on being easy to use for new or inexperienced users, including the installation and postprocessing procedures.
FLEXI. Development started during my postdoc time at the Institute of Aerodynamics and Gasdynamics in Stuttgart. FLEXI is a Multi-purpose high order Discontinuous Galerkin spectral element code on unstructured curvilinear hexahedral meshes. HPC is achieved via a optimized MPI parallelisation where you can go as low as one element on an MPI rank. The development is ongoing by the Stuttgart Group of Prof. Munz with many new cool features and capabilities – check it out.
FLUXO. Development started with my move to Cologne and my colleague Dr. Florian Hindenlang (IPP, Max-Planck) moving to Garching as a postdoc. FLUXO is a spin-off of FLEXI and thus shares a similar DNA. However, its focus is on the simulation of problems governed by the resistive MHD equations with Adaptive Mesh Refinement (AMR), with possible applications in space physics, astrophysics, and the simulation of fusion reactors. Naturally, the compressible Navier-Stokes equations are also available as a model. A particular feature of FLUXO is a full 3D curvilinear implementation of the split form DG method, including entropy stable and kinetic energy preserving variants. FLUXO’s AMR is powered by the p4est library, and shock capturing is done with a continuous blending of the high-order DG method with subcell finite volume cells in a local manner. The main developers of the code are my postdoc Dr. Andrés Rueda-Ramírez, Dr. Florian Hindenlang, my former postdocs, Dr. Andrew Winters (now Professor at Linköping University) and Dr. Alexander Astanin, and myself. Actual development is at GitLab, but here is a recent open source version at GitHub – check it out!
HAFLINGER. HAFLINGER is basically an experiment that my former postdoc Dr. Thomas Bolemann started in my group. The idea is to translate the core part of either FLEXI/FLUXO into a simulation code written in the language JULIA. The code features 3D curvilinear DGSEM for compressible Navier-Stokes equations and is only a factor 2-3 slower than our FORTRAN codes – check it out!
ESDGSEM_MPIOCCA was developed mainly by my former PhD student Dr. Niklas Wintermeyer and is a DG solver based on the OCCA framework of Medina, Warburton and St-Cyr. The framework is for 2D unstructured quad meshes and the method features high order, entropy stability, well balancedness, artificial viscosity based shock capturing and wet/dry capabilities – check it out!
HOPR. HOPR is a high order pre-processing tool that helps to generate curvilinear meshes, which are very important for high order simulations with e.g. DG. It was mainly developed by Dr. Thomas Bolemann and Dr. Florian Hindenlang. For complex geometries based on e.g. CAD definitions, a starter mesh in a conventional mesh generator is needed as an input. However, simple geometries can be constructed directly with HOPR in the spirit of block-structured meshes – check it out!