Authors: William M. Chan and Pieter G. Buning
Date: January, 2026.
MIXSUR and OVERINT are used to perform flow coefficient computation and analysis on overset grids.
Chan, W. M. and Buning, P. G., "User's Manual for FOMOCO Utilities - Force and Moment Computation Tools for Overset Grids," NASA TM 110408, July, 1996.
Details of the hybrid grid generation algorithm are found in
Chan, W. M., "Enhancements to the Hybrid Mesh Approach to Surface Loads Integration on Overset Structured Grids," AIAA Paper 2009-3990, 19th AIAA Computational Fluid Dynamics Conference, San Antonio, Texas, June, 2009.
Chan, W. M. and Buning, P. G., Zipper Grids for Force and Moment Computation on Overset Grids, AIAA Paper 95-1681, in Proceedings of the 12th AIAA Computational Fluid Dynamics Conference, San Diego, California, June, 1995.
Click here for notes on using OVERINT for incompressible flow solutions.
Comments, questions, bug reports can be sent to William.M.Chan@nasa.gov.
mixsur < [input parameters filename] > [output messages filename]
overint < [input parameters filename] > [output messages filename]
------------------------------------------------------------------------------------
Description File Type Filename
------------------------------------------------------------------------------------
Surface or volume grids * PLOT3D unformatted multiple grid file x.save or grid.in
with domain connectivity iblanks
Solution Q file * PLOT3D unformatted multiple grid file q.save
Input parameters (STDIN) ** ASCI
------------------------------------------------------------------------------------
* must supply at least 2 planes from all walls for viscous force computation
** the same input parameters file is used to run both MIXSUR and OVERINT
-------------------------------------------------------------------------
Filename Description Format
-------------------------------------------------------------------------
grid.ibi surface subsets with integration iblanks PLOT3D
zips.tri surface triangulation for zipper grids CART3D
grid.i.tri surface triangulation for entire domain CART3D
nvpris.i.tri surface triangles that result in negative CART3D
volume prisms
grid.ib surface subsets with domain connectivity PLOT3D
iblanks
grid.bnd gap boundary strings PLOT3D
grid.sst gap boundary sub-strings PLOT3D
-------------------------------------------------------------------------
MIXSUR also writes a CART3D surface triangulation file called grid.i.tri over the
entire surface domain. This triangulation consists of all the quads and triangles on
the hybrid surface.
If the WRTRI input parameter is provided (see input sample below), MIXSUR also writes
a CART3D triangulation file called $cn.i.tri for each component defined in the mixsur input
file with WRTRI=1, where $cn is a component name. Each file contains all triangulated quads
and zipper grids that belong to that component.
MIXSUR also writes a PLOT3D surface grid file with domain connectivity iblanks grid.ib. This file can be used to look at surface iblanks before integration iblanks are introduced.
MIXSUR also writes a PLOT3D fake Q file q.gmm for the geometric moments about (XMC,YMC,ZMC), the moment reference center prescribed in the mixsur input file. The vector sum of the moments of each cell about (XMC,YMC,ZMC) is stored in Q2,Q3,Q4. Functions in this file can be visualized with grid.ibi as the grid file.
Q1 = geometric moment in x (fun 100) Q2 = geometric moment in x (fun 160) Q3 = geometric moment in y (fun 161) Q4 = geometric moment in z (fun 162) Q5 = geometric moment in x (fun 163)
OVERINT can reads the above grid.i.tri file and outputs an annotated CART3D triangulation file called grid.i.triq which contains the grid plus 13 q dependent flow variables on the triangulated surface:
q1 = Cp [ (p - p_inf)/(0.5*FSMACH*FSMACH) ]
q2-q6 = rho, rho u, rho v, rho w, e
q7 = laminar viscosity
q8-10 = zeta derivative of u,v,w
q11-13 = delta_x, delta_y, delta_z for vector from vertex on surface to
vertex on layer of points adjacent to surface
(since the triq files are single precision, it is more accurate
to write out the delta_x/y/z rather than the actual x,y,z coordinates
of the neighboring layer of points, and have other application codes
read this in double precision to regenerate the neighboring layer
of points)
If a q.turb file is present, OVERINT will extract the turbulent eddy viscosity from this file, add it to the laminar viscosity and use it in the viscous force computations.
OVERINT also writes the following files for further analysis:
q.sur Q on surface
q.pfr Fake Q file for local pressure force coef. components (xyz axes)
q.vfr Fake Q file for local viscous force coef. components (xyz axes)
using integration iblanks only (gaps in zipper regions)
q.sfr Fake Q file for local viscous force coef. components (xyz axes)
using domain connectivity iblanks only (no gaps in zipper regions).
Q5 in this file is the skin friction coefficient
pfr.com PLOT3D command file for q.pfr (xyz axes)
vfr.com PLOT3D command file for q.vfr (xyz axes)
sfr.com PLOT3D command file for q.sfr (xyz axes)
The q files q.sur, q.pfr q.vfr can be read with grid.ibi as the grid file. The q file q.sfr should be read with grid.ib as the grid file. The q variables in q.pfr, q.vfr, q.sfr are (PLOT3D function numbers are given in parenthesis):
Q1 = local cell area (fun 100) Q2 = pressure/viscous force coef in x (fun 160) Q3 = pressure/viscous force coef in y (fun 161) Q4 = pressure/viscous force coef in z (fun 162) Q5 = magnitude of pressure/viscous force coef (fun 163)
The PLOT3D command files plot Q5 by default. The force vector can be displayed with fun 202.
Version 1.1o (and later) of OVERINT also writes additional q files in wind axes components.
q.pfrw Fake Q file for local pressure force coef. components (wind axes) q.vfrw Fake Q file for local viscous force coef. components (wind axes) pfrw.com PLOT3D command file for q.pfr (wind axes) vfrw.com PLOT3D command file for q.vfr (wind axes) Q1 = local cell area (fun 100) Q2 = pressure/viscous force coef in drag dir. (fun 160) Q3 = pressure/viscous force coef in side dir. (fun 161) Q4 = pressure/viscous force coef in lift dir. (fun 162) Q5 = magnitude of pressure/viscous force coef (fun 163)
Version 2.0d (and later) of OVERINT also writes additional CART3D .i.tri files for visualization of local forces and moments on the geometry surface.
fonor0.i.tri unnormalized local forces at the cell-centers of triangulated geometry surface fonor1.i.tri normalized local forces at the cell-centers of triangulated geometry surface monor0.i.tri unnormalized local moments at the cell-centers of triangulated geometry surface monor1.i.tri normalized local moments at the cell-centers of triangulated geometry surfaceEach of these .i.tri files contains 14 cell-centered scalar variables in an extended CART3D format that is readable by version 2.3o or later of OVERGRID where
Scalar 1 = component ID Scalars 2,3,4 = X,Y,Z components of local total force or moment (sum of pressure, viscous, momentum) Scalars 5,6,7 = X,Y,Z components of local pressure force or moment Scalars 8,9,10 = X,Y,Z components of local viscous force or moment Scalars 11,12,13 = X,Y,Z components of local momentum force or moment Scalar 14 = local cell areaNote that unnormalized local forces and moments will be affected by the local cell area, i.e., larger cell areas will produce larger forces and moments just because of the larger area. Normalized local forces and moments are scaled by the local cell area.
OVERINT computes the force vector element at the cell centers. Values at the node points are obtained by averaging neighboring unblanked cells. The coefficient Cf at a node is then computed by
Delta_f_node
Cf_node = -------------------------------------
0.5 * rho_inf * U_inf * U_inf * Aref
where Delta_f_node = the integral of the pressure or viscous stress tensor
at the node obtained by averaging over neighboring
unblanked cells
rho_inf = non-dimensional free stream density = 1
U_inf = non-dimensional free stream speed = Mach number
Aref = reference area assumed to be 1
The final Cf may have to be divided by a reference area which is assumed
to be 1 currently.
0.8, 2.0, 0.0, 0.0, 1.4, 507.0 FSMACH,ALPHA,BETA,REY,GAMINF,TINF
3, 0, 0, 1.225, 340.294, 1. NREF,INTPR,OUTUNITS,RHOINF,AINF,GRLEN
1.0, 1.0, 0.0, 0.0, 0.0 REFL,REFA,XMC,YMC,ZMC
1.0, 1.0, 0.0, 0.0, 0.0, 2.0, 1.0 REFL,REFA,XMC,YMC,ZMC,REFLY,REFLZ
1.0, 1.0, 0.5, 0.2, 0.0, 0.5, 1.0, 0.1 REFL,REFA,XMC,YMC,ZMC,XMH,YMH,ZMH
1 NSURF
4, 1 NSUB, IREF
1, 3, 1, -1, 2, -2, 1, 1 NG,IBDIR,JS,JE,KS,KE,LS,LE
2, 3, 19, 219, 1, -1 1, 1 NG,IBDIR,JS,JE,KS,KE,LS,LE
3, 3, 1, -1, 1, 14 1, 1 NG,IBDIR,JS,JE,KS,KE,LS,LE
3, 3, 19, 219, 14, -1 1, 1 NG,IBDIR,JS,JE,KS,KE,LS,LE
1 NPRI
3, 1 NU1,NU2
1 NCOMP
wing
1, 1, 1 NIS,IREFC,WRTRI
1
FSMACH > 0 Free stream Mach number
<= 0 Read free stream Mach number from q.save
ALPHA in range [-360,360] Angle of attack
outside of [-360,360] Read angle of attack from q.save
BETA in range [-360,360] Side slip angle
outside of [-360,360] Read side slip angle from q.save
REY > 0 Reynolds number for viscous flow
= 0 Inviscid flow assumed
< 0 Read Reynolds number from q.save
GAMINF = Free stream ratio of specific heats
TINF = Free stream temperature (Rankine)
NREF = Number of reference conditions
INTPR = 0 Integrate -(p - p_inf) for pressure forces
1 Integrate -p for pressure forces
(optional, default = 0)
OUTUNITS = 0 Output non-dimensional coefficients for forces/moments/mfr
1 Output dimensional S.I. units for forces/moments/mfr
(Newtons, Newton-meter, kg/s)
2 Output dimensional English units for forces/moments/mfr
(lbf, ft-lbf, slug/s)
(optional, default = 0)
RHOINF > 0 Dimensional free stream density (*)
OUTUNITS = 1, RHOINF units = kg/m^3
2, RHOINF units = slugs/ft^3
AINF > 0 Dimensional free stream sound speed (*)
OUTUNITS = 1, AINF units = m/s
2, AINF units = ft/s
GRLEN > 0 Grid unit length in dimensional units (*)
(i.e., 1 grid unit = GRLEN dimensional length units)
(*) not used and optional if OUTUNITS = 0,
required in same units as OUTUNITS if OUTUNITS > 0
if none supplied, default condition is air at sea level
with GRLEN=1.
Repeat the following for each reference condition
{
REFL > 0 Reference length for fomo coefficients
<= 0 Use 1.0 as default reference length
REFA > 0 Reference area for fomo coefficients
<= 0 Use total integrated surface area from defined
subsets as default reference area
XMC,YMC,ZMC = X,Y,Z coordinates of moment axes center in grid units
irrespective of value of OUTUNITS
REFLY,REFLZ = reference lengths for Y and Z moments
[if 2 extra real optional inputs are found]
XMH,YMH,ZMH = X,Y,Z coordinates of hinge moment axis vector head
[if 3 extra real optional inputs are found] *
}
NSURF = Number of surfaces to compute coefficients
Repeat the following for each integration surface
{
NSUB = Number of subsets that belong to the surface
IREF = Reference conditions set for the surface
Repeat the following for each subset
[
NG = Grid number
IBDIR = Direction of surface normal
(1 = +J, -1 = -J, 2 = +K, -2 = -K, 3 = +L, -3 = -L)
JS,JE = Start and end indices in J
KS,KE = Start and end indices in K
LS,LE = Start and end indices in L
]
NPRI = Number of subset pairs to specify priority
For each subset pair, enter
[
NU1 > 0, NU2 > 0 : Subset numbers within surface where subset NU1 will
be kept if it overlaps subset NU2
or
NU1 < 0, NU2 < 0 : Subset numbers within surface between which no zipper
grids should be created, e.g., abutting subsets
]
}
NCOMP = Number of components
Repeat the following for each component
{
[ component name ]
NIS = Number of integration surfaces for the component
IREFC = Reference conditions set for the component
WRTRI = 0 do not write CART3D i.tri triangulation file for component
1 write CART3D {component_name}.i.tri triangulation file for component
(optional, default is 0)
[ List of surface numbers for surfaces, negative numbers will contribute
negative forces/moments to the total ]
}
* If optional input XMH,YMH,ZMH are present, the hinge moment axis vector
base is taken from XMC,YMC,ZMC.