Computational fluid dynamics
Computational physics 

Numerical analysis · Simulation 
Particle

Scientists

Computational fluid dynamics, usually abbreviated as CFD, is a branch of fluid mechanics that uses numerical analysis and algorithms to solve and analyze problems that involve fluid flows. Computers are used to perform the calculations required to simulate the interaction of liquids and gases with surfaces defined by boundary conditions. With highspeed supercomputers, better solutions can be achieved. Ongoing research yields software that improves the accuracy and speed of complex simulation scenarios such as transonic or turbulent flows. Initial experimental validation of such software is performed using a wind tunnel with the final validation coming in fullscale testing, e.g. flight tests.
Contents
 Background and history 1

Methodology 2

Discretization methods 2.1
 Finite volume method 2.1.1
 Finite element method 2.1.2
 Finite difference method 2.1.3
 Spectral element method 2.1.4
 Boundary element method 2.1.5
 Highresolution discretization schemes 2.1.6

Turbulence models 2.2
 Reynoldsaveraged Navier–Stokes 2.2.1
 Large eddy simulation 2.2.2
 Detached eddy simulation 2.2.3
 Direct numerical simulation 2.2.4
 Coherent vortex simulation 2.2.5
 PDF methods 2.2.6
 Vortex method 2.2.7
 Vorticity confinement method 2.2.8
 Linear eddy model 2.2.9
 Twophase flow 2.3
 Solution algorithms 2.4
 Unsteady Aerodynamics 2.5

Discretization methods 2.1
 See also 3
 References 4
 Notes 5
 External links 6
