Next Article in Journal
Parameters and Branching Auto-Pulses in a Fluid Channel with Active Walls
Next Article in Special Issue
An Efficient Strategy to Deliver Understanding of Both Numerical and Practical Aspects When Using Navier-Stokes Equations to Solve Fluid Mechanics Problems
Previous Article in Journal
Impact of Longitudinal Acceleration and Deceleration on Bluff Body Wakes
Previous Article in Special Issue
Teach Second Law of Thermodynamics via Analysis of Flow through Packed Beds and Consolidated Porous Media
Open AccessArticle

CFD Julia: A Learning Module Structuring an Introductory Course on Computational Fluid Dynamics

School of Mechanical and Aerospace Engineering, Oklahoma State University, Stillwater, OK 74078, USA
*
Author to whom correspondence should be addressed.
Fluids 2019, 4(3), 159; https://doi.org/10.3390/fluids4030159
Received: 1 July 2019 / Revised: 10 August 2019 / Accepted: 19 August 2019 / Published: 23 August 2019
(This article belongs to the Special Issue Teaching and Learning of Fluid Mechanics)
CFD Julia is a programming module developed for senior undergraduate or graduate-level coursework which teaches the foundations of computational fluid dynamics (CFD). The module comprises several programs written in general-purpose programming language Julia designed for high-performance numerical analysis and computational science. The paper explains various concepts related to spatial and temporal discretization, explicit and implicit numerical schemes, multi-step numerical schemes, higher-order shock-capturing numerical methods, and iterative solvers in CFD. These concepts are illustrated using the linear convection equation, the inviscid Burgers equation, and the two-dimensional Poisson equation. The paper covers finite difference implementation for equations in both conservative and non-conservative form. The paper also includes the development of one-dimensional solver for Euler equations and demonstrate it for the Sod shock tube problem. We show the application of finite difference schemes for developing two-dimensional incompressible Navier-Stokes solvers with different boundary conditions applied to the lid-driven cavity and vortex-merger problems. At the end of this paper, we develop hybrid Arakawa-spectral solver and pseudo-spectral solver for two-dimensional incompressible Navier-Stokes equations. Additionally, we compare the computational performance of these minimalist fashion Navier-Stokes solvers written in Julia and Python. View Full-Text
Keywords: CFD; Julia; numerical analysis; finite difference; spectral methods; multigrid CFD; Julia; numerical analysis; finite difference; spectral methods; multigrid
Show Figures

Figure 1

MDPI and ACS Style

Pawar, S.; San, O. CFD Julia: A Learning Module Structuring an Introductory Course on Computational Fluid Dynamics. Fluids 2019, 4, 159.

Show more citation formats Show less citations formats
Note that from the first issue of 2016, MDPI journals use article numbers instead of page numbers. See further details here.

Article Access Map by Country/Region

1
Back to TopTop