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

被引:16
作者
Pawar, Suraj [1 ]
San, Omer [1 ]
机构
[1] Oklahoma State Univ, Sch Mech & Aerosp Engn, Stillwater, OK 74078 USA
关键词
CFD; Julia; numerical analysis; finite difference; spectral methods; multigrid; RECONSTRUCTION SCHEMES; EULER; SOLVERS; !text type='PYTHON']PYTHON[!/text;
D O I
10.3390/fluids4030159
中图分类号
O3 [力学];
学科分类号
08 ; 0801 ;
摘要
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.
引用
收藏
页数:77
相关论文
共 52 条
[1]  
[Александрова Мария Викторовна Aleksandrova M.], 2010, [Проблемы Дальнего Востока, Problemy Dal'nego Vostoka], P65
[2]  
[Anonymous], 2012, SPECTRAL METHODS FLU
[3]  
[Anonymous], 2010, v7.10.0 (R2010a)
[4]  
[Anonymous], 2012, FLUID FLOW PHENOMENA
[5]  
[Anonymous], 2006, Guide to NumPy
[6]  
[Anonymous], 2003, ITERATIVE METHODS SP
[7]  
[Anonymous], 2013, RIEMANN SOLVERS NUME
[8]  
[Anonymous], 1973, ANAL FINITE ELEMENT
[9]  
[Anonymous], 2002, FINITE VOLUME METHOD
[10]  
Arakawa A., 1966, J. Comput. Phys., V1, P119, DOI [DOI 10.1016/0021-9991(66)90015-5, 10.1016/0021-9991(66)90015-5]