Skip navigation links
(WIND Documentation Home Page) (WIND User's Guide) (GMAN User's Guide) (MADCAP User's Guide) (CFPOST User's Guide) (WIND Utilities) (Common File User's Guide) (WIND Installation Guide) (WIND Developer's Reference) (Guidelines Documents)

(Introduction) (Tutorial) (Geometry and Flow Physics Modeling) (Numerical Modeling) (Boundary Conditions) (Convergence Monitoring) (Files) (Scripts) (Parallel Processing) (Keyword Reference) (Test Options)



TURBULENCE - Turbulence model selection

TURBULENCE [MODEL] model [RC | ROTATION] [F2FIX dmax] \
           [ITERATIONS iter] [zone_selector]

This keyword is used to request an inviscid or viscous solution, and to select a turbulence model for one or more zones. The parameter model must be one of the following keywords:

    INVISCID | EULER   Euler solution (scalar implicit)

LAMINAR Viscous, laminar

CEBECI [SMITH] Viscous, Cebeci-Smith algebraic model

[BALDWIN] LOMAX Viscous, Baldwin-Lomax algebraic model

PDT Viscous, combination Baldwin-Lomax and P. D. Thomas algebraic shear layer model

[BALDWIN] BARTH Viscous, Baldwin-Barth one-equation model

SPALART [ALLMARAS] Viscous, Spalart-Allmaras one-equation model. Additional keywords may be used with the Spalart-Allmaras model to specify the freestream turbulence level, and to specify use of the Spalart Detached Eddy Simulation (DES) turbulence model.

In multi-zone problems, the Spalart-Allmaras model may not be used with different turbulence models in other zones, other than the Spalart DES model. However, it may be used with inviscid or laminar flow in other zones.

SST Viscous, two-equation Shear Stress Transport model. Additional keywords specific to the SST model are available for specifying freestream values of k and omega. Another additional keyword may be used to specify use of a combined SST and Large Eddy Simulation (LES) turbulence model.

In multi-zone problems, the SST model may not be used with different turbulence models in other zones, other than the combined SST and LES model. However, it may be used with inviscid or laminar flow in other zones.

CHIEN [K-E] Viscous, Chien low-Reynolds-number two-equation model. Additional keywords specific to the Chien model are also available. When the Chien model is used for multi-zone problems, it must be used in all the zones.

Note that, with the exceptions of the Spalart, SST, and Chien models as noted above, different turbulence models, or inviscid or laminar flow, may be specified in different zones. However, you must specify a "default" turbulence model (or inviscid or laminar flow) in the input data file. WIND will stop if you do not. By "default", we mean without specifying zones.

For example, for a three-zone problem with inviscid flow in zone 1 and the Spalart-Allmaras turbulence model in zones 2 and 3, the following will not work, and the code will stop:

   TURBULENCE INVISCID ZONE 1
   TURBULENCE SPALART ZONE 2,3
Instead, one could specify the following, which will work:
   TURBULENCE INVISCID
   TURBULENCE SPALART ZONE 2,3

Additional parameters that may be used with the TURBULENCE keyword are:

    RC | ROTATION   May be used with the Spalart-Allmaras one-equation model to include a correction for system rotation and streamline curvature

F2FIX dmax May be used with the SST two-equation model to specify a maximum distance from the wall, dmax, within which the F2 term may be non-zero. Beyond that distance, the F2 term is set to zero. F2 is a blending function, designed to limit the effects of the shear stress transport term to regions near walls.

ITERATIONS iter The WIND code organizes the equations to be solved into logical "groups" that are solved together. It also allows multiple iterations of a specific group (i.e., sub-iterations) for each "iteration per cycle". (The number of iterations per cycle is set using the ITERATIONS keyword.)

For one- and two-equation turbulence models, this parameter allows the user to request iter sub-iterations of the turbulence model equation group for each "iteration per cycle". If NAVIER-STOKES ITERATIONS is defaulted, this corresponds to iter iterations of the turbulence model equations for each iteration of the mean flow equations.

The default value for iter is one, indicating that each ``iteration per cycle'' corresponds to one iteration of the turbulence model equations.