Background and history
The fundamental basis of almost all CFD problems are the Navier–Stokes equations, which define any singlephase (gas or liquid, but not both) fluid flow. These equations can be simplified by removing terms describing viscous actions to yield the Euler equations. Further simplification, by removing terms describing vorticity yields the full potential equations. Finally, for small perturbations in subsonic and supersonic flows (not transonic or hypersonic) these equations can be linearized to yield the linearized potential equations.
Historically, methods were first developed to solve the linearized potential equations. Twodimensional (2D) methods, using conformal transformations of the flow about a cylinder to the flow about an airfoil were developed in the 1930s.^{[1]}
One of the earliest type of calculations resembling modern CFD are those by Lewis Fry Richardson, in the sense that these calculations used finite differences and divided the physical space in cells. Although they failed dramatically, these calculations, together with Richardson's book "Weather prediction by numerical process",^{[2]} set the basis for modern CFD and numerical meteorology. In fact, early CFD calculations during the 1940s using ENIAC used methods close to those in Richardson's 1922 book.^{[3]}
The computer power available paced development of threedimensional methods. Probably the first work using computers to model fluid flow, as governed by the NavierStokes equations, was performed at Los Alamos National Lab, in the T3 group.^{[4]}^{[5]} This group was led by Francis H. Harlow, who is widely considered as one of the pioneers of CFD. From 1957 to late 1960s, this group developed a variety of numerical methods to simulate transient twodimensional fluid flows, such as Particleincell method (Harlow, 1957),^{[6]} Fluidincell method (Gentry, Martin and Daly, 1966),^{[7]} Vorticity stream function method (Jake Fromm, 1963),^{[8]} and Markerandcell method (Harlow and Welch, 1965).^{[9]} Fromm's vorticitystreamfunction method for 2D, transient, incompressible flow was the first treatment of strongly contorting incompressible flows in the world.
The first paper with threedimensional model was published by John Hess and A.M.O. Smith of Douglas Aircraft in 1967.^{[10]} This method discretized the surface of the geometry with panels, giving rise to this class of programs being called Panel Methods. Their method itself was simplified, in that it did not include lifting flows and hence was mainly applied to ship hulls and aircraft fuselages. The first lifting Panel Code (A230) was described in a paper written by Paul Rubbert and Gary Saaris of Boeing Aircraft in 1968.^{[11]} In time, more advanced threedimensional Panel Codes were developed at Boeing (PANAIR, A502),^{[12]} Lockheed (Quadpan),^{[13]} Douglas (HESS),^{[14]} McDonnell Aircraft (MACAERO),^{[15]} NASA (PMARC)^{[16]} and Analytical Methods (WBAERO,^{[17]} USAERO^{[18]} and VSAERO^{[19]}^{[20]}). Some (PANAIR, HESS and MACAERO) were higher order codes, using higher order distributions of surface singularities, while others (Quadpan, PMARC, USAERO and VSAERO) used single singularities on each surface panel. The advantage of the lower order codes was that they ran much faster on the computers of the time. Today, VSAERO has grown to be a multiorder code and is the most widely used program of this class. It has been used in the development of many submarines, surface ships, automobiles, helicopters, aircraft, and more recently wind turbines. Its sister code, USAERO is an unsteady panel method that has also been used for modeling such things as high speed trains and racing yachts. The NASA PMARC code from an early version of VSAERO and a derivative of PMARC, named CMARC,^{[21]} is also commercially available.
In the twodimensional realm, a number of Panel Codes have been developed for airfoil analysis and design. The codes typically have a boundary layer analysis included, so that viscous effects can be modeled. Professor Richard Eppler of the University of Stuttgart developed the PROFILE code, partly with NASA funding, which became available in the early 1980s.^{[22]} This was soon followed by MIT Professor Mark Drela's XFOIL code.^{[23]} Both PROFILE and XFOIL incorporate twodimensional panel codes, with coupled boundary layer codes for airfoil analysis work. PROFILE uses a conformal transformation method for inverse airfoil design, while XFOIL has both a conformal transformation and an inverse panel method for airfoil design.
An intermediate step between Panel Codes and Full Potential codes were codes that used the Transonic Small Disturbance equations. In particular, the threedimensional WIBCO code,^{[24]} developed by Charlie Boppe of Grumman Aircraft in the early 1980s has seen heavy use.
Developers turned to Full Potential codes, as panel methods could not calculate the nonlinear flow present at transonic speeds. The first description of a means of using the Full Potential equations was published by Earll Murman and Julian Cole of Boeing in 1970.^{[25]} Frances Bauer, Paul Garabedian and David Korn of the Courant Institute at New York University (NYU) wrote a series of twodimensional Full Potential airfoil codes that were widely used, the most important being named Program H.^{[26]} A further growth of Program H was developed by Bob Melnik and his group at Grumman Aerospace as Grumfoil.^{[27]} Antony Jameson, originally at Grumman Aircraft and the Courant Institute of NYU, worked with David Caughey to develop the important threedimensional Full Potential code FLO22^{[28]} in 1975. Many Full Potential codes emerged after this, culminating in Boeing's Tranair (A633) code,^{[29]} which still sees heavy use.
The next step was the Euler equations, which promised to provide more accurate solutions of transonic flows. The methodology used by Jameson in his threedimensional FLO57 code^{[30]} (1981) was used by others to produce such programs as Lockheed's TEAM program^{[31]} and IAI/Analytical Methods' MGAERO program.^{[32]} MGAERO is unique in being a structured
 Articles needing additional references from June 2008
 All articles needing additional references
 Articles lacking intext citations from September 2014
 All articles lacking intext citations
 Articles to be merged from September 2014
 All articles to be merged
 All articles with unsourced statements
 Articles with unsourced statements from November 2010
 Articles to be expanded from November 2010
 All articles to be expanded
 Articles to be expanded from September 2013
 Articles with specifically marked weaselworded phrases from November 2010
 All articles with specifically marked weaselworded phrases
 Pages using citations with accessdate and no URL
 Articles with inconsistent citation formats
 Commons category template with no category set
 Commons category without a link on Wikidata
 Computational fluid dynamics
 CFD Tutorial Many examples and images, with references to robotic fish.
 CFDWiki
 biomedical use
 Course: Introduction to CFD – Dmitri Kuzmin (Dortmund University of Technology)
 Course: Numerical PDE Techniques for Scientists and Engineers, Open access Lectures and Codes for Numerical PDEs, including a modern view of Compressible CFD
External links
 Anderson, John D. (1995). Computational Fluid Dynamics: The Basics With Applications. Science/Engineering/Math. McGrawHill Science.
 Patankar, Suhas (1980). Numerical Heat Transfer and Fluid Flow. Hemisphere Series on Computational Methods in Mechanics and Thermal Science. Taylor & Francis.
