Release Notes OVERFLOW 2.2


2.2n 30 November 2017

New features:
o Try to read IBLANK from when using mixed XINTOUT/DCF
mode, to reset orphan points.
o Improved solid wall projection scheme for DCF stencil adjust.

Bug fixes:
o Fixed a bug in the SA turbulence model (NQT=101,102,301,302)
which gave spikes in turbulent eddy viscosity during convergence.
o Rotation and curvature correction dSij/dt term fixed.
IRC=1 now includes dSij/dt when time-accurate with NITNWT>1
(IRC=3 option removed).
o QCR has been fixed (IQCR=1).
o Wall velocity for small cells on moving bodies corrected
(a tolerance issue).
o Corrected setting PLOT3D IBLANK on periodic boundaries
when using mixed XINTOUT/DCF mode (this affects both
and $SPLITM grid files).

Rotorcraft interface:
o Fixed a tolerance declaration bug for ONEREV files.


2.2m 13 October 2017

Major new features:
o Mixed Pegasus 5/DCF operation. This allows various mixed-mode
simulation options, including:
– Grid adaption with an XINTOUT grid system.
– Rigid-body motion of an XINTOUT grid system.
– Pre-assembly of components with Pegasus 5 or c3p, combined with
x-ray hole cuts, automatic off-body grid generation, and/or
dynamic body motion.

