Introduction To Computational Fluid Dynamics: Dmitri Kuzmin

Download as pdf or txt
Download as pdf or txt
You are on page 1of 34

Introduction to Computational Fluid Dynamics

Dmitri Kuzmin

Institute of Applied Mathematics (LS III)

partial differential equation (PDE) models of fluid flows


numerical solution methods and their properties

https://www.mathematik.tu-dortmund.de/sites/cfdintro
Examples of fluid flows

Fluids (gases and liquids) are flowing

around us: rains, winds, floods, hurricanes


in our body: blood flow, breathing, drinking
in our homes: heating and air conditioning
around cars, planes, buildings, wind turbines
in automobile engines and propulsion systems
in furnaces, heat exchangers, chemical reactors
in geophysical porous media (rock, sand, soil)
Experimental fluid dynamics

Experimental studies are performed with laboratory-scale models

The amount of information is limited and the costs are very high

There are measurement errors and disturbances caused by probes


Theoretical fluid dynamics

Generic conservation law


Z Z Z

u dx + f · n ds = g dx, ∀V ⊂ Ω n f

∂t V S V
V

∂u
+∇·f =g in Ω × (0, T ) S

∂t

Convection - diffusion equation


∂u
+ ∇ · (vu − d∇u) = g in Ω × (0, T )
∂t
Equations of fluid mechanics

Navier-Stokes equations
∂U
+∇·F=G
∂t
conservation of mass
conservation of
momentum
conservation of energy

     
ρ ρv 0
U =  ρv  , F= ρv ⊗ v + σ , G =  ρg 
ρE ρvE − κ∇T − σ · v ρg · v
Simplified models

Compressible Euler equations


   
ρ ρv
∂ 
ρv  + ∇ ·  ρv ⊗ v + pI  = 0
∂t
ρE ρEv + pv

Incompressible Navier-Stokes equations


∂v
+ v · ∇v − ν∆v = −∇p, ∇·v=0
∂t

Millennium Prize: $1,000,000 for a proof of existence and smoothness


Computational Fluid Dynamics

The Euler and Navier-Stokes equations have been known since 1755
(resp. since 1827). No closed-form solutions are available to date...

Numerical methods can be used to calculate approximate solutions

Computational Fluid Dynamics makes it possible to perform detailed


numerical simulations of fluid flows in a “virtual flow laboratory”

von Karman vortex street CFD simulation


Why use CFD?

Numerical simulations of fluid flow (will) enable

architects to design comfortable and safe living environments


designers of vehicles to improve the aerodynamic characteristics
chemical engineers to maximize the yield from their equipment
petroleum engineers to devise optimal oil recovery strategies
surgeons to cure arterial diseases (computational hemodynamics)
meteorologists to forecast the weather and warn of natural disasters
safety experts to reduce health risks from radiation and other hazards
military organizations to develop weapons and estimate the damage
CFD practitioners to make big bucks by selling colorful pictures :-)
Experiments vs. Simulations

CFD gives an insight into flow patterns that are difficult, expensive or
impossible to study using traditional (experimental) techniques

Experiments Simulations
Quantitative description of flow Quantitative prediction of flow
phenomena using measurements phenomena using CFD software
for one quantity at a time for all desired quantities
at a limited number of with high resolution in
points and time instants space and time
for a laboratory-scale model for the actual flow domain
for a limited range of flow for virtually any problem
problems and operating and realistic operating
conditions conditions
Error sources: measurement errors, Error sources: modeling, discretiza-
flow disturbances by the probes tion, iteration, implementation
CFD in aerospace industry
CFD in automotive industry
CFD in chemical industry
CFD in defense industry
CFD in hazard analysis

CFD simulation of contaminant transport in Chicago (G. Patnaik et al.)


Colorful Fluid Dynamics
Experiments vs. Simulations
CFD does not replace the measurements completely but the amount of
experimentation and the overall cost can be significantly reduced

Experiments Simulations
expensive cheap(er) Equipment and personnel
slow fast(er) are difficult to transport
sequential parallel CFD software is portable,
single- multiple- easy to use and modify
purpose purpose

The results of a CFD simulation are never 100% reliable

the input data may involve too much guessing or imprecision


mathematical model of the problem at hand may be inadequate
the quality of numerical solutions depends on the accuracy of
approximation techniques and available computing power
What hides behind colorful pictures?

Mathematical modeling

Mesh generation
(block-)structured meshes
unstructured meshes

Discretization techniques
space discretization
time discretization

Solution of algebraic systems


direct solvers
iterative solvers

Implementation in a computer code


What can go wrong with CFD?