Notes
 ^
 ^ Richardson, L. F.; Chapman, S. (1965). Weather prediction by numerical process. Dover Publications.
 ^ Hunt (1998). "Lewis Fry Richardson and his contributions to mathematics, meteorology, and models of conflict". Annual Review of Fluid Mechanics 30.
 ^ "The Legacy of Group T3". Retrieved March 13, 2013.
 ^ Harlow, F. H. (2004). "Fluid dynamics in Group T3 Los Alamos National Laboratory:(LAUR033852)".
 ^
 ^ Gentry, R. A., Martin, R. E., Daly, J. B. (1966). "An Eulerian differencing method for unsteady compressible flow problems".
 ^ Fromm, J. E.; F. H. Harlow (1963). "Numerical solution of the problem of vortex street development".
 ^ Harlow, F. H.; J. E. Welch (1965). "Numerical calculation of timedependent viscous incompressible flow of fluid with a free surface" (PDF).
 ^ Hess, J.L.; A.M.O. Smith (1967). "Calculation of Potential Flow About Arbitrary Bodies". Progress in Aerospace Sciences 8: 1–138.
 ^ Rubbert, Paul and Saaris, Gary, "Review and Evaluation of a ThreeDimensional Lifting Potential Flow Analysis Method for Arbitrary Configurations," AIAA paper 72188, presented at the AIAA 10th Aerospace Sciences Meeting, San Diego California, January 1972.
 ^ Carmichael, R. and Erickson, L.L., "PAN AIR  A Higher Order Panel Method for Predicting Subsonic or Supersonic Linear Potential Flows About Arbitrary Configurations," AIAA paper 811255, presented at the AIAA 14th Fluid and Plasma Dynamics Conference, Palo Alto California, June 1981.
 ^ Youngren, H.H., Bouchard, E.E., Coopersmith, R.M. and Miranda, L.R., "Comparison of Panel Method Formulations and its Influence on the Development of QUADPAN, an Advanced Low Order Method," AIAA paper 831827, presented at the AIAA Applied Aerodynamics Conference, Danvers, Massachusetts, July 1983.
 ^ Hess, J.L. and Friedman, D.M., "Analysis of Complex Inlet Configurations Using a HigherOrder Panel Method," AIAA paper 831828, presented at the AIAA Applied Aerodynamics Conference, Danvers, Massachusetts, July 1983.
 ^ Bristow, D.R., "Development of Panel Methods for Subsonic Analysis and Design," NASA CR3234, 1980.
 ^ Ashby, Dale L.; Dudley, Michael R.; Iguchi, Steve K.; Browne, Lindsey and Katz, Joseph, “Potential Flow Theory and Operation Guide for the Panel Code PMARC”, NASA NASATM102851 1991.
 ^ Woodward, F.A., Dvorak, F.A. and Geller, E.W., "A Computer Program for ThreeDimensional Lifting Bodies in Subsonic Inviscid Flow," USAAMRDL Technical Report, TR 7418, Ft. Eustis, Virginia, April 1974.
 ^ Katz, J. and Maskew, B., "Unsteady LowSpeed Aerodynamic Model for Complete Aircraft Configurations," AIAA paper 862180, presented at the AIAA Atmospheric Flight Mechanics Conference, Williamsburg Virginia, August 1986.
 ^ Maskew, Brian, "Prediction of Subsonic Aerodynamic Characteristics: A Case for LowOrder Panel Methods," AIAA paper 810252, presented at the AIAA 19th Aerospace Sciences Meeting, St. Louis, Missouri, January 1981.
 ^ Maskew, Brian, “Program VSAERO Theory Document: A Computer Program for Calculating Nonlinear Aerodynamic Characteristics of Arbitrary Configurations”, NASA CR4023, 1987.
 ^ Pinella, David and Garrison, Peter, “Digital Wind Tunnel CMARC; ThreeDimensional LowOrder Panel Codes,” Aerologic, 2009.
 ^ Eppler, R.; Somers, D. M., "A Computer Program for the Design and Analysis of LowSpeed Airfoils," NASA TM80210, 1980.
 ^ Drela, Mark, "XFOIL: An Analysis and Design System for Low Reynolds Number Airfoils," in SpringerVerlag Lecture Notes in Engineering, No. 54, 1989.
 ^ Boppe, C.W., "Calculation of Transonic Wing Flows by Grid Embedding," AIAA paper 77207, presented at the AIAA 15th Aerospace Sciences Meeting, Los Angeles California, January 1977.
 ^ Murman, Earll and Cole, Julian, "Calculation of Plane Steady Transonic Flow," AIAA paper 70188, presented at the AIAA 8th Aerospace Sciences Meeting, New York New York, January 1970.
 ^ Bauer, F., Garabedian, P., and Korn, D. G., "A Theory of Supercritical Wing Sections, with Computer Programs and Examples," Lecture Notes in Economics and Mathematical Systems 66, SpringerVerlag, May 1972. ISBN 9783540058076
 ^ Mead, H. R.; Melnik, R. E., "GRUMFOIL: A computer code for the viscous transonic flow over airfoils," NASA CR3806, 1985.
 ^ Jameson A. and Caughey D., "A Finite Volume Method for Transonic Potential Flow Calculations," AIAA paper 77635, presented at the Third AIAA Computational Fluid Dynamics Conference, Alburquerque New Mexico, June 1977.
 ^ Samant, S.S., Bussoletti J.E., Johnson F.T., Burkhart, R.H., Everson, B.L., Melvin, R.G., Young, D.P., Erickson, L.L., Madson M.D. and Woo, A.C., "TRANAIR: A Computer Code for Transonic Analyses of Arbitrary Configurations," AIAA paper 870034, presented at the AIAA 25th Aerospace Sciences Meeting, Reno Nevada, January 1987.
 ^ Jameson, A., Schmidt, W. and Turkel, E., "Numerical Solution of the Euler Equations by Finite Volume Methods Using RungeKutta TimeStepping Schemes," AIAA paper 811259, presented at the AIAA 14th Fluid and Plasma Dynamics Conference, Palo Alto California, 1981.
 ^ Raj, P. and Brennan, J.E., "Improvements to an Euler Aerodynamic Method for Transonic Flow Simulation," AIAA paper 870040, presented at the 25th Aerospace Sciences Meeting, Reno Nevada, January 1987.
 ^ Tidd, D.M., Strash, D.J., Epstein, B., Luntz, A., Nachshon A. and Rubin T., "Application of an Efficient 3D Multigrid Euler Method (MGAERO) to Complete Aircraft Configurations," AIAA paper 913236, presented at the AIAA 9th Applied Aerodynamics Conference, Baltimore Maryland, September 1991.
 ^ Melton, J.E., Berger, M.J., Aftosmis, M.J. and Wong, M.D., "3D Application of a Cartesian Grid Euler Method," AIAA paper 950853, presented at the 33rd Aerospace Sciences Meeting and Exhibit, Reno Nevada, January 1995.
 ^ Karmna, Steve L. Jr., "SPLITFLOW: A 3D Unstructurted Cartesian Prismatic Grid CFD Code for Complex Geometries," AIAA paper 950343, presented at the 33rd Aerospace Sciences Meeting and Exhibit, Reno Nevada, January 1995.
 ^ Marshall, D., and Ruffin, S.M., " An Embedded Boundary Cartesian Grid Scheme for Viscous Flows using a New Viscous Wall Boundary Condition Treatment,” AIAA Paper 20040581, presented at the AIAA 42nd Aerospace Sciences Meeting, January 2004.
 ^ Jameson, A., Baker, T.J. and Weatherill, N.P., "Calculation of Inviscid Tramonic Flow over a Complete Aircraft," AIAA paper 860103, presented at the AIAA 24th Aerospace Sciences Meeting, Reno Nevada, January 1986.
 ^ Giles, M., Drela, M. and Thompkins, W.T. Jr., "Newton Solution of Direct and Inverse Transonic Euler Equations," AIAA paper 851530, presented at the Third Symposium on Numerical and Physical Aspects of Aerodynamic Flows, Long Beach, California, January 1985.
 ^ Drela, M. "Newton Solution of Coupled Viscous/Inviscid Multielement Airfoil Flows,", AIAA paper 901470, presented at the AIAA 21st Fluid Dynamics, Plasma Dynamics and Lasers Conference, Seattle Washington, June 1990.
 ^ Drela, M. and Youngren H., "A User's Guide to MISES 2.53", MIT Computational Sciences Laboratory, December 1998.
 ^
 ^ Surana, K.A.; Allu, S.; Tenpas, P.W.; Reddy, J.N. (February 2007). "kversion of finite element method in gas dynamics: higherorder global differentiability numerical solutions". International Journal for Numerical Methods in Engineering 69 (6): 1109–1157.
 ^ Huebner, K. H., Thornton, E. A., and Byron, T. D. (1995). The Finite Element Method for Engineers (Third ed.). Wiley Interscience.
 ^ Launder, B. E.; D. B. Spalding (1974). "The Numerical Computation of Turbulent Flows". Computer Methods in Applied Mechanics and Engineering 3 (2): 269–289.
 ^ ^{a} ^{b} Wilcox, David C. (2006). Turbulence Modeling for CFD (3 ed.). DCW Industries, Inc.
 ^ Pope, S. B. (2000). Turbulent Flows. Cambridge University Press.
 ^ Farge, Marie; Schneider, Kai (2001). "Coherent Vortex Simulation (CVS), A SemiDeterministic Turbulence Model Using Wavelets". Flow, Turbulence and Combustion 66 (4): 393–426.
 ^ Goldstein, Daniel; Vasilyev, Oleg (1995). "Stochastic coherent adaptive large eddy simulation method". Physics of Fluids A 24 (7): 2497.
 ^ Lundgren, T.S. (1969). "Model equation for nonhomogeneous turbulence". Physics of Fluids A 12 (3): 485–497.
 ^ Colucci, P. J.; Jaberi, F. A; Givi, P.; Pope, S. B. (1998). "Filtered density function for large eddy simulation of turbulent reacting flows". Physics of Fluids A 10 (2): 499–515.
 ^ Fox, Rodney (2003). Computational models for turbulent reacting flows. Cambridge University Press.
 ^ Pope, S. B. (1985). "PDF methods for turbulent reactive flows". Progress in Energy and Combustion Science 11 (2): 119–192.
 ^ Gourlay, Michael J. (July 2009). "Fluid Simulation for Video Games". Intel Software Network.
 ^ Krueger, Steven K. (1993). "Linear Eddy Simulations Of Mixing In A Homogeneous Turbulent Flow". Physics Of Fluids 5 (4): 1023.
 ^ Hirt, C.W.; Nichols, B.D. (1981). "Volume of fluid (VOF) method for the dynamics of free boundaries". Journal of Computational Physics.
 ^ Unverdi, S. O.;
 ^ Benzi, Golub, Liesen (2005). "Numerical solution of saddlepoint problems". Acta Numerica 14: 1–137.
 ^ Elman; Howle, V; Shadid, J; Shuttleworth, R; Tuminaro, R; et al. (January 2008). "A taxonomy and comparison of parallel block multilevel preconditioners for the incompressible Navier–Stokes equations". Journal of Computational Physics 227 (3): 1790–1808.
 ^ Haigh, Thomas (2006). "Bioographies" (PDF). IEEE Annals of the History of Computing.
 ^ Murman, E.M. and Cole, J.D., "Calculation of Plane Steady Transonic Flows", AIAA Journal , Vol 9, No 1, pp 114121, Jan 1971. Reprinted in AIAA Journal, Vol 41, No 7A, pp 301308, July 2003
 ^ Jameson, Antony (October 13, 2006). "Iterative solution of transonic flows over airfoils and wings, including flows at mach 1" 27 (3). Communications on Pure and Applied Mathematics. pp. 283–309.
 ^ Borland, C. J., “XTRAN3S  Transonic Steady and Unsteady Aerodynamics for Aeroelastic Applications,”AFWALTR853214, Air Force Wright Aeronautical Laboratories, WrightPatterson AFB, OH, January, 1986
