ID: 7050
Course type: vocational and applied
Course coordinator: Ćoćić S. Aleksandar
Lecturers: Ćoćić S. Aleksandar
Contact: Ćoćić S. Aleksandar
Level of studies: B.Sc. (undergraduate) Academic Studies – Information Technologies in Mechanical Engineering
ECTS: 5
Final exam type: project design
Department: Department of Fluid Mechanics
Student should gain basic theoretical knowledge and principles of computational fluid dynamics (CFD), to be able to perform basic numerical calculations by using CFD methods and how to implement them in Python, and to learn to use open-source CFD software OpenFOAM.
Upon successful completion of the course, students will be able to: - explain the general principles of numerical solution of governing equations for fluid flow - explain and apply finite difference and finite volume methods for discretization of governing equations for fluid flow - explain and apply principles of numerical grid generation - use Python programming language for solution of modeled equation of fluid mechanics (1D and 2D heat equation, 1D wave equation, Burgers equation) - use OpenFOAM solvers for determining the solution of 3D Laplace and convection-diffusion equation, and laminar incompressible flow in various domains - explain general principles in turbulence modeling and apply turbulence models in OpenFOAM on specified cases of turbulent flow
Basic ideas and principles in CFD. Analysis of various forms of fundamental equations of fluid motion. Types of partial differential equations (PDE). Boundary conditions for PDEs. Finite difference method. Approximation of PDEs by finite differences. Explicit and implicit methods of discretization. Stability of explicit and implicit methods. Methods for solving systems of linear algebraic equations. Finite volume method (FVM). Disretization of fundamental equations of fluid motion in FVM. Domain discretization - grid generation. Structured, block-structured and unstructured grid. Criteria for determination the grid quality. Numerical solution of Navier-Stokes equation. Basic principles of modelling and solution of turbulent flow. Basics of CFD based on finite element method.
GNU/Linux operating system. Work in terminal (shell) and BASH environment. Python programming language. Numerical solution of Coutte flow using finite difference method (FDM), with explicit and implicit methods of discretization. Implementation in Python code. Numerical solution of hyperbolic PDE by methods of characteristics - water hammer problem. Implementation in Python code. Advanced software for postprocessing - paraview. Numerical solution of two-dimensional Laplace equation using FDM. Implementation in Python code. Finite volume method (FVM). Numerical solution of steady diffusion and convection-diffusion problems by FVM. Methods of convective term discretization: upwind, central and hybrid scheme. Implementation in Python code. Structure and code of OpenFOAM. Mesh generation in OpenFOAM: blockMesh, snappyHexMesh and cfMesh. Solution of diffusion problems in various domains with OpenFOAM. Solution of incompressible viscous fluid flow with OpenFOAM.
Not obligatory, but it's is desired that student passed the exam from subject: Fundamental fluid mechanics (ID 7025)
Presentations, handouts, video-materials, book in *.pdf format (in English).
Total assigned hours: 65
New material: 20
Elaboration and examples (recapitulation): 10
Auditory exercises: 20
Laboratory exercises: 0
Calculation tasks: 0
Seminar paper: 0
Project: 0
Consultations: 0
Discussion/workshop: 0
Research study work: 0
Review and grading of calculation tasks: 0
Review and grading of lab reports: 0
Review and grading of seminar papers: 0
Review and grading of the project: 5
Test: 0
Test: 5
Final exam: 5
Activity during lectures: 0
Test/test: 0
Laboratory practice: 0
Calculation tasks: 0
Seminar paper: 0
Project: 60
Final exam: 40
Requirement for taking the exam (required number of points): 0
Anderson J. Computation Fluid Dynamics, The Basics With Applications, McGraw Hill Series in Aeronautical and Aerospace Engineering, 1995; Versteeg H., Malalasekera, An Introduction to Computational Fluid Dynamics - The Finite Volume Method, Pearson Prentice Hall, 2011; Petrović Z., Stupar S. Projektovanje primenom računara, Mašinski fakultet Beograd (in Serbian)