Note that for the one- and two-equation turbulence models, the turbulence model equations may be solved without simultaneously solving the Navier-Stokes equations. Of course, the turbulence variables depend on the mean flow field, so a reasonable mean flow solution must already exist.

As an example, suppose a mean flow solution has been computed using the SST turbulence model. The Chien k-epsilon variables consistent with the existing mean flow field may be computed by restarting from the SST solution, and solving just the Chien k-epsilon equations.

   ITERATIONS PER CYCLE 2 ZONE ALL
   NAVIER-STOKES ITERATIONS 0 ZONE ALL
   TURBULENCE MODEL CHIEN ITER 5 ZONE ALL

The above keywords specify that, for all zones, there will be two iterations per cycle, with no Navier-Stokes sub-iterations and five Chien model sub-iterations for each "iteration per cycle". There will thus be a total of ten iterations of the Chien k-epsilon equations in each zone prior to completing a cycle and exchanging information between zones.

See Also: ITERATIONS, NAVIER-STOKES ITERATIONS, TEST 21, TEST 67

Spalart-Allmaras Model

FREE_ANUT anutinf

The separate keyword FREE_ANUT may be used with the Spalart-Allmaras model to specify the freestream value of the eddy viscosity nut. The default value is 5.0.

See Also: TEST 21

Spalart DES Model

DES [CDES cdes] [zone_selector]

The separate keyword DES may be used with the Spalart-Allmaras model to specify use of the Spalart Detached Eddy Simulation (DES) turbulence model. It is intended to improve the results for unsteady and massively separated flows. The DES model reduces to the standard Spalart-Allmaras model near viscous walls, where the grid is refined and has a large aspect ratio, but acts like a Large Eddy Simulation (LES) model away from the boundary, where the grid is coarser and has an aspect ratio of order one.

The input parameter cdes specifies the value of the coefficient Cdes in the model. The default value is 0.65. Increasing Cdes increases the size of the region in which the DES model reduces to the standard Spalart-Allmaras model. Details may be found in papers by Spalart, et. al. [Spalart, P. R., Jou, W. H., Strelets, M., and Allmaras, S. R. (1997) "Comments on the Feasibility of LES for Wings, And on a Hybrid RANS/LES Approach," First AFOSR International Conference On DNS/LES, Aug. 4-8, 1997, Ruston, Louisiana. In Advances in DNS/LES, Liu, C., and Liu, Z., eds., Greyden Press, Columbus, Ohio] and by Shur, et. al. [Shur, M., Spalart, P. R., Strelets, M., and Travin, A. (1999) "Detached-Eddy Simulation of an Airfoil at High Angle of Attack," Fourth International Symposium on Engineering Turbulence Modeling and Measurements, May 24-26, 1999, Corsica].

The DES model may only be used for unsteady (i.e., the time step is a constant) three-dimensional flows. It is zonal, however, so you can use the DES model in time-accurate mode in one zone, while using some other model in steady-state mode in the other zones. For example, a three-zone problem could use the regular Spalart-Allmaras model with a specified CFL number in zones 1 and 2, and the DES model with a specified time step in zone 3, using the following keywords:

   TURBULENCE SPALART
   DES ZONE 3
   CFL# 1.3
   TIMESTEP SECONDS 5.0E-6 ZONE 3
This capability can accelerate the solution convergence tremendously, especially for large configurations (10 to 20 million grid points) that would be impossible to run in time-accurate mode throughout the flow field.

SST Model

FREE_K val_k
FREE_OM val_om

The separate keywords FREE_K and FREE_OM may be used with the SST model to specify freestream values of k and omega. The following options are possible:

    val_k > 0   The turbulent kinetic energy k and the specific dissipation rate omega are specified directly, with

k = val_k (ft2/sec2)
omega = val_om (1/sec)

The turbulent viscosity nut is then equal to k/omega.

val_k < 0 The turbulent kinetic energy k is set equal to val_k percent of the "reference" kinetic energy U2inf/2, where Uinf is the freestream velocity. Thus