References
 Advanced Simulation Library
 Blade element theory
 Central differencing scheme
 Computational magnetohydrodynamics
 Different types of boundary conditions in fluid dynamics
 Finite element analysis
 Finite volume method for unsteady flow
 Fluid simulation
 Immersed boundary method
 KIVA (Software)
 Lattice Boltzmann methods
 List of finite element software packages
 Meshfree methods
 Moving particle semiimplicit method
 Multiparticle collision dynamics
 Multidisciplinary design optimization
 Numerical methods in fluid mechanics
 Smoothedparticle hydrodynamics
 Stochastic Eulerian Lagrangian method
 Turbulence modeling
 Visualization
 Wind tunnel
 Cavitation modelling
 Shape optimization
See also
CFD made a major break through in late 70s with the introduction of LTRAN2, a 2D code to model oscillating airfoils based on transonic small perturbation theory by Ballhaus and associates.^{[58]} It uses a MurmanCole switch algorithm for modeling the moving shockwaves.^{[59]} Later it was extended to 3D with use of a rotated difference scheme by AFWAL/Boeing that resulted in LTRAN3.^{[60]}^{[61]}
Unsteady Aerodynamics
For indefinite systems, preconditioners such as incomplete LU factorization, additive Schwarz, and multigrid perform poorly or fail entirely, so the problem structure must be used for effective preconditioning.^{[56]} Methods commonly used in CFD are the SIMPLE and Uzawa algorithms which exhibit meshdependent convergence rates, but recent advances based on block LU factorization combined with multigrid for the resulting definite systems have led to preconditioners that deliver meshindependent convergence rates.^{[57]}
Multigrid has the advantage of asymptotically optimal performance on many problems. Traditional solvers and preconditioners are effective at reducing highfrequency components of the residual, but lowfrequency components typically require many iterations to reduce. By operating on multiple scales, multigrid reduces all components of the residual by similar factors, leading to a meshindependent number of iterations.
Discretization in the space produces a system of ordinary differential equations for unsteady problems and algebraic equations for steady problems. Implicit or semiimplicit methods are generally used to integrate the ordinary differential equations, producing a system of (usually) nonlinear algebraic equations. Applying a Newton or Picard iteration produces a system of linear equations which is nonsymmetric in the presence of advection and indefinite in the presence of incompressibility. Such systems, particularly in 3D, are frequently too large for direct solvers, so iterative methods are used, either stationary methods such as successive overrelaxation or Krylov subspace methods. Krylov methods such as GMRES, typically used with preconditioning, operate by minimizing the residual over successive subspaces generated by the preconditioned operator.
Solution algorithms
The modeling of twophase flow is still under development. Different methods have been proposed lately.^{[54]}^{[55]} The Volume of fluid method has received a lot of attention lately, for problems that do not have dispersed particles, but the Level set method and front tracking are also valuable approaches . Most of these methods are either good in maintaining a sharp interface or at conserving mass . This is crucial since the evaluation of the density, viscosity and surface tension is based on the values averaged over the interface. Lagrangian multiphase models, which are used for dispersed media, are based on solving the Lagrangian equation of motion for the dispersed phase.
Twophase flow
The Linear eddy model is a technique used to simulate the convective mixing that takes place in turbulent flow.^{[53]} Specifically, it provides a mathematical way to describe the interactions of a scalar variable within the vector flow field. It is primarily used in onedimensional representations of turbulent flow, since it can be applied across a wide range of length scales and Reynolds numbers. This model is generally used as a building block for more complicated flow representations, as it provides high resolution predictions that hold across a large range of flow conditions.
Linear eddy model
The vorticity confinement (VC) method is an Eulerian technique used in the simulation of turbulent wakes. It uses a solitarywave like approach to produce a stable solution with no numerical spreading. VC can capture the small scale features to within as few as 2 grid cells. Within these features, a nonlinear difference equation is solved as opposed to the finite difference equation. VC is similar to shock capturing methods, where conservation laws are satisfied, so that the essential integral quantities are accurately computed.
Vorticity confinement method
 It is practically gridfree, thus eliminating numerous iterations associated with RANS and LES.
 All problems are treated identically. No modeling or calibration inputs are required.
 Timeseries simulations, which are crucial for correct analysis of acoustics, are possible.
 The small scale and large scale are accurately simulated at the same time.
