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...
Main Authors: | , |
---|---|
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 |