TY - JOUR
T1 - A cfd tutorial in julia
T2 - Introduction to compressible laminar boundary-layer flows
AU - Oz, Furkan
AU - Kara, Kursat
N1 - Publisher Copyright:
© 2021 by the authors. Licensee MDPI, Basel, Switzerland.
PY - 2021/11
Y1 - 2021/11
N2 - A boundary-layer is a thin fluid layer near a solid surface, and viscous effects dominate it. The laminar boundary-layer calculations appear in many aerodynamics problems, including skin friction drag, flow separation, and aerodynamic heating. A student must understand the flow physics and the numerical implementation to conduct successful simulations in advanced undergraduate-and graduate-level fluid dynamics/aerodynamics courses. Numerical simulations require writing computer codes. Therefore, choosing a fast and user-friendly programming language is essential to reduce code development and simulation times. Julia is a new programming language that combines performance and productivity. The present study derived the compressible Blasius equations from Navier–Stokes equations and numerically solved the resulting equations using the Julia programming language. The fourth-order Runge–Kutta method is used for the numerical discretization, and Newton’s iteration method is employed to calculate the missing boundary condition. In addition, Burgers’, heat, and compressible Blasius equations are solved both in Julia and MATLAB. The runtime comparison showed that Julia with f or loops is 2.5 to 120 times faster than MATLAB. We also released the Julia codes on our GitHub page to shorten the learning curve for interested readers.
AB - A boundary-layer is a thin fluid layer near a solid surface, and viscous effects dominate it. The laminar boundary-layer calculations appear in many aerodynamics problems, including skin friction drag, flow separation, and aerodynamic heating. A student must understand the flow physics and the numerical implementation to conduct successful simulations in advanced undergraduate-and graduate-level fluid dynamics/aerodynamics courses. Numerical simulations require writing computer codes. Therefore, choosing a fast and user-friendly programming language is essential to reduce code development and simulation times. Julia is a new programming language that combines performance and productivity. The present study derived the compressible Blasius equations from Navier–Stokes equations and numerically solved the resulting equations using the Julia programming language. The fourth-order Runge–Kutta method is used for the numerical discretization, and Newton’s iteration method is employed to calculate the missing boundary condition. In addition, Burgers’, heat, and compressible Blasius equations are solved both in Julia and MATLAB. The runtime comparison showed that Julia with f or loops is 2.5 to 120 times faster than MATLAB. We also released the Julia codes on our GitHub page to shorten the learning curve for interested readers.
KW - Boundary-layer
KW - CFD
KW - Compressible flow
KW - Julia
KW - MATLAB
KW - Similarity solution
UR - http://www.scopus.com/inward/record.url?scp=85119109551&partnerID=8YFLogxK
U2 - 10.3390/fluids6110400
DO - 10.3390/fluids6110400
M3 - Article
AN - SCOPUS:85119109551
SN - 2311-5521
VL - 6
JO - Fluids
JF - Fluids
IS - 11
M1 - 400
ER -