Linear advection equation ut + vux = 0, u(x, t) = u0 (x − vt)

1st order approximation 2nd order approximation

low-order schemes produce a lot of numerical diffusion


high-order schemes produce non-physical oscillations
some approximations are unstable and therefore useless
Fluid characteristics

Quantities of interest Classification of fluid flows


ρ density viscous inviscid
µ viscosity compressible incompressible
p pressure steady unsteady
laminar turbulent
T temperature single-phase multiphase
v velocity

The reliability of CFD simulations is greater

for laminar/slow flows than for turbulent/fast ones


for single-phase flows than for multi-phase flows
for chemically inert systems than for reactive flows
CFD design cycle

CFD uses a computer to solve the equations of a mathematical model.

The main components of a CFD design cycle are as follows:

the human being (analyst) who states the problem to be solved


scientific knowledge (models, methods) expressed mathematically
the computer code (software) which embodies this knowledge and
provides detailed instructions (algorithms) for
the computer hardware which performs the actual calculations
the human being who inspects and interprets the simulation results

CFD is a highly interdisciplinary research area which lies at the interface


of physics, applied mathematics, and computer science
CFD analysis

1. Problem statement information about the flow


2. Mathematical model IBVP = PDE + IC + BC
3. Mesh generation nodes/cells, time instants
4. Space discretization coupled ODE/DAE systems
5. Time discretization algebraic system Ax = b
6. Iterative solver discrete function values
7. CFD software implementation, debugging
8. Simulation run parameters, stopping criteria
9. Postprocessing visualization, analysis of data
10. Verification model validation / adjustment
Problem statement

What is known about the flow problem to be dealt with?


What physical phenomena need to be taken into account?
What is the geometry of the domain and operating conditions?
Are there any internal obstacles or free surfaces/interfaces?
What is the type of flow (laminar/turbulent, steady/unsteady)?
What is the objective of the CFD analysis to be performed?
computation of integral quantities (lift, drag, yield)
snapshots of field data for velocities, concentrations etc.
shape optimization aimed at an improved performance

What is the easiest/cheapest/fastest way to achieve the goal?


Mathematical model

1 Choose a suitable flow model (viewpoint) and reference frame.


2 Identify the forces which cause and influence the fluid motion.
3 Define the computational domain in which to solve the problem.
4 Formulate conservation laws for the mass, momentum, and energy.
5 Simplify the governing equations to reduce the computational effort:

use available information about the prevailing flow regime


check for symmetries and predominant flow directions (1D/2D)
neglect the terms which have little or no influence on the results
model the effect of small-scale fluctuations that cannot be captured
incorporate a priori knowledge (measurement data, CFD results)
6 Add constituitive relations and specify initial/boundary conditions.
Discretization process

1 Mesh generation (decomposition into cells/elements)

structured or unstructured, triangular or quadrilateral?


CAD tools + grid generators (Delaunay, advancing front)
mesh size, adaptive refinement in ‘interesting’ flow regions

2 Space discretization (approximation of spatial derivatives)

finite differences/volumes/elements
high- vs. low-order approximations

3 Time discretization (approximation of temporal derivatives)

explicit vs. implicit schemes, stability constraints


local time-stepping, adaptive time step control
Iterative solution

The coupled nonlinear algebraic equations must be solved iteratively


Outer iterations: the coefficients of the discrete problem are updated
using tentative solution values from the previous iteration to

get rid of the nonlinearities by a Newton-like method


solve the governing equations in a segregated fashion

Inner iterations: the resulting sequence of linear subproblems is


typically solved by an iterative method (CG, multigrid) because
direct solvers (Gaussian elimination) are too expensive

Convergence criteria: checking the residuals, relative solution


changes and other indicators of convergence.

The algebraic systems to be solved are very large (millions of unknowns)


but sparse, i.e., most of the matrix entries are equal to zero.
CFD simulations

The computing times for a flow simulation depend on


the choice of numerical algorithms and data structures
linear algebra tools, stopping criteria for iterative solvers
discretization parameters (mesh quality, mesh size, time step)
cost per time step and convergence rates for outer iterations
programming language (most codes are written in C++ or Fortran)
many other things (hardware, vectorization, parallelization etc.)

The quality of simulation results depends on


the mathematical model and underlying assumptions
approximation type, stability of the numerical scheme
mesh, time step, error indicators, stopping criteria . . .
Postprocessing and analysis

Postprocessing of the simulation results is performed in order to extract


