Skip navigation links
(Wind-US Documentation Home Page) (Wind-US User's Guide) (GMAN User's Guide) (MADCAP User's Guide) (CFPOST User's Guide) (Wind-US Utilities) (Common File User's Guide) (Wind-US Installation Guide) (Wind-US 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)

Numerical Modeling

Wind-US utilizes a number of different numerical methods in the solution of a selected set of field equations.

Iterations and Cycles

The usual method of obtaining a solution with Wind-US involves the initialization of the entire flowfield and the successive iteration of the flow solver, with appropriate boundary conditions, to a steady-state solution. Most boundary conditions are updated after each iteration of the flow solver; however, because of its expense, zone coupling takes place less frequently. Zone coupling is the process whereby Wind-US exchanges flowfield information between zones to maintain solution continuity at zonal interfaces. Updates of the flow file with the most current data also take place less frequently.

To facilitate flow file updates and propagation of flowfield information to neighboring zones, Wind-US defines a "cycle" as a specific number of iterations performed in each of the zones, with zone coupling to effect information transfer at the end of each cycle. You must specify the number of solution cycles to be computed, and you may optionally specify the number of iterations per cycle to be calculated in each zone (or all zones simultaneously). By default, Wind-US performs five iterations per cycle in each structured zone, and one iteration per cycle in each unstructured zone.

For single-zone problems, you may wish to specify a large number of iterations per cycle, because there is no need for zone coupling operations; however, note that the flow file will be updated less frequently in this case. For multi-zone problems, a large number of iterations per cycle is not recommended, because it will greatly hinder the transfer of flowfield information between zones and, therefore, convergence.

"Turning Off" Zones

To "turn off" a zone in a multi-zone calculation, simply specify 0 or fewer iterations per cycle for that zone; values of −1 and −2 are used to indicate how zone coupling is to be handled for zones adjacent to the "dead" zone.


Grid Considerations

Wind-US provides capabilities which allow you to make the most efficient use of the computational grid for a given configuration. The options described in this section will significantly reduce the CPU time required. However, the accuracy of the computations in one or more grid directions is also reduced, and they should therefore not be used haphazardly.

These options are only available for structured grids.

Grid Sequencing

Grid sequencing is a capability whereby Wind-US "removes" grid points from selected portions of the domain, resulting in a "coarse grid" solution which is obtained in a fraction of the time it would have taken for a "full grid" solution. For example, if you select one level of sequencing in all three directions in a particular zone, only every other grid point in each of the i-, j-, and k-directions will be used in the calculations, resulting in a decrease in CPU time of approximately 80-90%. (The speed-up is not a linear function of the number of sequencing levels.) Selecting two levels of sequencing would repeat the process, causing only every fourth grid point to be used. At the end of each run, the solution is interpolated back onto the entire grid to aid in restarting the solution and to provide a continuous field for post-processing.

Grid sequencing is very useful for converging gross flowfield properties before obtaining a final solution on the full grid. Note, however, that a sequenced solution may seem incorrect when post-processed using the entire computational grid, because of the interpolation process used at the end of each run. In addition, most turbulence models exhibit some level of sensitivity to the effective near wall spacing (y+) and the number of points in the boundary layer on the sequenced grid. When restarting a full-grid solution from a sequenced solution, reducing the CFL number (time step) by 50% is highly recommended, in order to reduce the risk of solution instabilities which arise during the transition.

Keywords: CFL#, SEQUENCE

Thin-Shear-Layer Calculations

Another time-saving option available in Wind-US is the ability to solve the thin-shear-layer Navier-Stokes equations, instead of the full equations. By requesting that Wind-US remove the viscous terms from the equations in one or more computational directions, a CPU savings of up to 30% may be realized. This capability requires careful specification, because viscous terms must be retained along grid lines which are perpendicular to boundary layers, free shear layers, and other highly viscous flow features.

Because some solution instabilities have been linked to the use of the thin-shear-layer option, it is recommended that you disable this option near the completion (convergence) of your solution, creating a fully viscous flowfield model.


Explicit Operator

The first-derivative (non-viscous) terms on the right-hand side of Wind-US's equation set are calculated by the code's explicit operator. You may choose from a wide variety of explicit operators, independently of the implicit (left-hand-side) operator. An explicit operator is selected by its type and accuracy.

For structured grids, the explicit operators available include a central difference operator, the upwind Coakley, Roe, Van Leer, HLLE, HLLC, and Rusanov schemes, plus modified versions of all these schemes (except Coakley) for stretched grids. Depending on the type of scheme used, the accuracy may be specified as anywhere from first- to fifth-order. The default is Roe's second-order upwind-biased flux-difference splitting algorithm, modified for stretched grids.

For unstructured grids, only the cell-centered Roe, HLLE, HLLC, and Rusanov operators are available. The accuracy may be first- or second-order.

Keywords: RHS

Explicit Smoothing

Certain types of explicit operators - for example, the central difference operator for structured grids - may require the addition of numerical smoothing in order to dampen instabilities which are a natural part of the scheme. Smoothing must also be added explicitly when utilizing Wind-US's convergence acceleration capability. Values for various smoothing parameters may be specified in the input data file for both structured and unstructured grids.


Explicit Boundary Damping

In flowfields dominated by acoustic phenomena, unwanted wave reflections may sometimes occur at freestream computational boundaries. To eliminate these unphysical reflections, Wind-US's boundary damping capability may be employed with structured grids to apply explicit smoothing near the freestream boundaries, with the effect of absorbing the reflected waves.


Total-Variation-Diminishing (TVD) and Slope Limiting

Various Total-Variation-Diminishing (TVD) limiters (for structured grids) and slope limiters (for unstructured grids) are available in Wind-US.

For structured grids, the TVD scheme limits local maxima and minima in flux quantities to prevent non-physical instabilities from arising during the solution. The default Roe scheme, for example, requires interpolation and/or extrapolation of flux quantities, which may produce minima or maxima that are outside the range of the original data. TVD operators attempt to limit these peaks to acceptable values based on the data used in the interpolation and extrapolation.

Three different TVD operators are available in Wind-US for structured grids, and may be specified on a zonal basis. For two of the operators, the severity of the limiting may be controlled through an input parameter.

Because only single data points are used in the first-order schemes, TVD, which limits interpolations and extrapolations, has no effect on such cases. It will only have an effect for second- and higher-order calculations. When attempting to model precise phenomena, such as acoustic waves, TVD should not be used, because it may produce undesirable damping or smearing of flowfield features. However, in most cases, TVD provides significant protection against numerical instabilities with less than a 10% increase in CPU time.

For unstructured grids, slope limiting is used by default for viscous cases, and for inviscid cases with second-order spatial differencing. Three procedures are available, the default standard slope limiter, a "super-bee" slope limiter, and Venkatakrishnan slope limiting. The severity of the limiting may be controlled through an input parameter.


Implicit Operator

The left-hand side of Wind-US's equation set is computed in the code's implicit operator, which may be set on a zonal basis.

For structured grids, options are available to select scalar or full block implicit operators, or to turn off the implicit operator completely for an entirely explicit calculation. With these options, a different implicit operator may be specified for each computational direction. By default, Wind-US uses the full block operator in viscous directions, and the scalar (diagonalized) matrix solver in inviscid directions.

A variety of other implicit operators are also available for structured grids, including point Jacobi, Gauss-Seidel, MacCormack's modified approximate factorization, and the ARC3D 3-factor diagonal scheme as used in the OVERFLOW code.

For unstructured grids, either a point or line Gauss-Seidel operator may be used, and the equations may be solved as either a full block or diagonal matrix system.

Keywords: IMPLICIT

Implicit Boundaries

In addition to the normal explicit boundary conditions, implicit boundary conditions may be used on "wall" boundaries in structured grids. These improve stability when the CFL number is above about 1.3.


Time Step

The time step can be one of the most important parameters in a Wind-US solution. It may mean the difference between a successful run and a code bomb. For steady flow problems, the time step is represented by the CFL (Courant-Friedrichs-Lewy) number, which is a non-dimensional time step based on the actual time step, the local grid spacing, and the local characteristic velocity (u + c). For unsteady flow problems, the time step in seconds must be specified directly.

CFL Number, Structured Grids

For stability reasons, the default CFL number is 1.3, which is sufficient for a wide variety of problems using structured grids. For inviscid solutions, the value may be raised slightly, while for highly complex flows (due to complex geometry or gas models), it may need to be lowered significantly. Often, in the beginning of a solution, or during the transition between a sequenced and fine grid solution, the CFL number should be set to 0.5 while transients settle out of the flowfield.

If you must consistently set the CFL number to 0.1 or lower to maintain stability in the solution, you should attempt to locate other possible causes of numerical instability, such as grid anomalies or grid/flow interactions. Such low CFL numbers translate into small time steps and unacceptable convergence rates.

When a CFL number above 1.3 is desired, the implicit boundary conditions should be used.

By default, Wind-US computes the time step from the input CFL number by using the minimum time step associated with the eigenvalues of each coordinate direction individually. That is:

dt = min ( CFL/λx, CFL/λy, CFL/λz )

Using TEST 105, the user may define the time step in various other ways, including the more conventional formula

dt = CFL / ( λx + λy + λz )

which provides a somewhat smaller effective time step.

Options in Wind-US allow the CFL number or time step to be gradually increased as the calculation proceeds, or to use the time step calculation procedure from the OVERFLOW CFD code.

For most calculations, the time step is computed based on a constant CFL throughout the field, which means that, for non-uniform grids, a local time step is used, and the solution advances at different rates in different parts of the grid. Because the CFL number is directly proportional to the physical time step and inversely proportional to the local grid spacing, the physical time step must be small where the grid spacing is small, in order to maintain a constant CFL number. For example, in boundary layers and shear layers, where the grid is often closely packed for better resolution, the solution advances more slowly than in other parts of the flowfield. In fact, most of the iterations in a viscous solution are spent converging viscous regions. In practice, the major flow features (e.g., shocks and other major pressure gradients) will develop quickly, while detailed flow phenomena will require a larger number of iterations.

Wind-US therefore uses by default a "cross-flow" CFL number which multiplies each coordinate direction's eigenvalues by a factor before determining the time step associated with that spacing and flow conditions. This factor varies from 1.0 when the flow is along the coordinate direction, to a user-specified value when the flow is perpendicular to the coordinate direction. The far-field CFL number is generally the value specified in the input data file with the CFL# keyword, but near the wall the code effectively uses a larger value. This should increase convergence of the boundary layer.

The cross-flow CFL factor is defined using the CROSSFLOW keyword. Values greater than one effectively increase the time step in the boundary layer (where the flow is parallel to the wall, but the minimum spacing is normal to the wall) by the specified factor. The default is 2.0 for three-dimensional flow, and 1.0 (i.e., no time step increase in the boundary layer) for two-dimensional flow and axisymmetric flow.


CFL Number, Unstructured Grids

With unstructured grids in Wind-US, a larger CFL number is normally used than for structured grids. The default CFL number for unstructured grids is 10, and values as high as 50 may be used as the calculation proceeds.

Wind-US computes a local time step for each cell from the input CFL number by using the minimum time step associated with the eigenvalues at each face of the cell. That is:

dt = min ( CFL/λf1, CFL/λf2, ... )

Options in Wind-US allow the CFL number to be automatically increased or decreased as the calculation proceeds.

Keywords: CFL#

Runge-Kutta Time Step

For structured grids, several Runge-Kutta time step formulations are available for use in Wind-US. These include a simple two-stage scheme, a traditional four-stage Jameson-type scheme, or several minimal-storage schemes. One may specify which algorithm to use in the input data file and optionally specify algorithm coefficients for each of the stages.

Runge-Kutta schemes attempt to provide a more accurate approximation to the solution at the next time level by advancing through several stages, or sub-iterations, to get there. In Wind-US, each sub-iteration may be one pass through the explicit operator with or without a pass through the implicit operator. (The original Runge-Kutta scheme was formulated using only an explicit operator.) Depending on the coefficients used, Runge-Kutta time step algorithms are often higher order in time than the default Euler time stepping algorithm. This makes them ideally suited for time-accurate calculations (see below).

Keywords: STAGES

Time-Accurate Solutions

The objective of time-accurate CFD calculations is the modeling of unsteady flow phenomena, such as vortex pairing or bluff body wakes. In unsteady calculations, a global physical time step must be used throughout the entire flowfield, regardless of the local grid distribution. Because the CFL number has a limit which approximates the upper limit of numerical stability, the global time step must be obtained from the maximum CFL number and the smallest grid spacing in the field. Thus, the stability of the calculations in regions of dense grid packing determines the time step for the entire flowfield.

The options specified with the CFL# keyword determine whether the input value is interpreted as a CFL number, or a physical time step. For single-zone time-accurate calculations with a structured grid, an option is also available to set a global time step, equal to the minimum time step in the zone based on the specified CFL number. However, for multi-zone time-accurate calculations, you must calculate the time step yourself, based on the desired CFL number and the minimum grid spacing, and specify the physical time step in the input data file.

For unsteady flows, the use of second-order time marching is recommended, possibly in combination with Global Newton iteration.


Global Newton Iteration

A Global Newton iteration technique is available in Wind-US for both structured and unstructured grids, and has proven to provide time-accurate solutions with large CFL numbers for unsteady flows with large time scales. [Tramel, R. W., and Nichols, R. H. (1997) "A Highly-Efficient Numerical Method for Overset-Mesh Moving-Body Problems," AIAA Paper 97-2040.] The Global Newton technique stabilizes the solution and improves time accuracy by placing the entire unsteady transport equations on the right-hand side of the matrix solver, and iterating within a time step over all the zones. Thus, the interface boundaries are brought up to the new time level, along with the interior flowfield, resulting in an essentially implicit treatment of the boundaries. The Global Newton algorithm has also been shown to improve steady-state convergence rates.[Nichols, R. H. and Tramel, R. W. (1997) "Application of a Highly Efficient Numerical Method for Overset-Mesh Moving Body Problems," AIAA Paper 97-2255.]


Convergence Acceleration

The solution transients that occur in iterating from the freestream-initialized flowfield often cause the most severe stability problems in Wind-US. As the solution approaches convergence on a sequenced grid, most of these transients will have settled out of the field, with the change to fine grid being the only remaining "jolt" to the solution. Numerical stability may be forced through the addition of artificial numerical dissipation to the equations, but such dissipation may lead to non-physical results in the steady state solution.

The convergence acceleration capability in Wind-US allows the use of a large CFL number at the start of a calculation, with artificial dissipation used to eliminate stability problems, to get past the starting transients more quickly. The CFL number and the dissipation are then lowered as the calculation proceeds.

For structured grids, you may specify the starting and ending values of the CFL number, the initial amount of artificial dissipation (smoothing) to be added to the equations, the iteration numbers between which the smoothing should be applied and CFL number altered, and the zone(s) in which you would like to enable this capability. At the beginning of the solution, a relatively high CFL number will be accompanied by significant numerical smoothing. As the iteration count approaches the specified ending value, the CFL number will be gradually adjusted toward its final value as the amount of smoothing is steadily decreased. Details, as well as recommended values for the smoothing coefficients, are presented with the ACCELERATE keyword description.

For unstructured grids, only the CFL number variation and the zone are specified with the ACCELERATE keyword. No variation in smoothing is done; the same amount of smoothing is used for all iterations, as specified using the LAX DAMPING and TVD keywords. To reduce the amount of smoothing after the initial stages of the calculation, you must restart the solution with less dissipative smoothing values.


Last updated 30 Sep 2016