CFD
Computational Fluid Dynamics (CFD) simulations performed with the open source SU2 flow code and other custom-written codes.
NACA 4412 case
Two-and-three-dimensional simulations of a NACA4412 airfoil and wing of AR=6 at 0 deg AOA were performed on a structured and unstructured mesh with the k-ω SST turbulence model. The Roe scheme is used for descretisation of convective fluxes and the MUSCL approach is used to provide 2-nd order accuracy in space in combination with the Venkatakrishnan slope limiter. A standard non-dimensionalisation is used where the reference pressure is chosen such that the non-dimensional free-sream velocity equals 1.
UAV case
Three-dimensional simulations of a fixed-wing UAV at 0 deg AOA and 0 deg AOS featuring NACA4412 and NACA0012 airfoils were performed on a hybrid (structured+unstructured) mesh with the k-ω SST turbulence model. The Roe scheme is used for descretisation of convective fluxes and the MUSCL approach is used to provide 2nd-order accuracy in space in combination with the Venkatakrishnan slope limiter. A standard non-dimensionalisation is used where the reference pressure is chosen such that the non-dimensional free-stream velocity equals 1. Symmetry across the z-x plane is enforced. The total number of mesh elements is around 4 million. The simulation time required for convergence of the aerodynamic loads was approximately 3 hours. The simulation was run on the Google Compute Engine on a c2-standard-16 instance.
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