NOTE: GSMOOTH's option to check cell volumes has been its only use at
Ames in recent years. Nevertheless, as a driver for ELLIP3D, it
may prove helpful to somebody some day.
GSMOOTH applies the elliptic grid smoothing utility, ELLIP3D, to the
specified block of a multiblock grid file (or to a single-block grid).
The smoothing is CPU-intensive enough that treating more than one block
can reasonably be expected to be done with separate runs. The standard
PLOT3D formats are supported (formatted or unformatted, with or without
IBLANK). (Actually, translation from the CFD_IO_PACKAGE to the XYZQ_IO
package has lost the IBLANK option, though it could easily be restored
if the need arises since XYZQ_IO has iblank analogues.)
This version can be used to check cell volumes of the target block
(and nothing else except perhaps extract the block) by using ITMAX = 0.
ITMAX = -1 checks the cell volumes for ALL blocks (and nothing else).
Only Euler-type grid blocks are likely to be smoothed successfully--
Navier-Stokes-type blocks should be derived from smoothed Euler blocks.
Sample Control File (gsmooth.inp):
ITMAX OMEGA CONV EXPI1/I2/J1/J2/K1/K2 BGPHI BGPSI BGOMG FGMODE
100 1.3 4.0 .45 .45 .45 .45 .45 .45 'YYYY' 'YYYY' 'YYYY' 'YYYYYY'
PRINT FGLIM URFG
F 1.0 0.1
Control Descriptions:
(Here, "foreground" refers to control of orthogonality at a boundary;
"background" refers to control of interior spacing from a boundary.)
ITMAX Number of smoothing iterations:
0 means just check cell volumes for the target block (and
maybe extract the block);
-1 means check the cell volumes of ALL blocks (& nothing else)
OMEGA Over-relaxation factor for SLOR smoothing iterations
CONV Number of orders of magnitude reduction in max. dX, dY, or dZ
EXPI1 Exponential decay factors for the foreground terms at the
EXPI2 6 faces
EXPJ1
EXPK1
EXPK2
BGPHI 'YYYY' turns on background control of interior spacing from
the I faces (Phi effects) at edges J1, J2, K1, K2 resp.
BGPSI 'YYYY' turns on background control of interior spacing from
the J faces (Psi effects) at edges I1, I2, K1, K2 resp.
BGOMG 'YYYY' turns on background control of interior spacing from
the K faces (Omega effects) at edges I1, I2, J1, J2, resp.
FGMODE 'NNNNNN' turns off foreground effects at all 6 faces;
'YYYYYY' turns on index-based orthogonality control;
any mixture of controls is permitted (e.g., 'NYYYNN')
PRINT T displays 3-D smoothing iterations in gsmooth.out
FGLIM Growth limiter for foreground terms
URFG Under-relaxation factors for changes in foreground terms
History:
06/30/99 D.A.Saunders Initial implementation.
07/03/99 " " ELLIP3D's writes to unit 6 must come to the
screen, so forget about a printable output file.
02/22/00 " " Suppress the full-size output file if the number
of smoothing iterations is 0. The optional copy
of the target block remains an option. Also,
check ALL block cell volumes if ITMAX = -1.
02/10/14 " " Replaced CFD_IO_PACKAGE with xyzq_io package.
03/12/22 " " Handy test program for verifying pyramid_volume
and hex_volume (alternatives to Antony Jameson's
approach in subroutine cellvol, intended for
unstructured grids).
03/15/22 " " Test alternative tet_vol and hex_vol similarly.
03/16/22 " " The 03/15/22 approach is preferable. Retain it
as corroboration of the Jameson scheme. Monitor
the volume summed over all blocks as a further
comparison.
Author: David Saunders, ERC, Inc./NASA Ames Research Center, CA.