Software based on the vortex method offer a new means for solving tough fluid dynamics problems with minimal user intervention. All that is required is specification of problem geometry and setting of boundary and initial conditions. Among the significant advantages of this modern technology;
The vortex method is a gridfree technique for the simulation of turbulent flows. It uses vortices as the computational elements, mimicking the physical structures in turbulence. Vortex methods were developed as a gridfree methodology that would not be limited by the fundamental smoothing effects associated with gridbased methods. To be practical, however, vortex methods require means for rapidly computing velocities from the vortex elements – in other words they require the solution to a particular form of the Nbody problem (in which the motion of N objects is tied to their mutual influences). A breakthrough came in the late 1980s with the development of the fast multipole method (FMM), an algorithm by V. Rokhlin (Yale) and L. Greengard (Courant Institute). This breakthrough paved the way to practical computation of the velocities from the vortex elements and is the basis of successful algorithms. They are especially wellsuited to simulating filamentary motion, such as wisps of smoke, in realtime simulations such as video games, because of the fine detail achieved using minimal computation.^{[52]}
Vortex method
Probability density function (PDF) methods for turbulence, first introduced by Lundgren,^{[48]} are based on tracking the onepoint PDF of the velocity, f_{V}(\boldsymbol{v};\boldsymbol{x},t) d\boldsymbol{v}, which gives the probability of the velocity at point \boldsymbol{x} being between \boldsymbol{v} and \boldsymbol{v}+d\boldsymbol{v}. This approach is analogous to the kinetic theory of gases, in which the macroscopic properties of a gas are described by a large number of particles. PDF methods are unique in that they can be applied in the framework of a number of different turbulence models; the main differences occur in the form of the PDF transport equation. For example, in the context of large eddy simulation, the PDF becomes the filtered PDF.^{[49]} PDF methods can also be used to describe chemical reactions,^{[50]}^{[51]} and are particularly useful for simulating chemically reacting flows because the chemical source term is closed and does not require a model. The PDF is commonly tracked by using Lagrangian particle methods; when combined with large eddy simulation, this leads to a Langevin equation for subfilter particle evolution.
PDF methods
applied the FDV model to large eddy simulation, but did not assume that the wavelet filter completely eliminated all coherent motions from the subfilter scales. By employing both LES and CVS filtering, they showed that the SFS dissipation was dominated by the SFS flow field's coherent portion. [47] This decomposition is done using ^{[46]} The coherent vortex simulation approach decomposes the turbulent flow field into a coherent part, consisting of organized vortical motion, and the incoherent part, which is the random background flow.
Coherent vortex simulation
Direct numerical simulation (DNS) resolves the entire range of turbulent length scales. This marginalizes the effect of models, but is extremely expensive. The computational cost is proportional to Re^{3}.^{[45]} DNS is intractable for flows with complex geometries or flow configurations.
Direct numerical simulation
Detached eddy simulations (DES) is a modification of a RANS model in which the model switches to a subgrid scale formulation in regions fine enough for LES calculations. Regions near solid boundaries and where the turbulent length scale is less than the maximum grid dimension are assigned the RANS mode of solution. As the turbulent length scale exceeds the grid dimension, the regions are solved using the LES mode. Therefore, the grid resolution for DES is not as demanding as pure LES, thereby considerably cutting down the cost of the computation. Though DES was initially formulated for the SpalartAllmaras model (Spalart et al., 1997), it can be implemented with other RANS models (Strelets, 2001), by appropriately modifying the length scale which is explicitly or implicitly involved in the RANS model. So while SpalartAllmaras model based DES acts as LES with a wall model, DES based on other models (like two equation models) behave as a hybrid RANSLES model. Grid generation is more complicated than for a simple RANS or LES case due to the RANSLES switch. DES is a nonzonal approach and provides a single smooth velocity field across the RANS and the LES regions of the solutions.
Detached eddy simulation
Large eddy simulation (LES) is a technique in which the smallest scales of the flow are removed through a filtering operation, and their effect modeled using subgrid scale models. This allows the largest and most important scales of the turbulence to be resolved, while greatly reducing the computational cost incurred by the smallest scales. This method requires greater computational resources than RANS methods, but is far cheaper than DNS.
Large eddy simulation
 Boussinesq hypothesis
 This method involves using an algebraic equation for the Reynolds stresses which include determining the turbulent viscosity, and depending on the level of sophistication of the model, solving transport equations for determining the turbulent kinetic energy and dissipation. Models include kε (Launder and Spalding),^{[43]} Mixing Length Model (Prandtl),^{[44]} and Zero Equation Model (Cebeci and Smith).^{[44]} The models available in this approach are often referred to by the number of transport equations associated with the method. For example, the Mixing Length model is a "Zero Equation" model because no transport equations are solved; the k\epsilon is a "Two Equation" model because two transport equations (one for k and one for \epsilon) are solved.
 Reynolds stress model (RSM)
 This approach attempts to actually solve transport equations for the Reynolds stresses. This means introduction of several transport equations for all the Reynolds stresses and hence this approach is much more costly in CPU effort.