k = 0.01 abs(val_k) (U2inf/2)

The turbulent viscosity nut is automatically set equal to 0.001 nul, where nul is the laminar viscosity, and the specific dissipation rate is computed as omega = k / nut.

val_om < 0 The specific dissipation rate omega is set equal to val_om percent of Uinf/Lref, where Uinf is the freestream velocity, and Lref is the reference length from the grid (.cgd) file. Thus

omega = 0.01 abs(val_om) (Uinf/Lref)

The turbulent viscosity nut is set to the same percentage of the laminar viscosity.

nut = 0.01 abs(val_om) (nul)

The turbulent kinetic energy is then computed as k = omega nut.

The default, and recommended, values are


omega = 10 Uinf / Lref
k = omega nut

where the freestream turbulent viscosity nut is arbitrarily set to 0.001 nul.

Note that

Inflow turbulence levels may be specified for the SST model in the ARBITRARY INFLOW keyword block. If this is done, the TURBULENCE keyword must come before the ARBITRARY INFLOW keyword block in the input data (.dat) file.

See Also: ARBITRARY INFLOW

Combined SST and LES Model

LESB [CBLES cb] [zone_selector]

The separate keyword LESB may be used with the SST model to specify use of a combined SST and Large Eddy Simulation (LES) turbulence model. The intent is to improve predictions of complex flows in a real-world engineering environment, by allowing the use of LES methods with grids typical of those used with traditional Reynolds Averaged Navier Stokes models.

The combined model reduces to the standard SST model in high mean shear regions (e.g., near viscous walls), where the grid is refined and has a large aspect ratio unsuitable for LES models. As the grid is traversed away from high mean shear regions, it typically becomes coarser and more isotropic, and the combined model smoothly transitions to an LES model.

The input parameter cb specifies the value of the coefficient CB in the model. The default value is 10.0. Increasing CB increases the size of the region in which the combined model reduces to the standard SST model.

The combined model may only be used for unsteady flows (i.e., the time step is a constant). It is zonal, however, so you can use the combined model in time-accurate mode in one zone, while using the standard SST model in steady-state mode in the other zones. For example, a three-zone problem could use the standard SST model with a specified CFL number in zones 1 and 2, and the combined model with a specified time step in zone 3, using the following keywords:

   TURBULENCE SST
   LESB ZONE 3
   CFL# 1.3
   TIMESTEP SECONDS 5.0E-6 ZONE 3
Chien k-epsilon Model

[The material in this section was originally written by Dennis Yoder of NASA Glenn Research Center.]

Several keywords may be used with the Chien k-epsilon model to control the initialization procedure, enhance its stability, and improve its accuracy in adverse pressure gradients and at high Mach numbers. For convenience, all keyword phrases associated with the Chien k-epsilon model begin with K-E.

K-E INITIALIZE [FROM] {EXISTING | EQUILIBRIUM | FREESTREAM}

This keyword determines how the turbulent transport variables for the Chien k-epsilon model (k, epsilon, mut) will be initialized.

The first method, given by the EXISTING parameter, performs an "intelligent" initialization, based on the type of turbulence model (if any) used in the previous run. This is the default.

The second method, given by the EQUILIBRIUM parameter, uses an assumption of turbulent equilibrium, namely that the production, Pi, of turbulent kinetic energy equals the rate of dissipation, together with an existing turbulent viscosity profile to initialize the k and epsilon variables.

rho epsilon = Pi / Re
rho k = sqrt (rho epsilon mut / Cmu fmu Re)

In order to use this technique, the user must first run a few thousand iterations using another eddy viscosity turbulence model. Initializing from an existing turbulent viscosity profile rather than uniform values aids somewhat in convergence and improves the stability of the model by reducing the dramatic changes in turbulence values that occur during the first few iterations after initialization.

The third method, given by the FREESTREAM parameter, initializes the turbulence variables to uniform values within each zone.

rho k = rho kinf
rho epsilon = rho epsiloninf
mut = (mut)inf

where the local density is used and the freestream conditions kinf and (mut)inf may be specified with the keywords K-E FREE_K and K-E FREE_MUT.

