skip to content

NASA Logo

Langley Research Center

Turbulence Modeling Resource


 

Return to: 2D Airfoil Near-Wake Verification Case (20c) Intro Page

Return to: Turbulence Modeling Resource Home Page


 

SSTm Expected Results - 2D Airfoil Near-Wake (20c farfield extent)

Previously on this page the results were reported as SST solutions, but more properly they should be referred to as SSTm.

Note: the results on this page are no longer "official" because the farfield grid extent of only 20c was considered too small for verification purposes. The "official" SSTm results page with farfield extent of 500c is now at: New official SSTm results page for VERIF/2DANW. However, other than minor shifts in the forces, most results are still essentially the same.

Results are shown here from 2 compressible codes so that the user may compare their own compressible code results. Multiple grids were used so the user can see trends with grid refinement. Different codes will behave differently with grid refinement depending on many factors (including code order of accuracy and other numerics), but it would be expected that as the grid is refined the results will tend toward an "infinite grid" solution that is the same. Be careful when comparing details: any differences in boundary conditions or flow conditions may affect results.

Two independent compressible RANS codes, CFL3D and FUN3D, were used to compute this 2-D airfoil near-wake case with the Menter shear stress transport model (version SSTm - see full description on Menter Shear Stress Transport page). The full series of 5 grids were used. CFL3D is a cell-centered structured-grid code, and FUN3D is a node-centered unstructured-grid code (FUN3D can solve on mixed element grids, so this case was computed on the same hexahedral grid used by CFL3D). Both codes used Roe's Flux Difference Splitting and a UMUSCL upwind approach. In CFL3D its standard UMUSCL (kappa=0.33333) scheme was used, whereas in FUN3D the option UMUSCL 0.5 was used. Both codes were run with full Navier-Stokes (as opposed to thin-layer, which is CFL3D's default mode of operation), and both codes used first-order upwinding for the advective terms of the turbulence model. Details about the codes can be found on their respective websites, the links for which are given on this site's home page. The codes were not run to machine-zero iterative convergence, but an attempt was made to converge sufficiently so that results of interest were well within normal engineering tolerance and plotting accuracy. For example, for CFL3D the density residual was typically driven down below 10-11. It should be kept in mind that many of the files given below contain computed values directly from the codes, using a precision greater than the convergence tolerance (i.e., the values in the files are not necessarily as precise as the number of digits given).

Note that in both CFL3D and FUN3D, the production term

P = \tau_{ij}\frac{\partial u_i}{\partial x_j}
is approximated by
P = 2 \mu_t S_{ij}S_{ij}
which is exact for incompressible flow. For this particular low-speed flow, the approximation is very accurate. (Previously on this page the results were reported as SST solutions, but more properly they should be referred to as SSTm because of this approximation and the fact that the (2/3) \overline \rho k \delta_{ij} term is ignored in tau_ij in the momentum and energy equations.)

For the CFL3D and FUN3D tests reported below, the turbulent inflow boundary conditions used for SSTm were the following:

k_{farfield} = 9 \times 10^{-9} a_{\infty}^2
\omega_{farfield} = 1 \times 10^{-6} \frac{\rho_{\infty}a_{\infty}^2}{\mu_{\infty}}

The above two equations represent the "standard" SSTm boundary condition values used by both CFL3D and FUN3D, chosen to achieve a not-too-low level of freestream turbulent kinetic energy, a not-too-severe rate of freestream turbulence decay, and a reasonable level of freestream turbulent eddy viscosity of \mu_t/\mu_{\infty} = 0.009.

For the interested reader, typical input files for this problem are given here:

CFL3D V6.6:

FUN3D:

The following plots show the airfoil lift coefficient, drag coefficient, pressure drag coefficient, and viscous drag coefficient. In the plot the x-axis is plotting 1/N1/2, which is proportional to grid spacing (h). At the left of the plot, h=0 represents an infinitely fine grid. Both codes go toward approximately the same integrated result on an infinitely refined grid.

convergence of CL vs h

convergence of CD vs h

convergence of CDp vs h

convergence of CDv vs h

