Ing Ind - Inf (1 liv.)(ord. 270) - MI (347) INGEGNERIA CHIMICA
*
A
ZZZZ
099301 - COMPUTATIONAL FLUID DYNAMICS OF REACTIVE FLOWS
Ing Ind - Inf (Mag.)(ord. 270) - MI (422) INGEGNERIA DELLA PREVENZIONE E DELLA SICUREZZA NELL'INDUSTRIA DI PROCESSO
*
A
ZZZZ
081256 - FLUIDODINAMICA DEGLI INCENDI
099301 - COMPUTATIONAL FLUID DYNAMICS OF REACTIVE FLOWS
Ing Ind - Inf (Mag.)(ord. 270) - MI (472) CHEMICAL ENGINEERING - INGEGNERIA CHIMICA
*
A
ZZZZ
099301 - COMPUTATIONAL FLUID DYNAMICS OF REACTIVE FLOWS
081256 - FLUIDODINAMICA DEGLI INCENDI
Obiettivi dell'insegnamento
Computational Fluid Dynamics (CFD) consists in solving numerically the equations governing the motion of fluids. In order to reach this goal, CFD relies on advanced numerical methods and algorithms. CFD has seen a rapid and continuous development in the past decades and has now established itself as an essential tool in the design of engineering applications (e.g., aerodynamics, chemical reactors, etc,) and the analysis and prediction of natural systems (e.g., weather prediction). This rapid development is directly linked with the steadily increase in computing power. Because of the prevalence of complex fluid flows in engineering and natural systems, CFD has become an indispensable tool in engineering. This course is an introduction to CFD of flows with chemical reactions. It thus focuses on the classical aspects of numerical analysis and does not intend to describe all possible methods and more advanced algorithms. Indeed, the final aim of this class is to introduce the learner to CFD, to develop their understanding of the theory and operation of CFD, and to develop their competency in the employment of CFD to solve practical engineering problems. More specifically, the objectives of the course are:
to introduce and develop the main approaches and techniques that constitute the basis of CFD for Chemical Engineers;
to familiarize students with the numerical implementation of these techniques and numerical schemes, to provide them with the means to write their own codes and software, and so acquire the knowledge necessary for the skillful utilization of CFD;
to cover a range of modern approaches for CFD, without entering all these topics in detail, but aiming to provide students with a general knowledge and understanding of the subject, including recommendations for further studies.
This course continues to be a work in progress. New curricular materials are being developed for this course, and feedback from students is always welcome and appreciated during the term. For example, reviews on specific topics can be provided based on requests from students.
Risultati di apprendimento attesi
At the end of the course, the students should be able to:
apply the complete methodology of a CFD analysis;
set up a simulation with an appropriate numerical method, correct boundary conditions, adequate initial conditions, and adequate parameter values;
understand the close link between the physics, the equations and the numerical schemes;
be able to assess a numerical scheme based on stability, consistency and accuracy considerations;
know the major numerical schemes, their domain of applicability, and their advantages and shortcomings;
implement a simple CFD solver in MATLAB(R);
critically assess CFD results.
In particular, lectures will allow students to:
understand the basis of theory and operation of CFD, with special emphasis on reactive flows;
get familiar with the basic techniques (finite difference and finite volume) typically adopted in CFD;
identify the most suitable computational techniques for modeling a specific CFD problem.
Practical sessions will allow students to:
build a basic CFD code for describing the evolution of a fluid with chemical reactions in simple geometries;
define a verification and validation plan for the development of CFD codes.
The final project will allow students to:
apply the theoretical aspects and the numerical technicques presented during the lessons and the practical sessions;
summarize and present the results achieved during the analysis and the solution of a given problem involving the flow of a fluid with chemical reactions.
Argomenti trattati
This course is an introduction to the Computational Fluid Dynamics (CFD) of reacting flows (i.e. flows with chemical reactions), both in laminar and turbulent conditions.
The first part of the course is focused on the fundamentals of Computational Fluid Dynamics: transport equations of mass, momentum, energy and species; spatial discretization and time integration of transport equations; numerical algorithms for pressure-velocity coupling; numerical methods for parabolic and elliptic equations. Then, the mathematical and numerical modeling of turbulent flows will be discussed and analyzed: URANS (Unsteady Reynolds Averaged Navier-Stokes) and LES (Large Eddy Simulation) methods. The second part of the course is devoted to the numerical modeling of reacting flows in a CFD context: kinetic-turbulence interactions; EDC (Eddy Dissipation Concept) models; Transported PDFs; fundamentals of turbulent combustion modeling; steady-state laminar flamelets. In the last part of the class special topics are covered: numerical modeling of multiphase flows, verification and validation applied to CFD, large-scale problems and HPC (High Performance Computing).
More in details, the following topics are covered:
Introduction to Computational Fluid Dynamics (CFD); the philosophy behind CFD and its influence on engineering analysis and design; brief history of CFD; commercial and open-source codes
Fundamentals of numerical analysis applied to CFD: accuracy, stability, consistency; applications to 2D advection-convection equation and multidimensional boundary value problems (steady-state); iterative methods for solving linear systems of equations.
Tranport equations: mass (continuity), momentum, energy, and species; integral vs differential formulations; constitutive laws: Newton’s, Fick’s, and Fourier’s laws; classification of partial differential equations (PDE). Special cases: Euler equations, incompressible fluids, Stokes equations. Boundary and initial conditions. Discussion of their physical meaning, and presentation of forms particularly suited to CFD. Vorticity and derivation of Navier-Stokes equations in vorticity formulation.
Spatial discretization of transport equations: meshes, finite difference (FD) and finite-volume (FV) techniques. First and second order discretization schemes; QUICK schemes. High-order discretization: numerical diffusion and dispersion, the Godunov's theorem, the Godunov's method, flux vector splitting, artificial viscosity, the modern view.
Numerical algorithms for pressure-velocity coupling: staggered grids, momentum equations, advection, pressure and viscous terms; the pressure equation.
Elliptic equations: examples of elliptic equations, iterative Methods, SOR on vector computers, iteration as time integration, convergence of iterative Methods (basic discussion), multigrid methods, fast direct method, ADI for elliptic equations, Krylov Methods
Navier-Stokes equations: Navier-Stokes equations in primitive variables, colocated grids, high-order in time, other methods (SIMPLE), boundary conditions, all-speed methods
Introduction to numerical modeling of turbulent flows: Richardson and Kolmogorov theories, DNS (Direct Numerical Simulation), LES (Large Eddy Simulation), U-RANS (Unsteady Reynolds Averaged Navier Stokes)
Kinetic-turbulence interactions:EDC (Eddy Dissipation Concept) and Transported PDF methods
Validation and Verification: Verification, Method of Manufactured Solutions (MMS), Richardson Extrapolation, Validation, Uncertainty Quantification (basics)
Modeling of multiphase flows: general modeling of multiphase flows (Eulerian/Eulerian vs Eulerian/Lagrangian approaches), methods to track moving fluid interfaces, bubbly flows
Large-scale problems and HPC: software tools for CFD, large-scale problems, parallelization (shared and distributed)
Special topic based on the requests from students
Practical sessions
Most of practical sessions will be based on MATLAB(R) (https://it.mathworks.com/). The students will learn how to implement a basic CFD solver from scratch.
Prerequisiti
The prerequisite courses include fundamentals of fluid mechanics, principles of transport phenomena, fundamentals of numerical methods, and basic knowledge of computer programming. This is a relatively advanced level treatment, but in all cases every topic is introduced in a relatively elemantary way. The elementary aspects will, however, be covered quickly so students should have background in numerical methods and fluid dynamics. Some programming experience, such as with MATLAB(R), Python, Julia or C++, is also recommended.
Modalità di valutazione
There will be a final project for this class. Students can select the topic of their project in consultation with the instructor. Possible projects include:
comprehensive reviews of material not covered in detail in class, with some numerical examples;
specific fluid-related problems or questions that are numerically studied or solved by the applications of approaches, methods or schemes covered in class.
The final examination consists of two parts:
project presentation to the instructor (max. 2 people per project)
individual, oral examination about the topics presented and discussed during the lessons.
Grading will be based on both the quality of the CFD work, the presentation of the results, and the oral examination.