the desired information from the computed flow field
calculation of derived quantities (streamfunction, vorticity)
calculation of integral parameters (lift, drag, total mass)
visualization (representation of numbers as images)
1D data: function values connected by straight lines
2D data: streamlines, contour levels, color diagrams
3D data: cutlines, cutplanes, isosurfaces, isovolumes
arrow plots, particle tracing, animations . . .
Systematic data analysis by means of statistical tools
Debugging, verification, and validation of the CFD model
Uncertainty and error

Whether or not the results of a CFD simulation can be trusted depends


on the degree of uncertainty and on the cumulative effect of errors

Uncertainty is defined as a potential deficiency due to the lack of


knowledge (turbulence modeling is a classical example)
Error is defined as a recognizable deficiency due to other reasons
acknowledged errors have certain mechanisms for identifying,
estimating and possibly eliminating or at least reducing them
unacknowledged errors have no standard procedures for detecting
them and may remain undiscovered causing a lot of harm
local errors = solution errors at a single grid point or cell
global errors = solution errors in the entire flow domain

Local errors evolve and contribute to the global error.


Classification of errors

Acknowledged errors
Modeling error due to uncertainty and deliberate simplifications
Discretization error ← approximation of PDEs by linear algebra
spatial discretization error due to a finite grid resolution
temporal discretization error due to a finite time step size
Iterative convergence error which depends on the stopping criteria
Round-off errors due to the finite precision of computer arithmetic

Unacknowledged errors
Computer programming error: “bugs” in coding and logical mistakes
Usage error: wrong parameter values, models or boundary conditions

Awareness of these error sources and ability to control/avoid errors are


important prerequisites for developing and using CFD software
Verification of CFD codes

Verification amounts to looking for errors in the implementation of the


models (loosely speaking: “are we solving the equations right”?)

Examine the computer programming by visually checking the source


code, documenting it and testing individual subprograms.
Monitor iterative convergence and check if the prescribed tolerance
is attained for certain norms of the residuals or relative changes.
Check if discrete conservation laws (if any) are satisfied.
Check grid convergence: as the mesh and/or and the time step are
refined, the spatial and temporal discretization errors, should
asymptotically approach zero (in the absence of round-off errors).
Compare the computational results with analytical and numerical
solutions for standard benchmarks (representative test cases).
Validation of CFD models

Validation amounts to checking if the model itself is adequate (loosely


speaking: “Are we solving the right equations”?)

Verify the code to make sure that the numerical solutions are correct.
Compare the results with available experimental data (making a
provision for measurement errors) to check if the reality is
represented accurately enough.
Perform sensitivity analysis and a parametric study to assess the
inherent uncertainty due to insufficient understanding of physics.
Try different models, geometry, and initial/boundary conditions.
Report findings, document model limitations and parameter settings.

The goal of verification and validation is to ensure that the CFD code
produces reasonable results for a certain range of flow problems.
Available CFD software

ANSYS http://www.ansys.com commercial


COMSOL http://www.comsol.com commercial
FEATFLOW http://www.featflow.de open-source
FEniCS https://fenicsproject.org open-source
deal.II http://www.dealii.org open-source
OpenFOAM http://www.openfoam.com/ open-source

Existing CFD software is not yet at the level where it can be blindly
used by designers or analysts without a basic knowledge of the
underlying numerical methods.
Experience with numerical solution of simple ‘toy problems’ makes it
easier to analyze strange results and avoid troubles.
Complex applications (e.g., multiphase flow models coupled with
population balance equations) require modification of basic CFD
models and development of new simulation tools.
Course syllabus

1 Introduction, flow models.


2 Equations of fluid mechanics.
3 Finite Difference Method.
4 Finite Volume Method.
5 Finite Element Method.
6 Implementation of FEM.
7 Time-stepping techniques.
8 Properties of numerical methods.
9 Stabilization techniques.
10 Advanced simulation tools.
Literature

1 J. D. Anderson, Computational Fluid Dynamics: The Basics with


Applications. McGraw-Hill, New York, 1995.
2 J. Donea and A. Huerta, Finite Element Methods for Flow
Problems. John Wiley & Sons, 2003.
3 J. H. Ferziger and M. Peric, Computational Methods for Fluid
Dynamics. Springer, 1996.
4 C. Hirsch, Numerical Computation of Internal and External Flows.
Vol. I and II. John Wiley & Sons, Chichester, 1990.
5 D. Kuzmin and J. Hämäläinen, Finite Element Methods for
Computational Fluid Dynamics: A Practical Guide. SIAM, 2014.
6 R. Löhner, Applied CFD Techniques: An Introduction Based on
Finite Element Methods. John Wiley & Sons, 2001.
7 P. Wesseling, Principles of Computational Fluid Dynamics.
Springer, 2001.

You might also like