Using the uncertainty estimation procedure from the Fluids Engineering Division of the ASME (Celik, I. B., Ghia, U., Roache, P. J., Freitas, C. J., Coleman, H., Raad, P. E., "Procedure for Estimation and Reporting of Uncertainty Due to Discretization in CFD Applications," Journal of Fluids Engineering, Vol. 130, July 2008, 078001, https://doi.org/10.1115/1.2960953), described in Summary of Uncertainty Procedure, the finest 3 grids yield the following:

Code Computed apparent order, p Approx rel fine-grid error, ea21 Extrap rel fine-grid error, eext21 Fine-grid convergence index, GCIfine21
CL
CFL3D 0.88 0.508% 0.653% 0.811%
FUN3D 2.11 0.030% 0.009% 0.011%
CD
CFL3D negative 0.185% N/A N/A
FUN3D oscillatory 0.028% N/A N/A
CD,p
CFL3D 3.54 0.355% 0.033% 5.614%
FUN3D 3.26 0.895% 0.105% 11.820%
CD,v
CFL3D 1.53 0.289% 0.153% 0.192%
FUN3D 1.77 0.205% 0.085% 0.106%

The data file that generated the above plots is given here: force_convergence_sst.dat.

The following plot shows the u-velocity in the wake on the finest grid at various locations downstream of the airfoil trailing edge. It gives an overview of all velocity profiles, with experiment shown for reference only. The two codes CFL3D and FUN3D agree to within plotting accuracy.

u-velocity profiles in wake on finest grid

The data file that generated the CFD results in above plot is given here: vel_data_C+F_sst.dat. The experimental data can be found on the 2DANW: 2D Airfoil Near-Wake (20c) page. Using the CFD wake profiles for all grid levels, the following plots show convergence of the minimum u-velocity in the wake at particular x-stations as a function of grid density. Again, the two codes approach approximately the same results as the grid is uniformly refined.

convergence of min u-velocity in 
    wake at x/c=1.01 vs h

convergence of min u-velocity in 
    wake at x/c=1.05 vs h

convergence of min u-velocity in 
    wake at x/c=1.20 vs h

convergence of min u-velocity in 
    wake at x/c=1.40 vs h

convergence of min u-velocity in 
    wake at x/c=1.80 vs h

convergence of min u-velocity in 
    wake at x/c=2.19 vs h

convergence of min u-velocity in 
    wake at x/c=3.00 vs h

The data file that generated the above plots is given here: velmin_convergence_sst.dat.

The following plot shows the turbulent shear stress in the wake on the finest grid at various locations downstream of the airfoil trailing edge. It gives an overview of all u'v' profiles, with experiment shown for reference only. The two codes CFL3D and FUN3D agree to within plotting accuracy.

u'v' profiles in wake on finest grid

The data file that generated the CFD results in above plot is given here: upvp_data_C+F_sst.dat. The experimental data can be found on the 2DANW: 2D Airfoil Near-Wake (20c) page. Using the CFD wake profiles for all grid levels, the following plots show convergence of the minimum u'v' in the wake at particular x-stations as a function of grid density. The two codes approach approximately the same results as the grid is uniformly refined.

convergence of min u'v' in 
    wake at x/c=1.01 vs h

convergence of min u'v' in 
    wake at x/c=1.05 vs h

convergence of min u'v' in 
    wake at x/c=1.20 vs h

convergence of min u'v' in 
    wake at x/c=1.40 vs h

convergence of min u'v' in 
    wake at x/c=1.80 vs h

convergence of min u'v' in 
    wake at x/c=2.19 vs h

convergence of min u'v' in 
    wake at x/c=3.00 vs h

The data file that generated the above plots is given here: upvpmin_convergence_sst.dat.

The surface pressure coefficient and skin friction coefficient from both codes on the finest 2241 x 385 grid are shown in the next two plots. There is some non-smooth behavior as a result of non-smoothness in the airfoil shape, particularly near the airfoil leading edge (as defined by the existing grids). However, the two codes are using identical grids, and agree well with each other on the finest grid.

surface pressure coefficient over the airfoil

surface skin friction coefficient over the airfoil

The data files that generated the above plot are given here: cp_airfoilwakecase_sst.dat, cf_airfoilwakecase_sst.dat.

The nondimensional k and omega contours from the two codes on the finest 2241 x 385 grid are shown in the following plots. They are essentially indistinguishable. (Note legends do not necessarily reflect min and max values.)

k contours for CFL3D k contours for FUN3D

k contours for CFL3D k contours for FUN3D

The data files that generated the above plots are given here: k_contours_cfl3d_sst.dat.gz (15.7 MB) (structured, at cell centers), omega_contours_cfl3d_sst.dat.gz (15.7 MB) (structured, at cell centers), k_contours_fun3d_sst.dat.gz (21.8 MB) (unstructured, at grid points), and omega_contours_fun3d_sst.dat.gz (21.9 MB) (unstructured, at grid points). Note that these are all gzipped Tecplot formatted files, so you must either have Tecplot or know how to read their format in order to use these files.

The SST model relies on the minimum distance to the nearest wall. For this case, contours of this function are shown in the following plot, for the finest grid. Note that behind the airfoil, the distance is measured to the nearest wall (on the airfoil), and not to the wake line.

minimum distance function

The data file that generated the above plot is given in airfoil_mindist.dat.gz (gzipped file, 21.9 MB, unstructured, at grid points). Note that this is a gzipped Tecplot formatted file, so you must either have Tecplot or know how to read their format in order to use it. It is important to note that computing minimum distance by searching along grid lines is incorrect, and is not the same as computing actual minimum distance to the nearest wall for this grid. Using the former method will yield differences in the results. The following sketches demonstrate the concept of minimum distance. Improperly-calculated minimum distance functions will particularly produce incorrect results for cases in which the grid lines are not perfectly normal to the body surface. Note that when the nearest wall point is a sharp convex corner or edge (like an airfoil or wing trailing edge) then the correct minimum distance is the distance to that corner or edge, which is not a wall normal.

sketch 1 demonstrating the concept of minimum distance function sketch 2 demonstrating the concept of minimum distance function

Note for users of OpenFOAM.
 
 

Return to: 2D Airfoil Near-Wake Verification Case (20c) Intro Page

Return to: Turbulence Modeling Resource Home Page


 
 


Privacy Act Statement

Accessibility Statement

Responsible NASA Official: Ethan Vogel
Page Curator: Clark Pederson
Last Updated: 03/11/2025