Computer codes

Over the years the students in the CFDLAB have developed a series of CFD codes suitable for different applications.  If you have interest in using any of these codes or having them applied to your problem please contact us.  These now include:

  • WenoCFD – This code solves the incompressible Navier-Stokes equations on structured Cartesian grids using high-order finite-difference methods.  It handles turbulence via LES and the Vreman (and other) subgrid-scale models.  It handles complex (and moving) geometries using an immersed boundary method.  There are single-block OpenMP versions and a novel multiblock MPI version.   Applications have included aerodynamics including plasma-based active flow control, combustion (using low Mach number version and the transported PDF method), microfluidics (electrokinetic instability), multiphase flows (including cavitation), and cardiovascular flows.
  • StreamLESThis code solves the compressible Navier-Stokes equations including multispecies transport and finite-rate chemical kinetics using a high-order finite-volume method.  It employs several different state-of-the-art subgrid-scale turbulence models.  Non-Cartesian geometries can be handled using a simple cut-cell method but extensions to include our novel multiblock immersed boundary method are planned for future versions.  The code is MPI-parallel and has been applied to scramjet combustion applications and shock-bubble interactions.
  • HomeLES – This code solves the compressible Navier-Stokes equations including multispecies transport and finite-rate chemical kinetics using an energy-stable high-order finite-difference method based on the summation-by-parts/simultaneous approximation term (SBP/SAT) method of Nordstrom and others.  It handles complex geometries using a multiblock structured curvilinear mesh and is MPI parallel and has scaled well on 1000’s of cores.  It also includes state-of-the-art subgrid-scale turbulence models.  Applications include aerodynamics, combustion, and shock-bubble interactions.
  • NEW! MIRACLES – This code solves the compressible Navier-Stokes equations energy-stable high-order finite-difference method based on the summation-by-parts/simultaneous approximation term (SBP/SAT) method of Nordstrom and others.  The code recently was augmented with the addition of a high-order energy-stable WENO scheme and now handles shock capturing using a dilatation-based shock sensor to switch between the central SBP scheme and the WENO scheme.   It handles complex geometries using a multiblock structured Cartesian mesh and is hybrid MPI/OpenMP/GPU parallel and has scaled well on 1000’s of cores.  It features a new more accurate and efficient immersed boundary method for handling complex and rotating geometries.  It also includes state-of-the-art subgrid-scale turbulence models including the stretched vortex model.  Applications include rotorcraft aerodynamics and high-speed flows featuring shock-boundary layer interactions.
  • NEW! FRESH – This code solves the compressible Navier-Stokes equations using the high-order flux reconstruction method on body-fitted unstructured grids similar to the open-source PyFR code.  It is written in modern Fortran and features state-of-the-art slope limiters to enable application to high-speed flows with shocks.  Multispecies and chemistry are soon to be added to enable high-speed reacting flows.
  • NEW! PyNse – This code solves the compressible Navier-Stokes equations using either the high-order flux reconstruction method on body-fitted grids or various flavors of the high-order WENO scheme on multiblock structured Cartesian grids with an immersed boundary method for handling complex geometries.  Recently, the code has been extended to unstructured body-fitted WENO and a hybrid body-fitted unstructured and structured Cartesian version of the code is underway.  The code is MPI parallel using the Zoltan domain decomposition and load balancing software package.
  • HomoTurb – This code solves the incompressible Navier-Stokes including multispecies transport and finite-rate chemical kinetics using a highly parallel Fourier pseudospectral method and hence is limited to 3D periodic domains.  It was developed and is ideally suited for homogeneous turbulence simulations including mixing and reacting flows.  It uses the P3DFFT parallel FFT libraries and scales to 10’s of thousands of cores.
  • ChanTurb – This code solves the incompressible Navier-Stokes equations using a hybrid central-difference/Fourier pseudospectral method and uses the P3DFFT parallel FFT libraries to enable scaling to 1000’s of cores.  The code employs several subgrid-scale turbulence models, including the recent sigma model, and also includes buoyancy effects.  It is designed exclusively for fully developed turbulent channel flow simulations and is ideally suited to study different SGS models.  It is currently being extended to enable hybrid RANS/LES.
  • LABLES – This code solves the Navier-Stokes equations using the lattice Boltzmann method and includes several subgrid-scale models enabling large eddy simulation.  Several lattice choices are available but the D3Q27 is the most widely used for high Reynolds number flows.  The code is MPI parallel and scales well on 1000’s of cores.
  • ChemCan – This code is a chemistry solver e.g. it solves system of reacting scalar ODEs, which is similar to CHEMKIN but uses the Cantera open-source package for its transport property and chemical kinetics evaluations.  It also includes a version of ISAT, adaptive chemistry reduction, and a variety of stiff ODE solvers for more efficient chemistry calculations.  It has been utilized by all of our combustion codes to enable inclusion of efficient detailed chemical kinetics.  We are currently working with a collaborator to add GPU capabilities to this code for GPU-enabled combustion.