o Upgraded turbulence and transition models:
– Upgraded turbulence models: SA-neg (NQT=101,102),
SST-2003 (NQT=203,205), and Wilcox2006 k-omega (NQT=202,204).
– Added transition models: Langtry-Menter LM2009-crossflow
(NQT=405 with ICF=1, H_CF=roughness), Coder SA-AFT2017b (NQT=301),
and Medida-Baeder gamma-Re_theta-SA (NQT=302, IDES=4). (Note that
Medida-Baeder disables grid splitting normal to viscous walls.)
– Default 3rd-order convection for all turbulence and transition
models (FSOT=3).
– SST-RC rotation and curvature correction fixed to conform to
Smirnov and Menter.
– SST sustaining terms coded (ISUST=1,2).
– Rotation and curvature correction dSij/dt term coded (IRC=3).
– QCR upgraded to QCR2013.
– Knopp, Eisfeld, Calvo SST wall roughness model implemented
(viscous force calculation needs to be modified).
Tom Pulliam (NASA Ames): SA-neg, 3rd-order convection
David Yeh and Kaustav Sengupta (Boeing): LM2009-crossflow
Jim Coder (UT Knoxville): SA-AFT2017b
Byung-Young Min and Solkeun Jee (UTRC), Jim Baeder (UMD)
(under NRTC/VLC Task# NRTC-FY15-A-01): gamma-Re_theta-SA
Robert Childs (NASA Ames): SST roughness model

o Option to output $SPLITM triq files with x/y/z triangulated cuts
of the grid system (from David Kao, James Jensen, Shishir Pandya).
Use TRIQFILE=<basename> in namelist SPLITM; IG=-2 cuts all grids,
with CUT=’X’, ‘Y’, or ‘Z’ and desired cut VALUE.

o Rescaled flow, turbulence, and species residuals to remove volume
– Residual histories are now more representative of the actual
flow convergence, and behave similarly to delta(Q) histories.
– This does not change the solution process.
– Use of ORDNWT to control Newton/dual subiteration convergence
should now behave better.
– All turbulence model omega norms scaled by 1/Reynolds number.

Other new features:
o Improved robustness for multigrid on smaller grids by limiting
the number of grid levels.
o New grid adaption error sensors:
– Added ETYPE=5 and 6, Su’s pressure and press/density/temp sensor
– Added ETYPE=7, 2nd undivided difference of Q (absolute value
instead of squared). EREFINE/ECOARSEN values (or SIGERR) need to
be changed to reflect the resulting larger values of the function.
– Changed ETYPE=3 and 4 (entropy adjoint and residual error norm)
to include correct volume scaling, to be grid scale-independent.
o New eigenvectors for Pulliam-Chaussee diagonalized scheme,
improving robustness for ILHS=2.
o Multiple MPI writers for faster output of frequent solution files
(from Dennis Jespersen). In namelist GLOBAL, specify NWRITERS and
NVIS (output grid and Q every NVIS steps, using NWRITERS writers).
o Added DEBUG=5 Reynolds Stress debug option. This writes q.reystr
file with tau11,tau21,tau31,tau22,tau32,tau33 in Q1-Q6.
o New BC#153 “Time-varying uniform inflow through FOMOCO component,”
which allows throttling and can be applied to moving bodies.
o New test cases:
– aerospatiale_a airfoil case for transition modeling.
Illustrates problems with the original SST turbulence model
generating spurious eddy viscosity, corrupting transition.
– s809 airfoil case updated to include Coder transition model.
– nlf2-0415_swept infinite swept wing for crossflow transition.
– sickle 3D wing for crossflow transition modeling.

Rotorcraft interface:
o Included Helios interface support for Version 7, and all updates
through Oct. 2017.
o Fixed problem with near-body grid adaption for deforming grids.
o Fixed multiple rotor problem with some ICOUPLING<=0.
o Fixed multiple rotor problems in ONEREV and AIRLOADS files.

Bug fixes:
o Fixed Config.xml problem with multiple levels of containers.
o Fixed bug in DCF viscous wall projection.
o Fixed bug when specifying both min and max control planes for
off-body grid generation.
o Fixed problem with Intel 2016/2017 compilers and MAXLOC Fortran

o Switched to Fortran free format(*.F90 files).
o Include files have been converted to modules.
o REAL variables are properly typecast.

o PGI 15,16,17 compilers produce bad code for vectorized EXP
intrinsic function, The function does not handle large negative
values (which should return 0). Easiest fix is to add
!PGI$ NOVECTOR directive in front of the inner loop.
(It is inexcusable to release a compiler FOR THREE YEARS with an
intrinsic function that dumps core. Get a better compiler.)


2.2l 23 February 2016

New features:
o Replaced the viscous stencil repair process in DCF with viscous wall
projection, as in Pegasus 5. This has the angle test hard-coded
to 50 deg, and the maximum projection distance set to (the maximum of)
the distance represented by NORFAN points off the wall, and 2 times
the offset of a parametric cubic representation of the wall compared
to a bilinear representation.
o Changed MPI non-blocking send/receive tags to simple numbers (1 or 2).
This avoids use of large numbers, especially in EXCH_BUFFERS where the
tag number could be as large as #groups squared.
o Added entropy adjoint options ETYPE=3 and 4 for grid adaption
(from Joe Derlaga).
o Added utility program “subs_nb” to tools/run directory. This program
reads the brkset.* file and, given a list of original near-body grids
and subset ranges, writes a PLOT3D command file with subsets for the
original grids and all associated refinement grids.
o Removed some verbose output of grid dimensions and memory requests.
o Consolidated error and warning statements from MUSCL scheme routines.
o Modified compilation process to use the Fortran compiler to preprocess
*.F and *.F90 files instead of cpp. This eliminates the need for a
separate way to compile for the Mac. Tested on Intel ifort, Gnu
gfortran, and PGI pgfortran.
o Added BC#151: same as BC#141 but read a specified flow direction from

Rotorcraft interface:
o Included July 2015 HELIOS update, and modifications through Feb. 2016.
o Fixed problem with split main blade grids. Note that the main blade
grids should proceed from the trailing edge, around the airfoil, and
end at the trailing edge. (By this I mean the solid wall boundary
condition of each grid.) If there is overlap between the beginning of
the first grid and the end of the last grid, it is assumed that the
overlap is symmetric above and below the trailing edge.
o Cleanup of both OVERFLOW and Helios code in ROTOR_PSI, which finds the
rotor start time and rotational rate, as well as the starting psi
offset for each blade. This has been tested (with results recorded in
the routine) for shaft tilt, cone angle, psi offset, cyclic, flapping,
and lead-lag. (Not all work.) Results depend on whether a rotor
container component is used or not.

Turbulence models:
o Changed SST source terms with Langtry-Menter, to (a) fix a bug in the
sign of one source term, and (b) remove Bobby Nichols’ limits, which
were scale-dependent.
o Slight change to limiting of k-omega delta-Q updates: set minimum k
value to zero, and set a minimum cap on k update. These changes may
eliminate some spikes in residual histories.
o Changed SST turbulence model SSOR left-hand side to enable OpenMP

Bug fixes:
o Fixed bug in supposed backward-compatible read of sixdof.restart file.
o Changed grid adaption routine to use the unsplit grid dimensions for
the current grid size (to be consistent with the adapted grid size).
o Fixed bug that incorrectly deleted the brkset.restart file.
o Fixed bug in calculation of distance weighting in q.errest file
o Fixed buffer for refinement regions, to avoid level 0 fringe points
reaching into level -2 refinement region.
o Echo TARGCL input parameter to output file.
o Fixed pressure/entropy switch usage for HLLE++ flux routines to use
half-grid point average.
o Fixed bug in off-body grid generation when there are data surface grids.
o Changed various Makefiles to clean *.s files (from gfortran) and
*.optrpt files (for ifort with -opt-report).
o Fixed ability to use multiple directory levels in $SPLITM file names.
o Fixed utility codes intout_to_xintout and xintout_to_intout to reflect
that in XINTOUT, IBLANK=0 at Chimera boundary points, while IBLANK=-1
o Fixed bug in handling control planes for off-body grids
(P_XMIN,P_XMAX, etc.).
o Fixed indexing bug for $SPLITM output with INCREF=.TRUE.
o Fixed bug with data surface grids getting interpolation stencils from
blanked-out level-1 off-body grids, rather than being left as orphan
o Fixed bug in L2-norm subiteration convergence checks.


2.2k 18 March 2015

New features:
o Control of grid size during the grid adaption process has been made
more robust, by switching from Newton’s method to a binary search.
o Added input parameter REFLVL_DEFAULT in $NBINP. This sets the default
refinement level limit for any near-body grid that does not have a
refinement brick (IGBRK) or a limit region (IGREF). REFLVL_DEFAULT
must be in the range [1,-NBREFINE]; set to 0 to turn off adaption,
1 to freeze current adaption. The default is -NBREFINE.
o Blanked out Level-2 off-body grids that are generated inside a body.
o Improved DCF stencil walk process.

Test cases:
o Cleaned up cyl_holden and switched from HLLC to HLLE++.

Rotorcraft interface:
o Included March 2015 HELIOS update.

Bug Fixes:
o Fixed bug in HLLC flux routines (introduced in version 2.2j).
o Fixed bug in splitting near-body grids that are periodic in K or L.
o Fixed bug with splitting boundary condition files for BC#42 and 45.
o Fixed bug in grid adaption coarsening process.
o Fixed bug in 2D-in-K-direction grid adaption.
o Fixed bug with higher-order time-advance schemes (FSONWT>2) and
grid sequencing (FMG=TRUE).


2.2j 16 January 2015

New features:
o Added inviscid walls to wall distance calculation.
o Changed Spalart-Allmaras and Baldwin Barth turbulence model boundary
condition for inviscid walls, to set mu_t=0.
o Improved efficiency of WENO and viscous flux routines.
o Improved efficiency of scalar pentadiagonal routines.
o Improved inverse-maps used for DCF donor search process.
Also avoided writing inverse-maps to disk.
o Modified DCF donor search stencil walk, and relaxed Newton convergence
when far from the target cell.
o Slightly reduced size of level-1 off-body grids.

Rotorcraft interface:
o Fixed bugs in saving deforming grids for previous steps, and initializing
deformed grids during restart. These bugs were both introduced in version
o Added HELIOS interface, from Rohit Jain (AFDD). Use command
make -f Makelibmpi intel CMD=install PRECFLAGS=”-DD_PRECISION” \
to compile (double precision) library liboverflowmpi.a and install in
./lib_dp directory.

Bug fixes:
o Fixed lower-order (3rd-order) WENO flux coding (from Bobby Nichols).
o Fixed INITQN coding error.
o Improved grid adaption size limiting process.
o Changed BC 141 to behave like BC 41 (again).
o Fixed roundoff problem when sorting X-ray pierce points.
o Incorporated Jespersen’s restriction for viscous stencil repair on grids
with more than one viscous wall direction.


2.2i 12 September 2014

New features:
o Added a smoothing step to the error sensor for grid adaption. This removes
one-point peaks or one-point wide ridges. This should make adapted grid
systems “cleaner,” hopefully without losing any physical details.
o Added controls for solution adaption. In $OMIGLB, set MAX_SIZE to limit
the maximum size of the grid system during adaption. Set MAX_GROWTH to
the maximum growth factor for the grid during any adaption cycle.
MAX_GROWTH=1.3 gives reasonable results (set as default).
o Added distance weighting input parameters for grid adaption sensor
functions. DISTWT_LENGTH is a length scale representing a one refinement
level decay of the sensor function, and DISTWT_OFFSET is an offset distance
from the surface to begin the decay. Note that this distance function
currently only “sees” viscous walls.
o Added BDF2OPT 2nd-order implicit time advance. This has significantly less
error than the standard BDF2 scheme. BDF2OPT is selected by setting
o Adding a temporal error controller for multi-step time advance schemes
(BDF2,BDF2OPT), and multi-stage time advance schemes (ESDIRK3,ESDIRK4).
Use negative values of ORDNWT in $GLOBAL to set order convergence over
the temporal error estimate for terminating Newton/dual subiterations.
(Disable testing of turbulence residual or species residual.)
o Made OVERFLOW write out a mixsur input file “”, which
includes original and refinement subsets, suitable for rerunning MIXSUR and
o Interpolate debug data onto data surface grids for DEBUG>0 runs.

Rotorcraft interface:
o Fixed a problem with interpretation of initial blade pitch and pre-coning
angles introduced in Config.xml, when calculating initial psi offset
o Added output of rotor blade sectional forces in the inertial frame, to a
ONEREV (inertial frame) file (from Ed Reed, Sikorsky).

Bug fixes:
o Fixed jet boundary conditions (BC 48 and 148) to include body motion.
o Changed BC 141 to behave like BC 41.


2.2h 29 May 2014

New features:
o Implemented multi-stage time advance schemes, selected using NDIRK input
parameter in $GLOBAL. 4th-order implict ESDIRK4 and explicit RK4 schemes
are included. Test case vortex_convection_HiO was modified to include
these schemes. See doc/README.ndirk for more information, and
doc/Time_Accurate_Methods_V8.pdf for a write-up of time advance methods.
o Modified off-body grid generation to allow setting of control planes for
both minimum and maximum x, y, and/or z values, limiting the extent of the
off-body grid generation. Specifying both min and max values (e.g., I_XMIN
and I_XMAX=1) may result in DS being rounded, and/or the number of grid
levels being limited to force grid planes at the specified values.
o Added simple 5th-order upwind scheme. This is the WENO5 scheme without
limiting. It is selected by setting FSO=5 and DELTA<0.
o Added input parameter to select turbulence model strain vs. vorticity
option in $VISINP: ISTRAIN=0 – use strain (regular model); ISTRAIN=1 – use
vorticity; ISTRAIN=2 – use Kato-Launder (sqrt(strain*vorticity)).

Rotorcraft interface:
o Fixed rotor interface to work for rotors where blade 1 has a non-zero
initial psi offset.
o Updated README.rotorcraft, including comments on clockwise rotors.
Fixed comment on setting SCALEMOTION for clockwise rotors in namelist.doc.
o Fixed rotorcraft interface bug when ICOUPLING=0.
o Fixed bug for grid sequencing or multigrid with deforming grids.
o Fixed Version 2.2f bug that assumed $EROTOR input IGS specified the first
grid in rotor blade 1, rather than the main grid (used for calculating
sectional forces and moments).

Bug fixes:
o Fixed ODSTEP to do wall distance calculation only if grids are moving.
o Fixed handling of $SPLITM filenames to allow multiple level directories to
be created.
o Fixed bug in block tridiagonal left-hand side if ISPECx=-1.
o Fixed bug for grid sequencing or multigrid with moving grids and level-1
off-body grids.
o Fixed handling of early exit from Newton/dual subiteration loop.
o Fixed bug in XINTOUT_TO_INTOUT utility.
o Updated INTOUT_TO_XINTOUT to add grid dimensions, to match Pegasus 5 format.


2.2g 16 August 2013

New features:
o Changed near-body grid adaption with parametric cubic interpolation to use a
WENO-like weighting to adjust from central to upwind, to 1st-order upwind
differencing to set slopes at cell corners. Current setting for turning angle
weight is based on angle cosines (weight = 2*cos^2(theta)-1, |theta|<=45 deg),
and stretching ratio weight is ramped linearly from 1 to 0 between stretching
ratios of 3 and 5.
o Changed (both near-body and off-body) error estimation boxes to (a) not
include outer boundary or auto-splitting fringe points, (b) accept hole
boundary fringe points as “coarsen”, and (c) create refinement boxes at the
current level in order to maintain the current refinement (this to avoid grid
o Handled extending near-body refinement regions that are within MINBUF of an
original grid boundary, to that boundary.
o Added flat_plate_adapt test case, which demonstrates convergence of the
solution adaption process for a simple boundary layer flow.
o Implemented more robust checkpointing for history files, from Dennis
Jespersen. Instead of writing the usual history files to *.out, we write
them to *.tmp. When the flow solution is checkpointed (writing,
etc.), we append the *.tmp files to *.out, then open new *.tmp files.
o Added capability to handle 6-DOF for GMP components with principal axes that
are offset from the body axes. (Grids in are assumed to be aligned
with the body axes.) THIS STILL MUST BE TESTED.
o Allow for updating moving-body grid metrics by rotating the metrics, rather
than recalculating them. Also, don’t recalculate metrics for grids that
don’t move.
o Added timer for wall distance calculation inside moving body process.
(This time used to show up in timer 20 “OTHER”.)
Also moved CBCXCH call in ODSTEP to try to minimize idle time.
o Avoid creating turbulence or species history files if these will be empty.
o Removed mention of INCORE parameter in $GLOBAL. It has not been used for a
long, long time. It is still in the NAMELIST for backward compatibility.
o Updated ALTIX_ICE_FLAGS and ALTIX_ICE_OMP_FLAGS in Make.sys.

Rotorcraft interface:
o Added Doug Boyd’s modifications for clockwise rotor rotation in CAMRAD-II.
This reverses the definition of positive azimuth angle (psi). Rotation is
specified by setting CAMRAD2_ROTATE to +/-1 in $EROTOR.

Bug fixes:
o Fixed near-body error boxes to work for (split) periodic grids, where the
starting and/or ending index may be outside the original grid range. Note
that we are still not set up to do actual refinement on periodic grids, but
as long as adaption is turned off for the periodic grid(s), we want the code
to run.
o Fixed bug in near-body grid adaption with OpenMP.
o Fixed bug in DCF for moving body cases, checking restart stencils.
o Fixed initialization of Q^n for data surface grids, specifically needed
when saving 2nd-order files with species, because of divide by rho
o Fixed bug when processing a STOP file while running on a coarse grid level.
o Disabled OpenMP loops in CBC_UNPK and DON_NSENDR, in order to get repeatable
results when unpacking Chimera donor boundary values. This is because it is
possible for a boundary point to have more than one donor, so the order in
which they are processed can affect the final answer.
o Fixed up (PLOT3D) IBLANK for periodic condition when writing files.
No special fix to SPLITMX grid files though, as this would be challenging
for any given subset. Note that the IBLANK written out for these subsets
may still have some part of the periodic boundaries flagged however. This
depends on auto-splitting.
o Fixed typo in $FLOINP input parameter MUTINF (was MUTIN1).


2.2f 22 March 2013

New features:
o Added turbulence index for 2- (and 4-) equation turbulence models.
o Added Spalart’s Quadratic Constitutive Relation (QCR), with primary
coding from Dennis Jespersen. New input variable CNL1 in $VISINP
activates QCR. Default value is 0 (no QCR); usual value for QCR is
0.3. Also changed coding of viscous terms to use viscous stress
tensor. Reference for QCR is P. Spalart, “Strategies for turbulence
modelling and simulations,” Int. J. Heat and Fluid Flow, Vol. 21,
No. 3, June 2000, pp. 252-263.
o New input variable MUTINF replaces RETINF in namelist $FLOINP.
o Various improvements to near-body grid adaption.
o Added INCREF flag to $SPLITM near-body subsets, to include refinement
regions or not. Removed near-body grid J,K,L CUT option. For a
near-body subset, if refinement regions are not included
(INCREF=FALSE), refinement regions are interpolated onto the original
grid subset.

Changed behavior of overset grid connectivity using DCF:
o Changed DCF overset grid connectivity to use a “donor suitability
function” to choose between multiple available donor stencils. The
suitability function is taken to be the volume of the cell containing
the donor stencil. Note that there can still be some slight variation
in the stencil chosen in the case where there is a point-match between
the boundary point and the donor point: the proposed donor stencil may
be any of the 8 cells touching the matched point, and for a
curvilinear grid, these cells may each have a different velue of the
suitability function. If another grid has similar sized grid cells as
possible donors, it may come down to which of the 8 cells is returned
as to which grid is ultimately chosen as the donor.

Previously, the first acceptable donor stencil was chosen regardless
of any cell size criteria. Different numbers of MPI parallel groups
could result in different choices for donor grids. Note that donor
grids from the same “body” or component are still chosen over other
grids, and near-body donor grids are chosen over off-body grids.

Q file format changed slightly:
o The elapsed (CPU or wallclock) time record at the end of files
has been eliminated.

Rotorcraft interface:
o Implemented rotor interface to work with near-body grid adaption.
o Updates to vehicle motion interface from Mahendra Bhagwat.

Bug fixes:
o Fixed bug with 3 or more levels of refinement.
o Fixed source term for y-axis rotation.
o Fixed writing of single-grid restart files to follow format of
o Added single-fringe diagonal points to DCF interpolation stencils to
support viscous cross-terms.
o Fixed L-direction pressure-hold BC (in BC’s 33,34,36).
o Fixed generation of X-rays with multiple coincident pierce-points.

o From Dennis Jespersen: “There is a bug in some versions of Portland
Group Fortran that botches subroutine hyplin. Of course this
only affects SGS. It’s been reported to PGI, they have it logged
as TPR#19134. Workarounds are to compile that routine with -O1
or with -Mnovect. I ran across this with PGF 13.2 and the shock_tube
case with LU-SGS.”

xo Turbulence model upgrades:
x – Upgraded Menter SST model to SST-2003.
x This affects the Langtry-Menter transition model as well.
x – Upgraded k-omega to Wilcox-2006 k-omega.
x One consequence is that the new models are less robust:
x It may be necessary to change from CFLT=4 to CFLT=1.
xo Added rotating frame terms to SARC rotation and curvature correction
x (used in 1- and 2-equation turbulence models). Coding from
x Steve Repsher, Boeing Philadelphia, who notes that there are other
x rotation terms not yet included.


2.2e 27 March 2012

Changed defaults:
o Spalart-Allmaras turbulence model no longer includes the fv3 term.
(Use cpp directive -DTURB_SA_FV3 to include this term.)
The Spalart-Allmaras model for NQT=102 is coded without the ft2 term
(SA-noft2). With the trip line option (NQT=101), the SA model does
include this term (SA-1a).
o Spalart-Allmaras freestream turbulence level has changed.
Input parameter RETINF=0.1 used to give SA eddy viscosity of 2.8E-7;
it now gives a freestream eddy viscosity of 0.1. (To recover the old
value, set RETINF=2.8E-7.) For all other turbulence models, RETINF
continues to specify the freestream eddy viscosity.
o Global wall distance calculation is now used by default (WALLDIST=2).
o The input parameter FROUDE (Froude number) now uses the common
definition Fr=Vref/sqrt(g*L) (where L is one grid unit), rather than
Vref^2/(g*L). (Froude number is only used for problems with
gravity/buoyancy effects.)
o Default value of SIGERR (for grid adaption) has changed from 2 to 5.

New features:
o Near-body grid adaption has been added. Controls are in namelist
$NBINP (see doc/namelist.pdf).
– A number of boundary conditions are not yet implemented for near-body
adaption. They are listed here, with suggestions on how to avoid
the boundar condition.
+ Periodic grid (BC#10,18) – Split the grid in half, with overlap.
+ C-grid and fold-over cut (BC#51-59) – Split the grid into airfoil
block and wake block, with overlap. See tools/unsupported/ctop2.f
for sample code for 2D airfoil grids.
+ Copy to/copy from (BC#70,71) – Split grid into overlapping parts?
– Added input parameter NBREFINE in $OMIGLB. This is the number of
near-body refinement levels, which defaults to NREFINE (which in turn
defaults to 2).
– Near-body adaption uses parametric cubic interpolation of the
original grid to generate refined grids. This WILL round sharp
corners, and grids with wiggles can definitely drive this to negative
– Improved DCF handling of near-body refinement grids.
– Added $SPLITM support for near-body (refinement) grid J,K,L cuts.
Use IG=<original near-body grid>, CUT=’J’, ‘K’, or ‘L’, and
VALUE=<original grid index>. Subsets for all refinement grids
contributing to this slice will be written. (Still need the ability
to write limited subsets, but include all contributing refinement
o Off-body grid reporting combines all grid levels into a single entry
in resid.out and other history files.
o Specify a negative value of NFOMO to include subiteration reporting
of forces and moments.
o Cleaned up Make.sys compiler options:
– “gfortran” and “gfortran_omp” options replace “gnu” and “gnu_omp”.
– “intel” and “intel_omp” replace “intel10” and “intel10_omp”.
– Removed “alpha”, “tru64”, “compaq” (DEC Alpha compiler);
“cray”, “cray_perf”, “cray_sds” (Cray Unicos f90 compiler);
“intel” (ifc 7), “intel8” (pre-Intel 10 compilers);
“g95”, “hp”, “old_pgf”;
“sgi”, “sgi_dbg”, “origin” (SGI MIPS4 compiler).
– Old compiler options (updated appropriately) are in Make.sys_old.
o Converted body motion arrays to always use double-precision.
This enables moving body cases to be run with single- or double-
precision, as appropriate for the grid spacing.

New test cases:
o Buoyancy effect test cases:
– buoyancy_driven_cavity_2d – This has a nice writeup comparing with
some classical analysis. (From Tom Pulliam)
– room_with_hot_computer – Just for fun–a room with various
combinations of desks, a hot computer, cold windows, hot/cold vents,
and a door. (From Tom Pulliam)
o Grid adaption:
– eggers_adapt – Near-body grid adaption version of the Eggers Mach 2
axisymmetric jet test case.
– shock_impingement – A Mach 5 2D inlet with shock/boundary layer
interaction, with and without adaption. (From Tom Pulliam)
– parsec_ogrid_adapt – Uses an 11-parameter airfoil coordinate surface
definition to approximate a variety of common airfoils. Solution
process uses near-body and off-body grid adaption. (From Tom Pulliam)
– airfoil_adapt – Updated to include near-body adaption.
– normal_jet_adapt – Updated to include near-body adaption.
o Capsule test cases:
– apollo_axi – Cases from Mach 0.2 to 6, with either single grid, or
off-body grids with a wake box.
– apollo – 3D geometry with cases from Mach 1.2 to 2.4. Only cases at
180 deg angle-of-attack are run by default, though mechanics are
included to run every 10 deg.

Bugs fixed:
o Several array-bounds and uninitialized variable fixes which do not
affect execution.
o Fixed viscous stencil repair for near-body grid refinement.
o Fixed component ID update for near-body refinement grids.


2.2d+ 24 October 2011

New features:
o Added gfortran44/gcc option to Make.sys as “gnu” and “gnu_omp”.
g95/gcc option moved to “g95”.

Bugs fixed:
o Avoid array bounds checking error in off-body grid generation
(does not affect answer).
o Avoid referencing uninitialized variables in k-omega and SST turbulence
models. (Uninitialized elements are not used, but may cause floating
point exceptions.)


2.2d 22 June 2011

New features:
o Enabled NWALL input parameter in $GLOBAL, which sets how many steps between
recomputing global wall distance (WALLDIST=2). Changed default NWALL to 10.

Rotorcraft interface:
o Added fixes to try to avoid problems with system calls that don’t work,
especially rotorcraft runs when appending to <forcefile>_history.
o Fixed ICOUPLING=0 rotorcraft case with no motion.txt file.

Bugs fixed:
o Modified FOMOCO output to handle hinge moment reference information
correctly when component transformations are used.
o Changed Langtry-Menter transition model coding for Re_theta_t to use
the local Reynolds number, per discussions between Chris Rumsey and Robin
Langtry. This makes the flat_plate_transition results not look as good.
(This and the s809 test case results still need to be updated.)
o Fixed Langtry-Menter transition model when both vorticity and velocity
are zero.
o Updated af3_96 and flat_plate_transition test cases.


2.2c 4 February 2011

New features:
o Added Langtry-Menter transition model (gamma-Re_theta CFX-v-1.1).
o Added flat_plate_transition and s809 (airfoil) test cases.
o Added oscillating_airfoil_adapt and parsec_ogrid test cases.
o Changed default NSAVE from 100 to 1000.

Bugs fixed:
o Fixed problems with automatic grid splitting, introduced in 2.2b.
o Fixed bug in writing in PLOT3D_OUTPUT format.
o Updated many test cases.


2.2b 3 December 2010

New features:
o Changed default timer for non-MPI OVERFLOW from Fortran 95 CPU_TIME to
Fortran 90 SYSTEM_CLOCK. This will now measure wall time rather than CPU
time, and thus be useful for evaluating OpenMP performance.
o Removed DO loop overindexing, i.e., changed
DO K = 1,KD
DO J = 1,JD*KD DO J = 1,JD
array(J,1,L)… to array(J,K,L)…
Overindexing was used for efficiency reasons on the Cray, but it frustrated
any attempts at array-bounds checking.
Thanks to Dennis Jespersen for tracking through all this!

Bugs fixed:
o Fixed missing momentum forces for 6-DOF motion.
o Fixed problem with Newton/dual subiteration on coarse-level grids with ITER=0.
o Fixed initialization of Newton/dual subiteration after grid adaption when
o Fixed auto-grid splitting fringes to use only interior points as donors.
o Fixed indexing of boundary conditions and turbulence regions on coarser grid
o Ensured that grid splitting coupled with multigrid and/or grid sequencing
will not cause problems for BC’s applied to internal grid planes.
o Fixed use of wall functions with multigrid and/or grid sequencing.
o Fixed bug in calculation of left-hand side for ILHS=2 with low-Mach


2.2a 13 September 2010

New features:
o Added DEBUG=4 option for grid adaption. This writes a “q.errest” file.
Q(1) is the sensor function; Q(2) is the marker array (+1 means refine,
-1 means coarsen, 0 means stay the same); Q(3) is log(Q(1)), adjusted to
avoid taking log(0).
o Added BC#36, specified mass flow outflow through a FOMOCO component,
but allow a variable pressure across the face.

Bugs fixed:
o Fixed a bug in computing moving moment reference center for I6DOF=2.
o Fixed a bug in merging off-body grid clusters.
o Fixed a bug in error estimation marking for undivided 2nd-difference of Q.
o Fixed error estimate boxes to include fringes that are less than MINDIM
o Fixed a bug in computing (x,y,z) location of L-infinity residual norms
for 2D or axisymmetric off-body grids.
o Fixed a bug in computing (x,y,z) location of L-infinity residual norms
for species equations.


2.2 29 July 2010

Initial release of OVERFLOW 2.2. This version adds off-body grid refinement
capability (added input parameters are in $OMIGLB and $BRKINP).
– NADAPT controls how often grid system is refined.
– NREFINE sets how many levels (finer than level-1) are allowed.
– EREFINE, ECOARSEN set explicit sensor function levels to refine
or coarsen each grid level.
– Or use SIGERR to set levels ERREFINE=(1/8)^SIGERR,
– ETYPE sets sensor function (0 for original undivided 2nd-difference
(squared) of Q; 1 for vorticity magnitude; 2 for undivided vorticity
– XREFMIN(region#),XREFMAX(region#),etc. specifies a region to limit
grid refinement.
– REFLVL(region#) sets the minimum refinement level for the region.
A value of 0 means freeze the grid adaption in this region.
– IBDYREF(region#) can set a body ID (component ID) for this region to follow.
– REFINOUT(region#) specifies if refinement should be limited “INSIDE”
or “OUTSIDE” the region.
o Maximum number of grids has been increased from 3000 to 10000.
o Added test cases: test/airfoil_adapt, test/airfoil_drop_2d (adaption inputs),
and normal_jet_adapt.

Other new features:
o Body motion, grid adaption, target-CL, saving q.step#, and $SPLITM output
can be done during grid sequencing.
o Added load-balancing of data surfaces (acoustic and otherwise).
o Added Newton/dual subiteration cutoff based on order of convergence.
Input parameter ORDNWT in $GLOBAL sets the number of orders of convergence.
For ORDNWT>0, use the Linf-norm(RHS); for ORDNWT<0, use Linf-norm(dQ); for
ORDNWT=0, do not limit subiterations. NITNWT will always set the maximum
number of subiterations. Note that there is no provision for some grids
being “steady” (which results in very small convergence, with very small
initial residual).
o Added RFAXIS=1/2/3 to $GLOBAL to specify the x/y/z axis for a rotating
coordinate system. Added BCPAR2=1/2/3 for BC#9 (rotoating solid wall).
Allow non-zero rotational velocity for axisymmetric flows. One can now set
a non-zero RF (with RFAXIS=1), or BC#9 (with BCPAR2=1) for axisymmetric
o Added IPRECIS input parameter to $SPLITM, to select single- or
double-precision output (IPRECIS=1 or 2, resp.). Default is to use the same
precision as the input files (IPRECIS=0).
o Added QAVGFILE input parameter to $SPLITM, to allow saving Q average/
perturbation data for specified subsets. (Data stored is the same as for
q.avg file.)
o Added “surfex” utility program from Bobby Nichols. This reads a grid and Q
file, and the OVERFLOW namelist input, and extracts surfaces corresponding to
given boundary conditions. The utility writes out “” and
“” files in (OVERFLOW) PLOT3D format, and a FieldView
“” file.
o Changed details of coding for Spalart-Allmaras turbulence model where
nu-tilde approaches zero.

Rotorcraft interface:
o It is now ABSOLUTELY ASSUMED that rotor blades in have their origin
at (0,0,0), shaft direction (0,0,1), and radial direction (1,0,0).
o $EROTOR input parameters ORIGIN,SHAFTDIR,RADDIR are obsolete. These are
now determined by GMP component motion information.
o $EROTOR input parameters PSIOFFSET(#blades) are obsolete. These are
now determined by GMP component motion information.
o Added initial tight coupling capability, following coding in Army AFDD
version of OVERFLOW 2.1 (from Mahendra Bhagwat).
o Fixed bug when trying to read 2nd-order grid restart information,
when the x.restart file does not include it.
o Fixed bug in transformation matrix inverse routine, especially used for
rotor problems with rotor origin not at (0,0,0).

Bugs fixed:
o Fixed brick grid generation to handle container components for IBDYTAG or
o Fixed data surface grids to accept interpolated data from level-2 and higher
off-body grids.
o Increased the maximum number of freebie regions (MFB) to 12*MGRID.
o Fixed bug in SPLITM processing of periodic grids with non-unity increments.
o Fixed bug in global wall distance calculation for J-direction walls.
o Fixed bug in global wall distance calculation for grid adaption.
o Fixed bug in DCF (can get segmentation fault due to array being too small).
o Forced completion of temporary file writes by re-opening and closing the
file. This seems to fix a problem on some systems where a CLOSE does not
force the file system to complete the write.
o Fixed OpenMP PRIVATE declaration for SARC turbulence correction.
o Fixed bug in J-direction species equation central difference smoothing
(IUPC=0 only).
o Fixed bug in setting IBLANK for split grid boundaries after reading XINTOUT.
o Fixed bug in viscous stencil repair which allowed possible stencils off the
end of a grid. Added a warning if the stencil repair may be limited by grid
o Fixed bug in respline.f code in test/bizjet, which caused makefuselage script
to fail.
? Fixed OpenMP parallelization of DCF inverse map generation.

o Make for the flow solver fails intermittently, due to interdependence
of two modules. Redoing the make should resolve the dependence.