RANS models can be divided into two broad approaches:
Reynoldsaveraged NavierStokes (RANS) equations are the oldest approach to turbulence modeling. An ensemble version of the governing equations is solved, which introduces new apparent stresses known as Reynolds stresses. This adds a second order tensor of unknowns for which various models can provide different levels of closure. It is a common misconception that the RANS equations do not apply to flows with a timevarying mean flow because these equations are 'timeaveraged'. In fact, statistically unsteady (or nonstationary) flows can equally be treated. This is sometimes referred to as URANS. There is nothing inherent in Reynolds averaging to preclude this, but the turbulence models used to close the equations are valid only as long as the time over which these changes in the mean occur is large compared to the time scales of the turbulent motion containing most of the energy.
In addition to the wide range of length and time scales and the associated computational cost, the governing equations of fluid dynamics contain a nonlinear convection term and a nonlinear and nonlocal pressure gradient term. These nonlinear equations must be solved numerically with the appropriate boundary and initial conditions.
Turbulence models can be classified based on computational expense, which corresponds to the range of scales that are modeled versus resolved (the more turbulent scales that are resolved, the finer the resolution of the simulation, and therefore the higher the computational cost). If a majority or all of the turbulent scales are not modeled, the computational cost is very low, but the tradeoff comes in the form of decreased accuracy.
In computational modeling of turbulent flows, one common objective is to obtain a model that can predict quantities of interest, such as fluid velocity, for use in engineering designs of the system being modeled. For turbulent flows, the range of length scales and complexity of phenomena involved in turbulence make most modeling approaches prohibitively expensive; the resolution required to resolve all scales involved in turbulence is beyond what is computationally possible. The primary approach in such cases is to create numerical models to approximate unresolved phenomena. This section lists some commonlyused computational models for turbulent flows.
Turbulence models
Highresolution schemes are used where shocks or discontinuities are present. Capturing sharp changes in the solution requires the use of second or higherorder numerical schemes that do not introduce spurious oscillations. This usually necessitates the application of flux limiters to ensure that the solution is total variation diminishing.
Highresolution discretization schemes
In the boundary element method, the boundary occupied by the fluid is divided into a surface mesh.
Boundary element method
Spectral element method is a finite element type method. It requires the mathematical problem (the partial differential equation) to be cast in a weak formulation. This is typically done by multiplying the differential equation by an arbitrary test function and integrating over the whole domain. Purely mathematically, the test functions are completely arbitrary  they belong to an infinitely dimensional function space. Clearly an infinitely dimensional function space cannot be represented on a discrete spectral element mesh. And this is where the spectral element discretization begins. The most crucial thing is the choice of interpolating and testing functions. In a standard, low order FEM in 2D, for quadrilateral elements the most typical choice is the bilinear test or interpolating function of the form v(x,y) = ax+by+cxy+d. In a spectral element method however, the interpolating and test functions are chosen to be polynomials of a very high order (typically e.g. of the 10th order in CFD applications). This guarantees the rapid convergence of the method. Furthermore, very efficient integration procedures must be used, since the number of integrations to be performed in a numerical codes is big. Thus, high order Gauss integration quadratures are employed, since they achieve the highest accuracy with the smallest number of computations to be carried out. At the time there are some academic CFD codes based on the spectral element method and some more are currently under development, since the new timestepping schemes arise in the scientific world. You can refer to the CCFD website to see movies of incompressible flows in channels simulated with a spectral element solver or to the Numerical Mechanics (see bottom of the page) website to see a movie of the liddriven cavity flow obtained with a compeletely novel unconditionally stable timestepping scheme combined with a spectral element solver.
Spectral element method
where Q is the vector of conserved variables, and F, G, and H are the fluxes in the x, y, and z directions respectively.
 \frac{\partial Q}{\partial t}+ \frac{\partial F}{\partial x}+ \frac{\partial G}{\partial y}+ \frac{\partial H}{\partial z}=0
