(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)
Wind-US 1.0 --> Wind-US 2.0 Changes
Many of the changes from Wind-US 1.0 to 2.0 are related to unstructured
grids.
The unstructured solver has been completely re-written, and more closely
integrated with other Wind-US routines.
As a result, there are more routines and features that apply to both the
structured and unstructured solvers.
Other areas of emphasis in this update are multi-species flows,
reliability, and maintainability.
The changes in Wind-US, and in the associated tools and utilities, are
described in more detail in the following sections.
Changes between previous releases are also available, as follows:
Wind-US Code
The following changes have been made to Wind-US.
A number in parentheses following the description (e.g., 2.83) is the
specific IVMS version in which the change was introduced.
Keywords
The following keywords have been added, modified, or deleted.
For more information, see the more detailed list of changes below, or
the Keyword Reference section in
the Wind-US User's Guide
- New keywords:
DETACHED-PRNS,
ENTHALPY-PRESERVING,
EXTRAPOLATE,
FIXED_CL,
GRADIENTS,
LAX DAMPING,
MDES,
PRNS,
SOLVER-STAGES,
TEMPORAL,
WRITE
- Modified keywords:
ACTUATOR,
ARBITRARY INFLOW,
BLEED,
CFL#,
CHEMISTRY,
DQ LIMITER,
ENTROPY FIX,
FIXER,
GRAVITY,
HISTORY,
HYBRID,
IMPLICIT,
MAX_WALL_DISTANCE,
MFD,
MOVING WALL,
PRECOND,
REINITIALIZE,
RHS,
ROLL,
ROTATE,
SCHMIDT,
SMOOTHING,
SPAWN,
TURBULENCE,
TVD,
WALL TEMPERATURE
- Deleted keywords: TIMEMARCHING.
Non-Backward Compatibility
A few changes are not backward-compatible.
I.e., some input data (.dat) files and multi-processing control
(.mpc) files used with Wind-US 1.0 may need to be changed for use
with Wind-US 2.0.
The known non-backward-compatible changes are listed briefly below, and
in more detail in the following sections.
- The syntax and default for the
MAX_WALL_DISTANCE
keyword has changed.
The new default is intentionally very large so that there will be
essentially no chance that the cap on the distance from the wall
will corrupt turbulent flow simulations.
However, it may result in a very significant increase in
computational time required at startup for flow problems with many
zones and large numbers of grid points.
See the keyword
description for details, and options for minimizing the time
required.
- The modifier CELLCENTERED in the
RHS keyword has
been eliminated.
- The choice between a local or global time step is determined by the
CFL# keyword for
unstructured grids, as well as structured grids, and the
TIMEMARCHING keyword has been deleted.
- Grid spacing in the ζ direction is now used when computing the
time step for axisymmetric cases. The default
CROSSFLOW CFL
factor was changed from 1.0 to 2.0.
User's will likely notice an increase in effective time step,
so the resulting residuals and convergence characteristics may
be different.
- The entropy fix
for the Roe scheme is now on by default.
- The PRECOND
keyword syntax has changed.
- The REINITIALIZE
keyword syntax has changed.
- The sense of DEBUG
option 34 has been reversed.
- Debug options 4, 11-14, 18-21, and 23 have meanings unrelated to
their usage in Wind-US 1.0.
- The syntax used in the
CHEMISTRY
keyword block has changed.
- All angular rotation rates are now specified in degrees/sec.
- The default for the
packing mode
used when transferring data between the master and workers has
changed.
Code Structure
- Fortran 90 features are much more widely used.
- The following new source subdirectories are in the build
distribution: bc (boundary condition routines), grid
(grid movement routines), inflow (unsteady pseudo-turbulent
inflow routines), mphase (multi-phase flow routines),
unstruct (unstructured grid routines).
The routines in the grid subdirectory are place-holders for
future enhancements, and the multi-phase capability is not yet
fully operational.
- The source subdirectory hybrid has been eliminated.
Numerics
- Newton iteration and second-order time differencing.
- Now available for both structured and unstructured grids. (2.10)
- A new TEMPORAL
keyword block is used for specification of Newton iteration
and second-order time differencing.
The NEWTON
and IMPLICIT ORDER
keywords still exist, but are deprecated. (2.99)
- Data at extra time levels required for Newton interation and
second-order time differencing may now be stored in either the
.cfl file, or in a separate file (the .cft file)
that's linked to the .cfl file. (2.105)
- For the RHS keyword
with unstructured grids,
- The "order" is now optional, with a default of SECOND.
(2.112)
- The modifier CELLCENTERED, which was required in
Wind-US 1.0, is no longer allowed.
This is a non-backward-compatible change. (2.112)
- The RHS keyword itself is now optional; if it's
absent, the second-order HLLE scheme is used.
- The HLLC explicit operator has been added as one of the choices with
the RHS keyword.
{2.209)
- The CFL# keyword
for unstructured grids now uses the same syntax as for structured
grids, and the TIMEMARCHING keyword has been eliminated.
This is a non-backward-compatible change. (2.79, 2.112)
- IMPLICIT
keyword with unstructured grids.
- IMPLICIT NONE now applies to both structured and
unstructured grids.
- IMPLICIT UGAUSS has a new option,
VISCOUS_JACOBIAN, to specify use of either a full or
scalar (diagonal approximate) viscous Jacobian. (2.127)
- The JACOBIAN option now has no effect; JACOBIAN
PER FACE is always set.
- The SAVE_JACOBIAN option also has no effect; the
default is to save the Jacobian(s), and there currently is no
way to not save them.
- The TVD keyword
now applies to both structured and unstructured grids.
For unstructured grids it specifies the slope limiting
procedure. (2.99, 2.186)
- The new keyword LAX
DAMPING specifies scalar dissipation parameters for the
explicit differencing scheme for unstructured grids. (2.99)
- The keyword DQ
LIMITER for unstructured grids has been modified so that
OFF really means "off".
No default limiting is applied. (2.69)
- The FIXER
keyword may now be used with both structured and unstructured
grids.
For unstructured grids it allows user control of the averaging
scheme used when pressure, density, or energy falls outside
specified bounds. (2.69, 2.112)
- The ENTROPY
FIX keyword now applies to both structured and
unstructured grids, and the default has been changed from
OFF to ON.
This is a non-backward-compatible change. (2.28, 2.105)
- The PRECOND
keyword syntax has changed, and must now be specified as
PRECOND HYPERCOMP.
This is a non-backward-compatible change.
- The new keyword ENTHALPY-PRESERVING
specifies use of an enthalpy-preserving scheme for unstructured
grids. (2.99)
- The new keyword GRADIENTS
specifies the gradient computation procedure for unstructured
grids. (2.99, 2.171)
- For unstructured grids, the SMOOTHING
keyword is now used only to specify starting values for flux
dissipation and slope limiting parameters that are used when
CONVERGE LOAD
is used, and the default values have been fixed. (2.108)
- Grid spacing in the ζ direction is now used when computing the
time step for axisymmetric cases. The default
CROSSFLOW CFL
factor was changed from 1.0 to 2.0.
User's will likely notice an increase in effective time step,
so the resulting residuals and convergence characteristics may
be different. (2.185)
- The sense of DEBUG
option 34 has been reversed.
This is a non-backward-compatible change. (2.195)
Turbulence Modeling
- The SST turbulence model is now available for both structured and
unstructured grids. (2.10)
- The wall distance calculation for turbulence models is now
global, not zonal, and the values are saved in the .tda
file. (2.28)
- The ITERATIONS option with the
TURBULENCE
keyword now applies to both structured and unstructured grids.
- The MAX_WALL_DISTANCE
keyword may now be used with both structured and unstructured
grids, and applies to the Spalart-Allmaras, k-ε, and
SST models.
In addition, new options have been added, and the syntax and
default have changed.
This is a non-backward-compatible change.
- The Nichols/Nelson
hybrid RANS/LES turbulence model may now be used with both
structured and unstructured grids. (2.195)
- The Spalart
DES model, and the
SST
model with the ε limiter, can now be used with
both structured and unstructured grids.
- Freestream eddy viscosity (i.e.,
FREE_ANUT)
can now be specified with the Goldberg model.
- The new PRNS
keyword specifies use of the PRNS (Partially Resolved Numerical
Simulation) model when the Spalart-Allmaras or SST turbulence model
is used with unstructured grids. (2.138)
- The new DETACHED-PRNS
keyword specifies use of the Detached PRNS model when
the Spalart-Allmaras model is used with unstructured
grids. (2.146)
- The new MDES
keyword specifies use of Shih's modified version of the DES model
when the Spalart-Allmaras model is used. (2.146)
Boundary Conditions
- Most boundary condition routines have been re-written for use with
both structured and unstructured grids. (2.68, 2.69)
- A CYLINDRICAL option was added to the
DIRECTION
keyword in the ARBITRARY INFLOW block, to specify the
angles in cylindrical coordinates. (2.161)
- The maximum number of perturbations to the inflow conditions that may
be specified for unsteady arbitrary inflow conditions (the
UNSTEADY
keyword in the ARBITRARY INFLOW block) has been increased
from 3 to 10. (2.95)
- The new keyword TURBULENT
in the ARBITRARY INFLOW block allows specification of an
unsteady pseudo-turbulent inflow boundary condition. (2.8)
- In the ARBITRARY INFLOW block,
total
conditions may now be specified for real gases with structured
grids. (2.23)
- HOLD_TOTALS
may now be used at inflow boundaries in multi-species flows with
structured grids. (2.5)
- The new EXTRAPOLATE
keyword may be used to set the extrapolation order used for
boundary conditions at freestream and arbitrary inflow boundaries.
The default used to be first-order, and is now zeroth-order.
(2.178)
- A new option WALL for the
BLEED and
BLOW keywords
allows you to explicitly turn bleed or blowing off in a specific
region. (2.127)
- A new option NOSLIP may be used with INVISCID|EULER
for the TURBULENCE
keyword, to apply no-slip conditions at adiabatic and viscous walls
in inviscid flow. (2.99)
- The WALL
TEMPERATURE has a new option EQUILIBRIUM, to
specify a wall in thermal equilibrium. (2.127)
Chemistry
- Many improvements have been made for reacting and non-reacting
multi-species flows.
- CHEMISTRY
block syntax changes.
These may be non-backward-compatible, depending on the specific
keywords used. (2.112, 2.127)
- There are now three sections, corresponding to input
for equilibrium chemistry, frozen chemistry, and
finite-rate chemistry. One and only one of the keywords
EQUILIBRIUM, FROZEN, and FINITE
RATE must be specified.
- THERM09 may now be used for hydrogen, in addition to
nitrogen (2.8)
- The SPECIES keyword is now used to specify both the
order of the species and their mass fractions.
MASS FRACTIONS is still there, but its use is
discouraged.
- The new keyword DIFFUSION may be used to specify the
type of species diffusion.
- A new keyword FIXED may be used to specify a fixed
chemistry composition in specified zones.
This is useful for multi-zone computations with reactions
occuring in some zones, but not others. (2.53)
- The new keyword EDC specifies use of the "eddy
dissipation concept". (2.188)
Miscellaneous
- The new SOLVER-STAGES
keyword block allows you to do a "staged solution", that would
otherwise require stopping and restarting. (2.127)
- There are new keywords
XYZ_RANGE
and RTZ_RANGE
in the ARBITRARY INFLOW block, similar to
IJK_RANGE, for specifying initial conditions in
a specified Cartesian or cylindrical bounding box. (2.47,
2.161)
- All angular rotation rates are now specified in degrees/sec.
This is a non-backward-compatible change for the following
keywords:
ROLL,
ROTATE,
SOLIDBODY
and ROTATESOLID in the ARBITRARY INFLOW block,
TURNING SOLIDBODY
and POWER SOLIDBODY
in the ACTUATOR block. (2.184)
- The ROLL keyword
may now be used with both structured and unstructured grids.
- The number of external processes that may be specified with the
SPAWN keyword is
now unlimited. (2.112)
- A new WRITE
keyword may be used to write specified output into the .cfl
file (2.13, 2.112, 2.127, 2.146, 2.186)
- The new keyword FIXED_CL
may be used to automatically vary the angle of attack to obtain a
specified lift coefficient. (2.112)
- The MOVING WALL
keyword now applies to both structured and unstructured grids, and
the capability has been generalized, allowing translation and/or
spinning in any direction. (2.112, 2.127, 2.161)
- The REINITIALIZE
keyword syntax has changed.
This is a non-backward-compatible change.
- The ROTATE and
GRAVITY keywords now
apply to both structured and unstructured grids. (2.138)
- The SCHMIDT keyword
now applies to both structured and unstructured grids. (2.120)
- The NAVIER-STOKES
ITERATIONS keyword now applies to both structured and
unstructured grids.
- The maximum number of variables whose time history may be tracked
(using the
HISTORY keyword) has
been increased from 10 to 15. (2.95)
- A new EXTERNAL keyword in the
MFD block may be
used to read the MFD fields, computed by an external solver, from
the .cfl file. (2.12)
- Values for converting between different units are now defined as
parameters for more consistent usage throughout the code. (2.5)
- New directives and options in the
multi-processing
control (.mpc) file.
- assignment
mode mpiordered, to assign zones to separate
processes, corresponding to their MPI rank. (2.28),
- assignment
mode combined, to allocate only one process per
worker, with all zonal data retained in memory. (2.158)
- communication,
to specify how messages and boundary condition data are sent
between worker systems. (2.146)
- packmode,
to specify the packing mode used when transferring data
between the master and workers.
The default has changed; packmode memoryxdr must now be
specified when running on a cluster of networked systems with
different internal data formats.
This is a non-backward-compatible change. (2.158)
- master
mode, to use a system different from the originating
system as the master.
TEST Options
The following TEST options have been added, modified, or
deleted.
See the Test Options section for more
detailed descriptions.
- New options
- 11 -
Don't rotate flowfield when global angles of attack and yaw change.
- 14 -
Add pressure to the .cfl file.
- 15 -
Grid filter width for SST model with ε limiter.
- 31 -
Quadratic fit for normal derivative boundary conditions.
- 72, 73 -
Specialized periodic boundary condition.
- 74 -
Include k-direction spacing when computing minimum time
step in 2-D flows.
- 155 -
Extrapolate at freestream characteristic boundaries.
- Modified options
- 5 -
Previous meaning deleted; now used for flag affecting
iteration procedure for computing specific heat ratio and
sound speed for multi-species flows.
- 67 -
Now applies to both structured and unstructured grids.
- 71 -
Additional modes for handling temperatures outside the range
of curve fit equations in multi-species flows.
- 93 -
Mode to ignore all chemistry species diffusion has been deleted.
- 136 -
Mode to reduce CFL number and continue iteration for current
cycle now terminates current cycle.
- Deleted options
- 4, 53, 77, 98, 103, 133, 147, 148, 199
DEBUG Options
The following DEBUG options have been added, modified, or
deleted.
See the description of the
DEBUG keyword for
more detailed descriptions.
Note that all the "modified" options except for 34 are really new
options, unrelated to their usage in Wind-US 1.0, and the sense of
option 34 has been reversed.
For these options, this is thus a non-backward-compatible change.
- New options
- 17 -
Priority level for coupled boundary condition.
- 39 -
Use zonal wall distance calculation.
- 41 -
Treat coupled boundaries implicitly.
- 42 -
Locally adjust time step.
- 51 -
Use matrix dissipation on the left-hand side.
- 52 -
Compute Jacobians per cell.
- 53 -
Compute Roe scheme interface flux as in structured solver.
- Modified options
- 4 -
Replace anti-diffusive terms in HLLE scheme with Lax-like
dissipation reduction.
- 11 -
Multiplying factor for viscous-diffusion Jacobian.
- 12 -
Max ratio of production to destruction in Goldberg turbulence
model.
- 13 -
Max ratio of destruction to production in Goldberg turbulence
model.
- 14 -
Write max turbulent viscosity to .lis file.
- 18 -
Don't use linear-preserved gradients in turbulence model.
- 19 -
Don't use linear-preserved gradients for turbulent diffusion
in the Spalart-Allmaras turbulence model.
- 20, 21 -
Reset time step used for turbulence model equations.
- 23 -
Damping factor in Rusanov scheme for strong shocks.
- 34 -
Apply flux limiting to the calculation of interior fluxes in
unstructured grids.
- Deleted options
- 5, 6, 25-30, 32, 33, 35-38
Makefiles
The following changes have been made to the Makefiles used in building
Wind-US and the tools.
- Many new system-dependent makefiles have been added, and
old ones deleted, for consistency with the change in the
SYSTEM/SYSTEM_CPU directory naming scheme used by the
scripts.
- All the separate system-dependent Makedefs files for each
tool have been eliminated.
Instead, the system dependencies for building the tools are now
all contained in the same file as for Wind-US itself (i.e., in the
directory wind-dev/source/makefiles).
Note that this means that it's simplest by far to build the
utilities from the same directory as the one used for Wind-US
itself.
The installation locations, however, may be separate.
- SGI system-specific Makefiles now use the -DF90 compiler
option, to specify that allocatable components in derived types (a
Fortran 90 extension added in ISO report TR-15581) are not
supported.
- In Makefile.configure, the variable PRECISION may
be defined to build Wind-US with all double precision variables,
all single precision, or (the default) a mix of single and
double.
Scripts
The following changes have been made to the scripts used to run Wind-US
and the tools.
- All the Wind-US run scripts have been re-written in perl.
- Several new wind
script options have been added.
- -nocgesave, to not save the common edge (.cge)
file in the job submittal directory when Wind-US is being run
in a remote directory
- -cl, for a cluster machine PVM environment
- -cleanup, to do cleanup functions only
- -convcheck, to periodically check for convergence
with output written to a GENPLOT file (not yet documented)
- -done, to create a file named done at the end
of the run containing a brief job status message
- -genpost, to create and periodically update GENPLOT
files (not yet documented)
- -loads, to create and periodically update a GENPLOT
file containing loads information (not yet documented)
- -mpiver, to specify the MPI distribution being used
- -norsh, to specify that no remote shell capability is
available
- -save_core, to set the allowed core file size equal
to the maximum possible value
- -stats, to create and periodically update a GENPLOT
file containing statistical loads information (not yet documented)
- -test, to set the root location of the Wind-US
executable to the value of the environment variable
WIND_DEV
- -version, to display specific version information
- -waittime, to specify the time between run status
checks
- The -usessh option to the
wind
script now automatically sets the environment variable
PVM_RSH; it no longer has to be set separately.
- For parallel jobs using MPI, the number of zones will now be found
using the utililty
mpigetnzone, if
available.
- The SYSTEM/SYSTEM_CPU directory naming scheme, used to
identify the location of the appropriate executable for a specific
platform, has been modified to provide more detail.
- A wind_post
script may now be written in perl.
- A new perl module execselect.pm is now included with the
tools scripts, and used by some tools run scripts to select the
correct executable.
CFPOST
The following changes have been made to
CFPOST.
A number in parentheses following the description (e.g., 4.1) is
the specific version of CFPOST in which the change was introduced.
- The entire code has been re-written using Fortran 90, and is a new
"project" (cfpost_prod) on IVMS. (4.1)
- At build time, the compiler directives FULLDOUBLE or
FULLSINGLE may be used to specify the precision of the
data read from the .cgd and .cfl files.
The default is the same as for Wind-US, single-precision for
the .cgd file and double-precision for the .cfl
file. (4.1)
- Plot3d files may
now be written as single- or double-precision.
Also, binary plot3d files may now be written for the native system,
or specified as IEEE big or little endian. (4.1) (not yet documented)
- A function has been added to the
calculate
command to compute truncation error. (3.182) (not yet documented)
- The variable y/b, normalized y distance, has been
added (only valid for GENPLOT files). (3.187)
MADCAP
MADCAP has been updated for
compatibility with Wind-US 2.0.
Utilities
The following changes have been made to various utilities.
- Many of the utilities now use Fortran 90 memory allocation
features.
- The following utilities, that formerly worked with structured grids
only, may now also be used with unstructured grids:
cfaverage,
cfbeta,
cfreorder.
- cfcnvt can now
read formatted and unformatted double-precision plot3d files, and
convert a .cfl file to an unformatted plot3d Q file.
- cfreset_iter now
resets the number of completed Newton time levels to zero.
- The new utility cfrevert
converts a .cfl file created by Wind-US 2.0 to one that can
be read by Wind-US 1.0.
- cfsplit now allows
specification of the output file format.
This may be used to convert between formats, by not specifying any
splits. (not yet documented)
- decompose now
allows specification of the fringe size when doing overlapped
splitting. (not yet documented)
- jormak can now create
a boundary file for Fieldview. (not yet documented)
- The new utility
usplit-hybrid
splits a single-zone unstructured common grid (.cgd) file
into multiple zones.
- The new utility
USintrpltQ
interpolates a solution from one unstructured grid to another.
- The new utility
mpigetnzone
determines the number of zones in a .cgd file.
Note that this is distributed as a utility, but used by the
Wind-US run scripts.
libcfd
The following changes have been made to the CFD library.
- The new routine
cfninf
retrieves information about a node.
- cfvinf
may now be used to return character width. (not yet documented)
- Files may now be opened using
cfopen
in read_only or append mode. (not yet documented)
- A state module has been added containing routines for buffering the
common file states, greatly improving performance for files with
large number of nodes.
ADF
The following changes have been made to the ADF library.
- Updates have been made, including the addition of a state buffer,
for improved performance for files with large number of nodes.
PVM
- The version of PVM distributed with Wind-US has been upgraded from
3.4.3 to 3.4.5.
- The PVM scripts used with Wind-US have been re-written in perl.
Last updated 13 Feb 2012