K-E FREE_K val1
K-E FREE_MUT val2

These keywords may be used to specify the freestream turbulence values to be used when initializing the turbulence variables to uniform values (i.e., with the K-E INITIALIZE FREESTREAM keyword). The interpretation of the input depends on the signs of val1 and val2.

For the turbulence kinetic energy kinf,

    kinf =  I2 u2inf / 2   for val1 < 0, and where |val1| = I
[kinf / a2inf]dim for val1 > 0, and where val1 = (kinf)dim (ft/sec)2

and for the turbulent viscosity (mut)inf,

    (mut)inf =  (mut)inf   for val2 < 0, and where |val2| = (mut)inf
[(mut)inf / muinf]dim for val2 > 0, and where val2 = [(mut)inf]dim (slug/ft-sec)

where the subscript dim denotes a dimensional value.

If the K-E FREE_K keyword is not used, or if val1 = 0, then a default value of val1 = -0.01 is used, which corresponds to a turbulence intensity I of 1%. If the K-E FREE_MUT keyword is not used, or if val2 = 0, then a default value of val2 = -0.001 is used. This sets the freestream turbulent viscosity to be 0.001 times the freestream laminar viscosity. Note that for values greater than zero, the expected units for val1 and val2 are (ft/s)2 and slug/ft-s, respectively.

These freestream values are only used when the k-epsilon model is initialized from uniform conditions. Currently, the model extrapolates to get values at all inflow and outflow boundaries. Thus, K-E FREE_K and K-E FREE_MUT can not be used to specify inflow conditions.

K-E REINITIALIZE

Under certain conditions, the k-epsilon information in the flow (.cfl) file can become "contaminated" and the model must be forced to reinitialize. Consider the following example. An attempt to initialize the k-epsilon model too soon results in poor k and epsilon profiles. So, the user decides to continue using another turbulence model until the flow is more well defined. When he later tries to reinitialize the k-epsilon model, he finds he has the same problem. This occurs because the .cfl file does not remove outdated information. Thus, when he specifies the k-epsilon model, the code reads the old k and epsilon information from the previous run.

Using the keyword phrase K-E REINITIALIZE signals the code to ignore the old k-epsilon information in the .cfl file and perform a fresh initialization. This command must be removed on subsequent runs or else the model will reinitialize itself each time.

K-E [TVD] ORDER {1|2|3}

This keyword sets the spatial order of accuracy of the TVD upwinding used in solving the k-epsilon equations. The default is first order.

K-E RELAX [FOR] val [ITERATIONS]

Updated values of k, epsilon, and mut will be relaxed for val iterations (the default is 500) following the initialization. Relaxation of each of these variables reduces the amount they may change during any single iteration. Immediately after initialization, the allowed changes are significantly reduced. This restriction is then gradually lifted as the last relaxation iteration is approached.

K-E [MAXIMUM] [TURBULENT] VISCOSITY val1
K-E [TURBULENT] [REFERENCE] VELOCITY val2

The k-epsilon model uses limiters within the interior of each zone to increase convergence and stability by capping the values of the turbulence quantities at both the high and low extremes. This is usually only necessary during the first few iterations after initialization, when the fluctuations in k and epsilon tend to be the most dramatic.

Nondimensional values of the minimum limiters have been preset to small numbers. The minimum turbulent viscosity is set to 0.001, kmin is set to 10-9, and epsilonmin is computed from the turbulent viscosity relation using an assumed reference density of 1, and fmu = 1.

The above keywords determine the maximum limiting values for the turbulence quantities. The first keyword sets the maximum turbulent viscosity to be val1 (the default is 10,000) times the freestream viscosity. The second keyword sets the turbulent reference velocity equal to val2 (the default is 1.0) times the freestream speed of sound. The maximum turbulent kinetic energy allowed is 10% of the kinetic energy of the turbulent reference velocity:

kmax = 0.10 u2ref(k-epsilon) / 2

The maximum dissipation rate is again computed from the turbulent viscosity relation.

The use of these limiters can be summarized as follows:

