# CFD

Computational Fluid Dynamics (CFD) simulations performed with the open source SU2 flow code and other custom-written codes.

##### NACA 0012 case

Two-dimensional simulations of a NACA0012 airfoil at 10 deg AOA performed on a structured and hybrid mesh with the Spallart-Allmaras and k-ω SST turbulence models. The Roe Riemann solver is used to evaluate the convective fluxes and the MUSCL approach is used to provide 2-nd order accuracy in space.

##### FVM for 1D advection equation

A FVM MATLAB code solving the 1D advection eqation with different numerical schemes. The available numerical schemes are:

- Upwind
- Global Lax-Friedrichs
- Local Lax-Friedrichs
- Lax-Wendroff
- Roe
- High-order Roe

##### FVM for shallow water equations

A unstructured finite volume method (FVM) shallow water solver written in C++. Fluxes can be evaluated with the Lax-Friedrichs or the Roe method. Implicit and explicit time stepping is available. Expicit time stepping can be performed with the Euler, the Runge-Kutta 2nd-order, and the Runge-Kutta 4th-order methods. The jacobian used for the implicit time stepping is numerically evaluated and the linear system of equations is solved with the BiCGSTAB method. The Eigen C++ template library for linear algebra is used along with OpenMP. The C++ code is available at https://github.com/KBoychev/fvm_shallow_water. The animations below show the water height of a dam break problem.

##### FVM for Euler equations

A 2D unstructured finite volume method (FVM) Euler solver written in C++. Fluxes can be evaluated with the Lax–Friedrichs or the Roe method. Explicit pseudo-time stepping is available. Expicit pseudo-time stepping can be performed with the Euler, the Runge-Kutta 2nd-order, and the Runge-Kutta 4th-order methods. The Eigen C++ template library for linear algebra is used along with OpenMP. The C++ code is available at https://github.com/KBoychev/fvm_euler. The figure below shows the pressure around a NACA4412 airfoil with the Roe and RK2 methods (left), the Roe and RK4 methods (middle), and the Lax-Friedrichs and Euler methods (right).

Back to: About