The finite difference method (FDM) has historical importance and is simple to program. It is currently only used in few specialized codes, which handle complex geometry with high accuracy and efficiency by using embedded boundaries or overlapping grids (with the solution interpolated across each grid).
Finite difference method
where R_i is the equation residual at an element vertex i, Q is the conservation equation expressed on an element basis, W_i is the weight factor, and V^{e} is the volume of the element.
 R_i = \iiint W_i Q \, dV^e
In this method, a weighted residual equation is formed:
The finite element method (FEM) is used in structural analysis of solids, but is also applicable to fluids. However, the FEM formulation requires special care to ensure a conservative solution. The FEM formulation has been adapted for use with fluid dynamics governing equations. Although FEM must be carefully formulated to be conservative, it is much more stable than the finite volume approach.^{[41]} However, FEM can require more memory and has slower solution times than the FVM.^{[42]}
Finite element method
where Q is the vector of conserved variables, F is the vector of fluxes (see Euler equations or Navier–Stokes equations), V is the volume of the control volume element, and \mathbf{A} is the surface area of the control volume element.
 \frac{\partial}{\partial t}\iiint Q\, dV + \iint F\, d\mathbf{A} = 0,
In the finite volume method, the governing partial differential equations (typically the NavierStokes equations, the mass and energy conservation equations, and the turbulence equations) are recast in a conservative form, and then solved over discrete control volumes. This discretization guarantees the conservation of fluxes through a particular control volume. The finite volume equation yields governing equations in the form,
The finite volume method (FVM) is a common approach used in CFD codes, as it has an advantage in memory usage and solution speed, especially for large problems, high Reynolds number turbulent flows, and source term dominated flows (like combustion).^{[40]}
Finite volume method
Some of the discretisation methods being used are:
The stability of the selected discretisation is generally established numerically rather than analytically as with simple linear problems. Special care must also be taken to ensure that the discretisation handles discontinuous solutions gracefully. The Euler equations and Navier–Stokes equations both admit shocks, and contact surfaces.
Discretization methods

