A CFD Tutorial in Julia: Introduction to Laminar Boundary-Layer Theory

Numerical simulations of laminar boundary-layer equations are used to investigate the origins of skin-friction drag, flow separation, and aerodynamic heating concepts in advanced undergraduate- and graduate-level fluid dynamics/aerodynamics courses. A boundary-layer is a thin layer of fluid near a s...

Full description

Bibliographic Details
Main Authors: Furkan Oz, Kursat Kara
Format: Article
Language:English
Published: MDPI AG 2021-06-01
Series:Fluids
Subjects:
Online Access:https://www.mdpi.com/2311-5521/6/6/207
_version_ 1797531538462605312
author Furkan Oz
Kursat Kara
author_facet Furkan Oz
Kursat Kara
author_sort Furkan Oz
collection DOAJ
description Numerical simulations of laminar boundary-layer equations are used to investigate the origins of skin-friction drag, flow separation, and aerodynamic heating concepts in advanced undergraduate- and graduate-level fluid dynamics/aerodynamics courses. A boundary-layer is a thin layer of fluid near a solid surface, and viscous effects dominate it. Students must understand the modeling of flow physics and implement numerical methods to conduct successful simulations. Writing computer codes to solve equations numerically is a critical part of the simulation process. Julia is a new programming language that is designed to combine performance and productivity. It is dynamic and fast. However, it is crucial to understand the capabilities of a new programming language before attempting to use it in a new project. In this paper, fundamental flow problems such as Blasius, Hiemenz, Homann, and Falkner-Skan flow equations are derived from scratch and numerically solved using the Julia language. We used the finite difference scheme to discretize the governing equations, employed the Thomas algorithm to solve the resulting linear system, and compared the results with the published data. In addition, we released the Julia codes in GitHub to shorten the learning curve for new users and discussed the advantages of Julia over other programming languages. We found that the Julia language has significant advantages in productivity over other coding languages. Interested readers may access the Julia codes on our GitHub page.
first_indexed 2024-03-10T10:45:11Z
format Article
id doaj.art-bc4a08f592c7468eb3e7ba39bb7523e7
institution Directory Open Access Journal
issn 2311-5521
language English
last_indexed 2024-03-10T10:45:11Z
publishDate 2021-06-01
publisher MDPI AG
record_format Article
series Fluids
spelling doaj.art-bc4a08f592c7468eb3e7ba39bb7523e72023-11-21T22:41:00ZengMDPI AGFluids2311-55212021-06-016620710.3390/fluids6060207A CFD Tutorial in Julia: Introduction to Laminar Boundary-Layer TheoryFurkan Oz0Kursat Kara1School of Mechanical and Aerospace Engineering, Oklahoma State University, Stillwater, OK 74078, USASchool of Mechanical and Aerospace Engineering, Oklahoma State University, Stillwater, OK 74078, USANumerical simulations of laminar boundary-layer equations are used to investigate the origins of skin-friction drag, flow separation, and aerodynamic heating concepts in advanced undergraduate- and graduate-level fluid dynamics/aerodynamics courses. A boundary-layer is a thin layer of fluid near a solid surface, and viscous effects dominate it. Students must understand the modeling of flow physics and implement numerical methods to conduct successful simulations. Writing computer codes to solve equations numerically is a critical part of the simulation process. Julia is a new programming language that is designed to combine performance and productivity. It is dynamic and fast. However, it is crucial to understand the capabilities of a new programming language before attempting to use it in a new project. In this paper, fundamental flow problems such as Blasius, Hiemenz, Homann, and Falkner-Skan flow equations are derived from scratch and numerically solved using the Julia language. We used the finite difference scheme to discretize the governing equations, employed the Thomas algorithm to solve the resulting linear system, and compared the results with the published data. In addition, we released the Julia codes in GitHub to shorten the learning curve for new users and discussed the advantages of Julia over other programming languages. We found that the Julia language has significant advantages in productivity over other coding languages. Interested readers may access the Julia codes on our GitHub page.https://www.mdpi.com/2311-5521/6/6/207CFDJuliaBlasiusHiemenzHomannFalkner–Skan
spellingShingle Furkan Oz
Kursat Kara
A CFD Tutorial in Julia: Introduction to Laminar Boundary-Layer Theory
Fluids
CFD
Julia
Blasius
Hiemenz
Homann
Falkner–Skan
title A CFD Tutorial in Julia: Introduction to Laminar Boundary-Layer Theory
title_full A CFD Tutorial in Julia: Introduction to Laminar Boundary-Layer Theory
title_fullStr A CFD Tutorial in Julia: Introduction to Laminar Boundary-Layer Theory
title_full_unstemmed A CFD Tutorial in Julia: Introduction to Laminar Boundary-Layer Theory
title_short A CFD Tutorial in Julia: Introduction to Laminar Boundary-Layer Theory
title_sort cfd tutorial in julia introduction to laminar boundary layer theory
topic CFD
Julia
Blasius
Hiemenz
Homann
Falkner–Skan
url https://www.mdpi.com/2311-5521/6/6/207
work_keys_str_mv AT furkanoz acfdtutorialinjuliaintroductiontolaminarboundarylayertheory
AT kursatkara acfdtutorialinjuliaintroductiontolaminarboundarylayertheory
AT furkanoz cfdtutorialinjuliaintroductiontolaminarboundarylayertheory
AT kursatkara cfdtutorialinjuliaintroductiontolaminarboundarylayertheory