/turbulence-codes

Curated list of some open-source codes for turbulent flow simulations, including turbulent multiphase, turbulent reacting flows, turbulent convection and turbulent atmospheric physics.

Open source codes for turbulent flows

A curated list of some open source frameworks, libraries and softwares for turbulent flow simulations. This list includes solvers for turbulent multiphase, turbulent reacting flows, turbulent convection and turbulent atmospheric physics as well. This list is by no means complete. So if you would like me to add something, please send me a link to sthavishthabr@gmail.com or perform a pull request.


Numerical frameworks (physics-based)

  • AFiD [1] - an MPI parallelized numerical solver for DNS of turbulent Rayleigh-Benard and Taylor-Couette flows. Employs pencil distributed finite differences. Developed at the Physics of Fluids group, University of Twente and Universita di Roma Tor Vergata.
  • AFiD-GPU [2] - GPU version of the AFiD code mentioned in the above point.
  • channel-f90-mpi - an MPI parallelized numerical code in FORTRAN for performing DNS simulations of an incompressible turbulent channel flow.
  • CodeSaturne
  • freeCappuccino [3, 4] - a fully unstructured finite volume spatially discretized parralelized numerical code written in FORTRAN. Developed at the University of Belgrade.
  • HAMeRS - Hydrodynamics Adaptive Mesh Refinement Simulator. An MPI parallellelized C++ numerical solver for the compressible NSE with patch-based adaptive mesh refinement (AMR). Utilizes high-order conservative shock and interface capturing Weighted Compact Nonlinear Schemes (WCNS). Developed by the Flow Physics and Aerocoustics laboratory, Department of Aeronautics and Astronautics at Stanford University.
  • HiFiLES [5, 6] - a massively parallel MPI and CUDA based LES code employing high-order numerical methods. Employs Flux reconstruction schemes, supports Smagorinsky, WALE and similarity subgrid scale models and wall models. Developed at the Aerospace Computing Lab in the Department of Aeronautics and Astronautics at Stanford University.
  • LESGO [7] - a FORTRAN MPI parallelized pseudo-spectral large eddy simulation (LES) code for solving the filtered NSE. Includes capabilities for wind turbine modeling, level set immersed boundary methods and atmospheric boundary layer flows as well. Developed at the Turbulence research group at John Hopkins University.
  • NALU [8] - a parallelized numerical framework for unstructured meshes which uses control volume finite element (CVFEM) and edge-based vertex centered (EBVC) discretization approaches. Supports LES, RANS and DES turbulence models. Developed at the Sandia National laboratories.
  • Nek5000 [9] - a massively parallelized MPI numerical solver for simulating turbulent incompressible flows (uses low Mach NSE equations). Employs higher-order spectral methods. Capabilities of solving multiphysics problems like conjugate heat transfer, particulate flows, moving and deforming meshes. RANS and LES turbulent models also exist. Developed at the Argonne National Laboratory and University of Illinois at Urbana-Champaign with contributors from Arizona State University, KTH, ETH Zurich, University of Ottawa and University of Florida.
  • nsCouette [10] - a hybrid OpenMP-MPI parallelized code in FORTRAN for perfoming DNS simulations of turbulent Taylor-Couette flow. An optional feature of solving for the temperature equation (thermal convective flow) also exists. Uses high-order explicit finite differences. Developed at ZARM, Universit"at Bremen and Max Planck Institute for Dynamics and Self-Organization.
  • OpenFOAM
  • PENCIL [11, 12] - a FORTRAN parallelized high-order finite difference code originally devloped for weakly compressible astrophysical magnetohydrodynamic turbulence. Capabilities for simulating turbulent combustion (paper), turbulent multiphase (paper), turbulent convection to name a few exist as well. Developed at NORDITA - Nordic Institute for Theoretical Physics along with contributors from several leading institutions around the world.
  • PyCLES [13, 14] - a massively parallel atmospheric LES code in Python, Cython and C to simulate boundary layer clouds and deep convection. Developed at the Climate Dynamics Group at Caltech and ETH Zurich.
  • PyFR [15, 16] - a massively parallel Python based framework (CPU and GPU based) using Flux Reconstruction approaches on mixed unstructured grids. Developed at Imperial College London.
  • spectralDNS [17] - a parallelized numerical solver employing spectral Galerkin methods for Direct numerical simulations (DNS) in triply periodic domains. Written in Python and uses NumPy, mpi4py and pyFFTW. Developed at the Department of Mathematics, University of Oslo webpage.
  • STREAMmS [18] - a parallelized numerical framework (available in both CPU and CUDA GPU) in FORTRAN for performing DNS simulations of compressible turbulent flows (by solving the fully compressible Navier-Stokes equations (NSE)). Developed at the Sapienza University of Rome and Delft University of Technology.
  • SU2 [19] - an open source suite for multiphysics simulation, which includes incompressible flows, compressible flows, FSI, structural mechanics, electrodynamics and reacting flows. Developed at Stanford University](https://www.stanford.edu/) with contributors from around the world.
  • T-Flows - a parallelized numerical framework for unstructured meshes using cell centered finite volume (FVM) numerical discretization. Also supports RANS, LES and hybrid LES/RANS turbulent models. Developed originally at the Delft University of Technology.
  • WABBIT [20] - (W)avelet (A)daptive (B)lock-(B)ased solver for (I)nteractions with (T)urbulence. An MPI parallelized numerical framework using block-based adaptive grids. High-order central finite differences are used for numerical discretization. Developed at the Technische Universität Berlin.
  • Xcompact3D [21] - an MPI parallelized numerical framework in FORTRAN 90 & 95 which solves the incompressible NSE. Uses high-order compact finite differences on a cartesian mesh. Developed at the Department of Astronautics, Imperial College London.

Comparitive studies of some open-source codes

  • AFiD vs Nek5000 vs GOLDFISH vs OpenFOAM in the context of turbulent convection Link
  • Nek5000 vs OpenFOAM Link
  • OpenFOAM vs ParMOON Link

Miscellaneous codes for post-processing and analysis


References

  1. van der Poel, E.P. et al., A pencil distributed finite difference code for strongly turbulent wall-bounded flows, Computers and Fluids, Vol. 116, pp. 10-16, 2015. Link
  2. Zhu, X. et al., AFiD-GPU: a versatile Navier-Stokes Solver for Wall-Bounded Turbulent Flows on GPU Clusters, Computer Physics Communications, Vol. 229, pp. 199-210, 2018. Link
  3. Mirkov, N., Vidanovi{'{c}}, N., Kastratovi{'{c}}, G., freeCappuccino - An Open Source Software Library for Computational Continuum Mechanics, Proceedings of the International Conference of Experimental and Numerical Investigations and New Technologies, Springer International Publishing, pp. 137-147, 2019. Link
  4. Mirkov, N., Rašuo, B., Kenjereš, S., On the improved finite volume procedure for simulation of turbulent flows over real complex terrains, Journal of Computational Physics, Vol. 297, pp.18-45, 2015. Link
  5. Official website of HiFiLES
  6. López-Morales, M. et al., Verification and Validation of HiFiLES: a High-Order LES unstructured solver on multi-GPU platforms, AIAA Paper 2014-3168.
  7. Official website of LESGO
  8. Domino, S., Sierra Low Mach Module: Nalu Theory Manual 1.0, SAND2015-3107W, Sandia National Laboratories Unclassified Unlimited Release (UUR), 2015.
  9. Official website of Nek5000
  10. López, J.M., Feldmann, D., Rampp, M., Vela-Martín, A., Shi, L. and Avila, M., nsCouette – A high-performance code for direct numerical simulations of turbulent Taylor–Couette flow, SoftwareX, Vol. 11, 100395, 2020. Link
  11. Wikipedia contributors, Pencil Code, Wikipedia, The Free Encyclopedia, 17 June 2020. Link
  12. Official website of PENCIL
  13. Official website of PyCLES
  14. Pressel, K. G. et al., Large-eddy simulation in an anelastic framework with closed water and entropy balances, Journal of Advances in Modeling Earth Systems, Vol. 7, pp. 1425–1456, 2015. Link
  15. Official website of PyFR
  16. Witherden, F. D., Farrington, A. M., Vincent, P. E, PyFR: An Open Source Framework for Solving Advection-Diffusion Type Problems on Streaming Architectures using the Flux Reconstruction Approach, Computer Physics Communications, Vol. 185, pp. 3028-3040, 2014. Link
  17. Mortensen, M. and Langtangen, H.P., High performance Python for direct numerical simulations of turbulent flows, Computer Physics Communications, Vol. 203, pp. 53-65, 2016. Link
  18. Bernardini, M., Modesti, D., Salvadore, F. and Pirozzoli, S., STREAmS: a high-fidelity accelerated solver for direct numerical simulation of compressible turbulent flows, arXiv preprint, 2020. Link
  19. Economon, T. D. et al., SU2: An Open-Source Suite for MultiphysicsSimulation and Design, AIAA Journal, Vol. 54 (3), pp. 828-846, 2016. Link
  20. Sroka, M., Engels, T., Krah, P., Mutzel, S., Schneider, K. and Reiss, J., An Open and Parallel Multiresolution Framework Using Block-Based Adaptive Grids, Proceedings of the Active Flow and Combustion Control, Springer International Publishing, pp. 305 - 319, 2019. Link
  21. Bartholomew, P., Deskos, G., Frantz, R.A.S., Schuch, F.N., Lamballais, E., Laizet, S., Xcompact3D: An open-source framework for solving turbulence problems on a Cartesian mesh, SoftwareX, Vol. 12, 100550, 2020. Link