If the maximum limiters cause the turbulence variables to be capped within the flowfield, a warning message will be written to the list output (.lis) file. By using CFPOST to examine the normalized variable mut muinf, one can observe where these limiters are being used and adjust them using the above keywords. It is important that the turbulence values not be limited upon convergence.

K-E [VARIABLE] CMU {ON|OFF}

It is well known that the baseline k-epsilon model is poorly suited to adverse pressure gradient flows, such as those found in diffusers. Rodi and Scheuerer [Rodi, W., and Scheuerer, G. (1986) "Scrutinizing the k-epsilon Turbulence Model Under Adverse Pressure Gradient Conditions," Transactions of the ASME Journal of Fluids Engineering, Vol. 108, pp. 174-179] demonstrated that for these types of flows, the rate of dissipation near solid boundaries is too small relative to the rate of production of turbulent kinetic energy. This causes the model to overpredict skin friction and predict flows to be attached when experimental results show them to be separated.

The variable Cmu formulation, which is derived from algebraic stress modeling, is designed to help remedy this problem by reducing the turbulent viscosity in regions of the flowfield where the production of turbulent kinetic energy is significantly larger than the rate of dissipation. The specific formulation used is:

Cmu = min {0.09, 0.10738 (0.64286 + 0.19607 R) / [1 + 0.357 (R - 1)]2}

As the ratio R of production to dissipation increases above 1, the coefficient Cmu is reduced from its normal value of 0.09 to limit the turbulent viscosity.

The variable Cmu option also provides added stability to the k-epsilon model, such as in the case of an airfoil, where the sudden deceleration of the flow near the leading edge would otherwise result in a significant rate of production. In regions of the flow where the turbulence is in equilibrium, i.e., where the production and dissipation are balanced, the turbulent viscosity remains unchanged.

The above keyword may be used to turn this option on or off (the default is ON).

K-E COMPRESSIBILITY [CORRECTION] {NONE | OFF | SARKAR | WILCOX | \
   USER alphak Mt0}

This keyword may be used to specify a compressibility correction, designed to enhance predictions at higher Mach numbers. The equation for the compressibility correction is

F(Mt) = alphak max (M2t - M2t0, 0)

The turbulent Mach number Mt is defined from M2t = 2 k / a2, where a is the local speed of sound.

The parameters alphak and Mt0 for the various options are defined in the following table.

    Correction Type   alphak   Mt0
NONE | OFF0.00.00
SARKAR1.00.00
WILCOX1.50.25

Note that both NONE and OFF disable the compressibility correction, and that values of alphak and Mt0 should only be included when using the USER option. The default is SARKAR.

Both the Sarkar and Wilcox compressibility corrections are designed to improve the prediction of compressible jet flows by including the compressible portion of the dissipation rate in the transport equation for the turbulent kinetic energy. These corrections use simple algebraic relations between the solenoidal and compressible dissipation rates. The effect of these corrections is to reduce the turbulent kinetic energy in regions where the flow is supersonic. In terms of supersonic jet predictions, this results in slower spreading rates, reduced mixing, and a longer core length.

See Also: TEST 29, TEST 51

Using CFPOST

Care must be taken when using the CFPOST post-processing program to examine turbulence variables. Since the common flow (.cfl) file does not remove outdated information, it may contain turbulence variables for several different turbulence models.

For example, suppose an initial case was run using the SST model, then restarted using the k-epsilon model. The .cfl file will contain values for the turbulent quantities k, omega, rho k, rho epsilon, and mut. To examine the k-epsilon variables (rho k, rho epsilon), with the CFPOST variables command the user should specify the variables rho*k and rho*epsi. Specifying just k in CFPOST will give the (older) turbulent kinetic energy from the SST model, not from the k-epsilon model.

The freestream parameters kinf and einf in the .cfl file will be those for whichever model was run most recently. They should therefore not be used to normalize turbulence quantities from earlier runs that used a different turbulence model.

In addition, since all the models use a turbulent viscosity, they share the variable mut which is specified in CFPOST as mut. The values displayed for mut will be for whichever eddy viscosity model (even the Baldwin-Lomax model) was used most recently.