Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

awesome-fluid-dynamics

A curated list of repositories related to fluid dynamics.
https://github.com/lento234/awesome-fluid-dynamics

Last synced: 2 days ago
JSON representation

  • Educational

  • Meshing

    • Books

      • nschloe/optimesh - Mesh optimization, mesh smoothing. ![Python](logo/Python.svg)
      • nschloe/pygmsh - Gmsh for Python. ![Python](logo/Python.svg)
      • nschloe/meshio - I/O for exhaustive number of mesh file types. ![Python](logo/Python.svg)
      • PyMesh/PyMesh - Geometry Processing Library for Python. ![C++](logo/cpp.svg) ![Python](logo/Python.svg)
      • cnr-isti-vclab/meshlab - The open source mesh processing system. ![C++](logo/cpp.svg)
      • inducer/meshpy - 2D/3D simplicial mesh generator interface for Python (Triangle, TetGen, gmsh). ![C++](logo/cpp.svg) ![Python](logo/Python.svg)
      • CGAL/cgal - The Computational Geometry Algorithms Library (CGAL) is a C++ library that aims to provide easy access to efficient and reliable algorithms in computational geometry. ![C++](logo/cpp.svg)
      • nschloe/optimesh - Mesh optimization, mesh smoothing. ![Python](logo/Python.svg)
      • gmsh - A three-dimensional finite element mesh generator with built-in pre- and post-processing facilities ![C++](logo/cpp.svg). ![Python](logo/Python.svg) ![julia](logo/julia.svg)
  • Computational Fluid Dynamics

    • Finite Difference Methods (FDM)

      • p-costa/CaNS - A code for fast, massively-parallel direct numerical simulations (DNS) of canonical flows. ![FORTRAN](logo/FORTRAN.svg)
    • Finite Element Methods (FEM)

      • JuliaFEM/JuliaFEM.jl - The JuliaFEM software library is a framework that allows for the distributed processing of large Finite Element Models across clusters of computers using simple programming models. ![julia](logo/julia.svg) [![Jupyter](logo/Jupyter.svg)](https://github.com/JuliaFEM/JuliaFEM.jl/search?l=jupyter-notebook)
      • FEniCS/dolfinx - Next generation FEniCS problem solving environment. ![C++](logo/cpp.svg) ![Python](logo/Python.svg)
      • firedrakeproject/firedrake - Firedrake is an automated system for the portable solution of partial differential equations using the finite element method (FEM). ![Python](logo/Python.svg)
      • KratosMultiphysics/Kratos - Kratos Multiphysics (A.K.A Kratos) is a framework for building parallel multi-disciplinary simulation software. ![C++](logo/cpp.svg) ![Python](logo/Python.svg)
      • FluidityProject/fluidity - An open-source computational fluid dynamics code with adaptive unstructured mesh capabilities. ![FORTRAN](logo/FORTRAN.svg)
      • kinnala/scikit-fem - Simple finite element assemblers. ![Python](logo/Python.svg)
      • deal.II - An open source finite element library. ![C++](logo/cpp.svg)
    • Finite Volume Methods (FVM)

      • OpenFOAM/OpenFOAM-dev - OpenFOAM is a free, open source computational fluid dynamics (CFD) software package released by the OpenFOAM Foundation. ![C++](logo/cpp.svg)
      • su2code/SU2 - SU2: An Open-Source Suite for Multiphysics Simulation and Design. ![C++](logo/cpp.svg) ![Python](logo/Python.svg)
      • cselab/aphros - Finite volume solver for incompressible multiphase flows with surface tension. ![C++](logo/cpp.svg)
      • code-saturne/code_saturne - code_saturne public mirror. ![C++](logo/cpp.svg) ![FORTRAN](logo/FORTRAN.svg) ![Python](logo/Python.svg)
      • DelNov/T-Flows - T-Flows (stands for Turbulent Flows) is a Computational Fluid Dynamics (CFD) program, originally developed at Delft University of Technology, the Netherlands. ![FORTRAN](logo/FORTRAN.svg)
      • ucns3d-team/UCNS3D - Unstructured Compressible Navier Stokes 3D code (UCNS3D). ![FORTRAN](logo/FORTRAN.svg)
      • weymouth/WaterLily.jl - Fast and simple fluid simulator in Julia. ![julia](logo/julia.svg)
      • MFlowCode/MFC - MFC is a compressible multiphase fluid solver with high-order-accurate shock- and interface-capturing and GPU support via OpenACC. ![FORTRAN](logo/FORTRAN.svg)
      • nextfoam/Baram - BARAM is developed to mitigate the steep learning curve of Text-based Solvers. BARAM helps you focus on a problem itself with intuitive graphical user interface. For now, OpenFOAM® solvers modified by nextfoam are integrated into BARAM. ![Python](logo/Python.svg)
    • Spectral Methods

      • DedalusProject/dedalus - A flexible framework for solving PDEs with modern spectral methods. ![Python](logo/Python.svg) [![Jupyter](logo/Jupyter.svg)](https://github.com/DedalusProject/dedalus/search?l=jupyter-notebook)
      • FourierFlows/FourierFlows.jl - Tools for building fast, hackable, pseudospectral partial differential equation solvers on periodic domains. ![julia](logo/julia.svg)
      • Nek5000/Nek5000 - NEK5000 is an spectral element CFD code developed at the Mathematics and Computer Science Division of Argonne National Laboratory. ![FORTRAN](logo/FORTRAN.svg)
      • spectralDNS/shenfun - High performance computational platform in Python for the spectral Galerkin method. ![Python](logo/Python.svg) [![Jupyter](logo/Jupyter.svg)](https://github.com/spectralDNS/shenfun/search?l=jupyter-notebook)
    • Vortex Methods / Panel Methods / Blade Element Methods

      • vortexmethods/VM2D - VM2D: Open-Source Code for 2D Flow Simulation by Using Meshless Lagrangian Vortex Methods. ![C++](logo/cpp.svg)
      • markstock/vic2d - Two-dimensional semi-Lagrangian vortex method for very low viscosity fluid simulation. ![C++](logo/cpp.svg) ![FORTRAN](logo/FORTRAN.svg)
      • gdeskos/DVMpp - 2D Discrete Vortex Method Code written in C++. ![C++](logo/cpp.svg)
      • byuflowlab/FLOWUnsteady - Mixed-fidelity unsteady aerodynamics and aeroacoustics. ![julia](logo/julia.svg)
      • Applied-Scientific-Research/Omega2D - Two-dimensional flow solver with GUI using vortex particle and boundary element methods. ![C++](logo/cpp.svg)
      • camUrban/PteraSoftware - A fast, easy-to-use, and open-source software package for analyzing flapping-wing flight. ![Python](logo/Python.svg)
    • Immersed Boundary Methods (IBM)

      • cwrowley/ibpm - Immersed Boundary Projection Method (IBPM). ![C++](logo/cpp.svg)
      • barbagroup/PetIBM - PetIBM - toolbox and applications of the immersed-boundary method on distributed-memory architectures. ![C++](logo/cpp.svg)
      • barbagroup/cuIBM - cuIBM: a GPU-based immersed boundary method code. ![C++](logo/cpp.svg)
      • ChenguangZhang/sdfibm - Immersed boundary method empowered by signed distance field, and OpenFOAM. ![C++](logo/cpp.svg)
      • IBAMR/IBAMR - An adaptive and distributed-memory parallel implementation of the immersed boundary (IB) method. ![C++](logo/cpp.svg)
    • Weather and Climate

      • wrf-model/WRF - Weather Research and Forecasting (WRF) model is a numerical weather prediction (NWP) system designed to serve both atmospheric research and operational forecasting needs. ![FORTRAN](logo/FORTRAN.svg)
    • Building Energy and Urban Environments

      • NREL/EnergyPlus - EnergyPlus™ is a whole building energy simulation program that engineers, architects, and researchers use to model both energy consumption and water use in buildings. ![C++](logo/cpp.svg)
      • uDALES/u-dales - uDALES: large-eddy-simulation software for urban flow, dispersion and microclimate modelling. ![FORTRAN](logo/FORTRAN.svg)
      • ladybug-tools/butterfly - :butterfly: A light python API for creating and running OpenFoam cases for CFD simulation. ![Python](logo/Python.svg)
    • Shallow Water / Ocean Dynamics

      • jostbr/shallow-water - Python model solving the shallow water equations (linear momentum, nonlinear continuity). ![Python](logo/Python.svg)
      • team-ocean/veros - The versatile ocean simulator, in pure Python, powered by JAX. ![Python](logo/Python.svg)
      • CliMA/Oceananigans.jl - Julia software for fast, friendly, flexible, data-driven, ocean-flavored fluid dynamics on CPUs and GPUs. ![julia](logo/julia.svg)
      • OceanParcels/parcels - Parcels (Probably A Really Computationally Efficient Lagrangian Simulator) is a set of Python classes and methods to create customisable particle tracking simulations using output from Ocean Circulation models. ![Python](logo/Python.svg) [![Jupyter](logo/Jupyter.svg)](https://github.com/OceanParcels/parcels/search?l=jupyter-notebook)
    • Lattice Boltzmann Methods (LBM)

      • aromanro/LatticeBoltzmann - A 2D Lattice Boltzmann program. ![C++](logo/cpp.svg)
      • lanl/MF-LBM - A Portable, Scalable and High-performance Lattice Boltzmann Code for DNS of Flow in Porous Media. ![FORTRAN](logo/FORTRAN.svg)
      • unigespc/palabos - Palabos is an open-source CFD solver based on the lattice Boltzmann method. ![C++](logo/cpp.svg)
    • Design and Optimization

      • mdolab/dafoam - DAFoam: Discrete Adjoint with OpenFOAM for High-fidelity Gradient-based Design Optimization. ![C++](logo/cpp.svg) ![Python](logo/Python.svg)
      • peterdsharpe/AeroSandbox - Aircraft design optimization made fast through modern automatic differentiation. ![Python](logo/Python.svg)
      • DARcorporation/xfoil-python - Stripped down version of XFOIL as compiled python module. ![Python](logo/Python.svg)
    • Coupling

      • precice/precice - A coupling library for partitioned multi-physics simulations, including, but not restricted to fluid-structure interaction and conjugate heat transfer simulations. ![C++](logo/cpp.svg)
    • Chemical Kinetics

      • Cantera/cantera - Chemical kinetics, thermodynamics, and transport tool suite. ![C++](logo/cpp.svg) ![Python](logo/Python.svg)
    • Supersonic / Hypersonic Flow

      • matteobernardini/STREAmS - STREAmS performs Direct Numerical Simulations of compressible turbulent flows in Cartesian geometry solving the unsteady, fully compressible Navier-Stokes equations for a perfect gas. ![FORTRAN](logo/FORTRAN.svg)
      • sergeas67/OpenHyperFLOW2D - 2D (flat/axisymmetrical) transient viscous compressible multicomponent sub/trans/supersonic reacting gas flow with RANS/URANS turbulence models. ![C++](logo/cpp.svg)
    • Differential programming

      • taichi-dev/taichi - Parallel programming for everyone. ![Python](logo/Python.svg)
      • tum-pbs/PhiFlow - A differentiable PDE solving framework for machine learning. ![Python](logo/Python.svg)
      • google/jax-cfd - Computational Fluid Dynamics in JAX. ![Python](logo/Python.svg) [![Jupyter](logo/Jupyter.svg)](https://github.com/google/jax-cfd/search?l=jupyter-notebook)
    • Neural Networks for PDE

      • lululxvi/deepxde - Deep learning library for solving differential equations and more. ![Python](logo/Python.svg)
      • SciML/NeuralPDE.jl - Physics-Informed Neural Networks (PINN) and Deep BSDE Solvers of Differential Equations for Scientific Machine Learning (SciML) accelerated simulation. ![julia](logo/julia.svg)
      • google/neural-tangents - Fast and Easy Infinite Neural Networks in Python. ![Python](logo/Python.svg)
      • isl-org/DeepLagrangianFluids - Lagrangian Fluid Simulation with Continuous Convolutions. ![Python](logo/Python.svg)
      • maxjiang93/space_time_pde - MeshfreeFlowNet: Physical Constrained Space Time Super-Resolution. ![Python](logo/Python.svg)
    • Graphics

    • Other Techniques

      • PyFR/PyFR - Framework for solving advection-diffusion type problems on streaming architectures using the Flux Reconstruction approach of Huynh. ![Python](logo/Python.svg)
      • pencil-code/pencil-code - A high-order finite-difference code for compressible hydrodynamic flows with magnetic fields and particles. ![FORTRAN](logo/FORTRAN.svg) [![Jupyter](logo/Jupyter.svg)](https://github.com/pencil-code/pencil-code/search?l=jupyter-notebook)
      • NaluCFD/Nalu - Nalu: a generalized unstructured massively parallel low Mach flow code designed to support a variety of open applications of interest built on the Sierra Toolkit and Trilinos solver Tpetra solver stack. ![C++](logo/cpp.svg)
      • lesgo-jhu/lesgo - The Large-Eddy Simulation framework from the Turbulence Research Group at Johns Hopkins University. ![FORTRAN](logo/FORTRAN.svg)
      • cornellius-gp/gpytorch - A highly efficient and modular implementation of Gaussian Processes in PyTorch. ![Python](logo/Python.svg)
  • Experimental Fluid Dynamics

    • PIV / PTV

      • JHU-NI-LAB/OpenLPT_Shake-The-Box - Open-source C++ code for Shake-the-box, particle tracking algorithm. ![C++](logo/cpp.svg) ![MATLAB](logo/MATLAB.svg)
      • OpenPTV/openptv - OpenPTV - open source 3D-PTV software. ![C++](logo/cpp.svg)
      • OpenPIV/openpiv-python - OpenPIV consists in a Python and Cython modules for scripting and executing the analysis of a set of PIV image pairs. ![Python](logo/Python.svg) ![MATLAB](logo/MATLAB.svg) [![Jupyter](logo/Jupyter.svg)](https://github.com/OpenPIV/openpiv-python/search?l=jupyter-notebook)
      • OpenPTV/pyptv - Python GUI for OpenPTV - open source three-dimensional particle tracking velocimetry. ![Python](logo/Python.svg)
      • ronshnapp/MyPTV - Python based 3D-PTV - open source pure Python three-dimensional particle tracking velocimetry. ![Python](logo/Python.svg)
    • ML / Optical Flow

      • erizmr/UnLiteFlowNet-PIV - Unsupervised learning of Particle Image Velocimetry. (ISC 2020). ![Python](logo/Python.svg)
      • shengzesnail/PIV-LiteFlowNet-en - Particle image velocimetry via a deep neural network (LiteFlowNet). ![C++](logo/cpp.svg) ![Python](logo/Python.svg) ![MATLAB](logo/MATLAB.svg)
      • yongleex/PIV-DCNN - Perform PIV image pair match using deep conv neural network. ![MATLAB](logo/MATLAB.svg) ![C++](logo/cpp.svg)
  • Post-processing and Data Analysis

    • ML / Optical Flow

      • numpy/numpy - The fundamental package for scientific computing with Python. ![Python](logo/Python.svg)
      • mathLab/PyDMD - Python Dynamic Mode Decomposition. ![Python](logo/Python.svg) [![Jupyter](logo/Jupyter.svg)](https://github.com/mathLab/PyDMD/search?l=jupyter-notebook)
      • dynamicslab/pysindy - A sparse regression package with several implementations for the Sparse Identification of Nonlinear Dynamical systems. ![Python](logo/Python.svg)
      • ritchieng/eigenvectors-from-eigenvalues - This repository implements a calculation of eigenvectors from eigenvectors elegantly through PyTorch. ![Jupyter](logo/Jupyter.svg)
      • mengaldo/PySPOD - A Python package for spectral proper orthogonal decomposition (SPOD). ![Python](logo/Python.svg)
      • belson17/modred - An easy-to-use and parallelized library for finding modal decompositions and reduced-order models. ![Python](logo/Python.svg)
      • Astroua/TurbuStat - Statistics of Turbulence Python Package. ![Python](logo/Python.svg)
      • SURGroup/UQpy - UQpy (Uncertainty Quantification with python) is a general purpose Python toolbox for modeling uncertainty in physical and mathematical systems. ![Python](logo/Python.svg) [![Jupyter](logo/Jupyter.svg)](https://github.com/SURGroup/UQpy/search?l=jupyter-notebook)
      • haller-group/LCStool - LCStool: LCS Tool is a computational engine for analyzing fluid flows by extracting their most influential material surfaces, Lagrangian Coherent Structures. ![MATLAB](logo/MATLAB.svg)
  • Visualization

    • 2D Visualization

      • matplotlib/matplotlib - matplotlib: plotting with Python. ![Python](logo/Python.svg)
      • scikit-image/scikit-image - Image processing in Python. ![Python](logo/Python.svg)
      • 3b1b/manim - Animation engine for explanatory math videos. ![Python](logo/Python.svg)
      • garrettj403/SciencePlots - Matplotlib styles for scientific plotting. ![Python](logo/Python.svg)
      • mwaskom/seaborn - Statistical data visualization in Python. ![Python](logo/Python.svg)
      • lukelbd/proplot - :art: A succinct matplotlib wrapper for making beautiful, publication-quality graphics. ![Python](logo/Python.svg)
      • lukelbd/proplot - :art: A succinct matplotlib wrapper for making beautiful, publication-quality graphics. ![Python](logo/Python.svg)
    • 3D Visualization

      • K3D-tools/K3D-jupyter - K3D lets you create 3D plots backed by WebGL with high-level API (surfaces, isosurfaces, voxels, mesh, cloud points, vtk objects, volume renderer, colormaps, etc). ![Python](logo/Python.svg) ![JavaScript](logo/JavaScript.svg) [![Jupyter](logo/Jupyter.svg)](https://github.com/K3D-tools/K3D-jupyter/search?l=jupyter-notebook)
      • sciapp/gr - GR framework: a graphics library for visualisation applications. ![C++](logo/cpp.svg) ![Python](logo/Python.svg)
      • InsightSoftwareConsortium/itkwidgets - Interactive Jupyter widgets to visualize images, point sets, and meshes in 2D and 3D. ![Python](logo/Python.svg) ![JavaScript](logo/JavaScript.svg) [![Jupyter](logo/Jupyter.svg)](https://github.com/InsightSoftwareConsortium/itkwidgets/search?l=jupyter-notebook)
      • NVIDIA/ipyparaview - iPython widget for server-side ParaView rendering in Jupyter. ![Python](logo/Python.svg) ![JavaScript](logo/JavaScript.svg) [![Jupyter](logo/Jupyter.svg)](https://github.com/NVIDIA/ipyparaview/search?l=jupyter-notebook)
      • pyvista/pyvista - 3D plotting and mesh analysis through a streamlined interface for the Visualization Toolkit (VTK). ![Python](logo/Python.svg)
      • blender/blender - A free and open source 3D creation suite, supporting the entirety of the 3D pipeline-modeling, rigging, animation, simulation, rendering, compositing, motion tracking and video editing. ![Python](logo/Python.svg)
      • QuantStack/ipygany - 3-D Scientific Visualization in the Jupyter Notebook. ![Python](logo/Python.svg) [![Jupyter](logo/Jupyter.svg)](https://github.com/QuantStack/ipygany/search?l=jupyter-notebook)
      • Kitware/Vtk - Visualization Toolkit. ![C++](logo/cpp.svg)
      • Kitware/paraview - An open-source, multi-platform data analysis and visualization application. ![Python](logo/Python.svg)
  • Benchmarks and Datasets

    • Datasets

      • shengzesnail/PIV_dataset - PIV dataset. ![MATLAB](logo/MATLAB.svg)
      • idies/pyJHTDB - Python wrapper for the Johns Hopkins turbulence database library. ![Python](logo/Python.svg) [![Jupyter](logo/Jupyter.svg)](https://github.com/idies/pyJHTDB/search?l=jupyter-notebook)
    • Benchmarks

      • dionhaefner/pyhpc-benchmarks - A suite of benchmarks for CPU and GPU performance of the most popular high-performance libraries for Python. ![Python](logo/Python.svg)
      • su2code/TestCases - An extensive collection of common test cases for SU2. ![C++](logo/cpp.svg) ![Python](logo/Python.svg)
  • Reproducibility

    • Benchmarks

      • iterative/dvc - Data Version Control, Git for Data & Models, ML Experiments Management. ![Python](logo/Python.svg)
      • sphinx-doc/sphinx - Sphinx is a tool that makes it easy to create intelligent and beautiful documentation for Python projects. ![Python](logo/Python.svg)
  • Community

    • Benchmarks

      • CFD Online Forum - A free community for everyone interested in Computational Fluid Dynamics.