During preprocessing
 The geometry (physical bounds) of the problem is defined.
 The volume occupied by the fluid is divided into discrete cells (the mesh). The mesh may be uniform or nonuniform.
 The physical modeling is defined – for example, the equations of motion + enthalpy + radiation + species conservation
 Boundary conditions are defined. This involves specifying the fluid behaviour and properties at the boundaries of the problem. For transient problems, the initial conditions are also defined.
 The simulation is started and the equations are solved iteratively as a steadystate or transient.
 Finally a postprocessor is used for the analysis and visualization of the resulting solution.
In all of these approaches the same basic procedure is followed.
Methodology
The Navier–Stokes equations were the ultimate target of development. Twodimensional codes, such as NASA Ames' ARC2D code first emerged. A number of threedimensional codes were developed (ARC3D, OVERFLOW, CFL3D are three successful NASA contributions), leading to numerous commercial packages.
In the twodimensional realm, Mark Drela and Michael Giles, then graduate students at MIT, developed the ISES Euler program^{[37]} (actually a suite of programs) for airfoil design and analysis. This code first became available in 1986 and has been further developed to design, analyze and optimize single or multielement airfoils, as the MSES program.^{[38]} MSES sees wide use throughout the world. A derivative of MSES, for the design and analysis of airfoils in a cascade, is MISES,^{[39]} developed by Harold "Guppy" Youngren while he was a graduate student at MIT.
which made use of unstructured tetrahedral grids. ^{[36]} also developed the threedimensional AIRPLANE codeAntony Jameson [35]