The Hybrid code solves the compressible Navier-Stokes equations for a calorically perfect gas with power-law viscosity-temperature relationships. It uses stretched Cartesian grids and high-order numerics. The code is written in C++ and is shared through GitLab upon request.


  • archive is a simple script for version control suitable for a single user. It is much simpler than git and has nowhere near the same functionality; I personally use it in addition to git, for keeping track of changes while I’m making changes to the code (i.e., before declaring my changes complete and committing to git).


  • stderrorEstimate.m estimates the standard error in the sample mean and sample variance using the method of batch means and batch correlations by Russo & Luchini (2017).
  • smoothCurve.m smooths data to a length scale which may be uniform, linearly varying, or arbitrarily varying.
  • createGrid_doubleTanh.m creates a 1D grid where the grid-spacing varies as the combination of two tanh functions at different locations. This is useful for things like the streamwise grid in shock/turbulence or shock/boundary-layer interaction, where one wants a finer grid in the middle of the domain and coarsening towards the outlet.
  • createGrid_geometric.m creates a 1D grid where the grid-spacing varies geometrically. This is useful for things like RANS of boundary layers.
  • minMaxOfCurves.m takes multiple curves (defined as (x,y) arrays) as input, finds a common x array, and then finds the min/max y on this common x amongst all curves. This can be useful when plotting shaded regions showing the spread amongst multiple cases, or similar.


  • shockFinder is a Python tool for finding the impinging and reflected shock waves (thus finding the interaction length) in canonical shock/boundary-layer interaction data. The algorithm is based on a computer vision technique for finding the straight lines in a dilatation, density gradient, or similar field. The method/code was developed by undergraduate student Max Mzhen during a summer internship and is described in more detail here.
Source unknown