The interactive file manager requires Javascript. Please enable it or use sftp or scp.
You may still browse the files here.

Download Latest Version geomlib.tar.gz (58.3 kB)
Email in envelope

Get an email when there's a new version of CFD Utilities

Home / gridlib
Name Modified Size InfoDownloads / Week
Parent folder
README 2025-06-16 6.4 kB
changen1d_gf.f90 2025-06-16 6.6 kB
changen1d.f90 2025-01-18 4.6 kB
shockgrid.f90 2023-12-15 5.5 kB
morph_segment.f90 2023-11-20 11.8 kB
vertices_to_centers.f90 2023-09-28 10.9 kB
surface_c2v.f90 2023-03-22 7.1 kB
adjustn.f90 2021-07-13 4.4 kB
changen2d.f 2021-07-10 2.5 kB
changen.f 2021-07-09 3.8 kB
curvdis.f90 2019-11-01 27.7 kB
flow_gradients_2d.f90 2018-08-14 5.1 kB
determine_grid_dim.f90 2018-07-01 5.0 kB
determine_grid_form.f90 2016-10-24 3.8 kB
vertices_to_centers_2d.f90 2015-07-30 6.2 kB
curvdis2.f90 2014-12-01 5.3 kB
curvdis_l.f 2014-04-25 14.5 kB
graddis3d2.f90 2013-12-03 6.3 kB
graddis2.f90 2013-12-03 6.3 kB
graddis.f 2013-12-03 9.6 kB
graddis3d.f 2013-12-03 10.0 kB
curvdis3d2.f90 2013-11-30 4.9 kB
curvdis3d.f 2013-11-29 15.9 kB
curvdis_behavior.f90 2013-10-24 3.0 kB
gridspec.f 2013-08-17 10.9 kB
adjustn2.f90 2013-03-07 2.4 kB
catenary_grid.f90 2011-10-13 2.8 kB
arbdis.f 2011-09-04 17.9 kB
min_max_curv_edge_2d.f90 2011-01-07 9.4 kB
flow_gradients_nf.f90 2010-02-04 6.4 kB
flow_gradients.f90 2010-02-04 6.0 kB
warpq3d2.f90 2009-12-13 12.5 kB
expdis5.f 2009-10-15 12.5 kB
distrib.f 2009-08-14 40.0 kB
uniform_edge.f90 2008-06-11 3.4 kB
foilgrd.f 2007-10-25 3.2 kB
shockgrid.f 2006-07-03 2.6 kB
permute_block_2d.f90 2005-11-06 6.5 kB
smooth1d.f 2005-10-04 1.5 kB
copy_face.f90 2005-09-10 3.2 kB
average_increments.f90 2005-09-09 2.6 kB
permute_block.f90 2005-08-22 11.3 kB
morph_line_3d.f 2005-06-14 17.0 kB
htdis4.f 2005-01-24 22.4 kB
cellvol.f 2004-04-22 4.4 kB
modgrid4.f 2004-04-11 7.9 kB
nuline2d.f 2004-04-11 2.2 kB
nuline3d.f 2004-04-11 2.5 kB
skew2d.f 2004-04-11 5.9 kB
smoothx.f 2004-04-11 8.6 kB
tfi2d.f 2004-04-11 7.1 kB
tfi3d.f 2004-04-11 8.8 kB
tfint3d.f 2004-04-11 3.9 kB
tfint3f.f 2004-04-11 6.2 kB
tfiq3d.f 2004-04-11 5.4 kB
tfiq3xyz.f 2004-04-11 8.2 kB
vinokur.f 2004-04-11 1.4 kB
warp2d.f 2004-04-11 9.9 kB
warp3d.f 2004-04-11 21.6 kB
warpq3d.f 2004-04-11 10.9 kB
xgrid.f 2004-04-11 2.5 kB
delq3d.f 2004-04-11 12.8 kB
dstrib.f 2004-04-11 9.2 kB
ecompass.f 2004-04-11 7.3 kB
ellip2d.f 2004-04-11 40.2 kB
ellip3d.f 2004-04-11 68.3 kB
ellipq3d.f 2004-04-11 52.4 kB
expdis2.f 2004-04-11 8.5 kB
expdis4.f 2004-04-11 8.5 kB
expdis.f 2004-04-11 3.9 kB
fixogrid.f 2004-04-11 7.4 kB
foilgrid.f 2004-04-11 3.8 kB
geodis2.f 2004-04-11 6.2 kB
geodis.f 2004-04-11 7.7 kB
htdis2.f 2004-04-11 21.7 kB
lapgrid.f 2004-04-11 4.4 kB
modgrid2.f 2004-04-11 6.2 kB
modgrid3.f 2004-04-11 5.8 kB
arcdis.f 2004-04-11 16.8 kB
blgrid.f 2004-04-11 2.4 kB
compass.f 2004-04-11 7.5 kB
condis.f 2004-04-11 6.1 kB
stretch.f90 2004-03-23 2.7 kB
Totals: 83 Items   808.6 kB 0
This gridlib collection has arisen from decades of application programming
at NASA Ames Research Center involving (mostly) structured grids in 2- and
3-space, including many utilities for generating grid point distributions
along a line or curve.  Of these, curvature-based and (extremely precise)
Vinokur-type distributions are most valuable.  See program DISTRIBUTE for
driving such utilities.  Transfinite interpolation, elliptic smoothing, and
grid perturbations are also supported here.

   Compilation warning:  vertices_to_centers[_2d].f90 use the module in
   grid_block_structure.f90, which can be found in subdirectory /xyzq_io.

adjustn.f90        Variant of CHANGEN as needed for treating periodic data
adjustn2.f90       Change # pts. and/or relative spacing on a 3-space curve
arbdis.f           Make point spacing proportional to an arbitrary shape
arcdis.f           Arc-length redistribution wrapped around DISTRIB utility
average_increments.f90  Average off-face-1-6 spacings for one grid block
blgrid.f           Boundary-layer-type distribn.: geometric and/or Vinokur
catenary_grid.f90  Catenary curve (L|R|both halves) discretized as n points
cellvol.f          Hex cell volume via 6 pyramids, from A. Jameson's FLO87
changen1d.f90      Change # pts. in a 1-D interval; same relative distrbn.
changen1d_gf.f90   Variant of changen1d that handles optional function data
changen2d.f        Change # pts. on a 2-sp. curve;  same relative distrbn.
changen.f          Change # pts. on a 3-sp. curve;  same relative | uniform
compass.f          Locates the intersection of a 2-space circle and a curve
condis.f           Exponential distribn. constraining x(m) to be xm exactly
copy_face.f90      Copy a volume block face to a surface patch; keep R-hand
curvdis.f          Curvature-based redistribution along 2-space curve
curvdis_l.f        CURVDIS variant using linear interpolation for x & y
curvdis2.f90       Normalize (x,y) data, apply CURVDIS, then denormalize
curvdis3d.f        3-space variant of CURVDIS; both employ ARBDIS
delq3d.f           Stage 1 of grid perturbation common to WARP3D & WARPQ3D
determine_grid_dim.f90   Determine whether a PLOT3D-type grid is 2-D or 3-D
determine_grid_form.f90  Ascertain existence & form of a grid|function file
distrib.f          High-level driver for the numerous 1-D point distribns.
dstrib.f           Early sinusoidal or uniform point distributions
ecompass.f         Ellipse variant of COMPASS circle/curve intersection
ellip2d.f          Elliptic vol. grid smoothing in 2-sp.; edge float option
ellip3d.f          3-space analogue of ELLIP2D (Sorenson/Thomas-Middlecoff)
ellipq3d.f         3-space surface analogue of ELLIP2D
expdis.f           1-sided Vinokur stretching (or sym. 2-sided), given beta
expdis2.f          Inverse variant of EXPDIS; find/use beta for given dx1
expdis4.f          Variant of EXPDIS2 without the mixed precision; use -r8
expdis5.f          Recommended EXPDIS4 variant with geometric safeguard
fixogrid.f         Portion of a hyperbolic OH grid generator; uses ECOMPASS
flow_gradients.f90 Compute partial df/dx etc. at all structured block pts.
flow_gradients_nf.f90   Multiple-function form of FLOW_GRADIENTS
flow_gradients_2d.f90   2-D form of FLOW_GRADIENTS_NF
foilgrd.f          Airfoil-type distrib.: linear, quadratic, sine, & cosine
foilgrid.f         Earlier variant with sine & quadratic + LE refinement
geodis.f           Generalized geometric-type 1-sided distribution
geodis2.f          2-sided variant of GEODIS; both include [non]zero powers
graddis.f          Gradient-based redistribution along a 2-space curve
graddis2.f90       Normalize (x,y) and f data; apply GRADDIS; denormalize
graddis3d.f        3-space variant of GRADDIS; both employ ARBDIS
graddis3d2.f90     Normalize (x,y,z) & f data; apply GRADDIS3D; denormalize
grid_block_structure.f90    Derived data type module for a structured block
gridspec.f         File-driven scheme for sequences of 1-D distributions
htdis2.f           2-sided Vinokur-type stretching; mixed precision
htdis4.f           Recommended variant of HTDIS2; use -r8 for all-64-bit
lapgrid.f          Laplace solution for a 2-space volume grid (Sorenson)
min_max_curv_edge_2d.f90  Prompted by a 2-D outflow grid bndry. requirement
modgrid2.f         For airfoil shape optimization grid line perturbations
modgrid3.f         B-spline airfoil variant of MODGRID2
modgrid4.f         Wing shape optimization variant of MODGRID2
morph_line_3d.f    Variant of NULINE3D controls end pts. AND end-pt. slopes
morph_segment.f90  Rediscretize a 3-sp. line with same relative distrib. as another
nuline2d.f         Adjust interior pts. of a 2-sp. curve given new end pts.
nuline3d.f         Adjust interior pts. of a 3-sp. curve given new end pts.
permute_block.f90  Permute grid block indices so k = 1 at indicated face
permute_block_2d.f90    2-space variant of PERMUTE_BLOCK
shockgrid.f        Attempt to resolve a shock along a hypersonic grid line
skew2d.f           2-space quad mesh quality checker
smooth1d.f         Arc-length-based explicit smoothing of one function
smoothx.f          Merge desired X(s) smoothly into an X distribution
stretch.f90        Dinesh Prabhu's equiv. of EXPDIS2 using beta start guess
surface_c2v.f90    Convert cell-centered surface data with halo cells to vertices
tfi2d.f            Transfinite interpoln. (interior pts., 2-sp. structured)
tfi3d.f            Transfinite interpoln. (interior pts., 3-sp. structured)
tfint3d.f          3-sp. interpolation from faces to interior, 1 function
tfint3f.f          3-fn. variant of TFINT3D; 3-stage Thompson/Warsi/Mastin
tfiq3d.f           3-sp. variant of TFI2D for a k plane (only)
tfiq3xyz.f         More general variant of TFIQ3D for any (sub)plane
uniform_edge.f90   Convert an irregular 3-sp. edge distrib. to ~uniform
vertices_to_centers.f90 Convert  x,y,z[,nf]: vertices to cell centers/1 blk.
vertices_to_centers_2d.f90 Convert x,y[,nf]: vertices to cell centers/1 blk.
vinokur.f          2-sided Vinokur distrib. on some interval via HTDIS4
warp2d.f           Perturb interior of a 2-sp. [sub]grid given new edges
warp3d.f           3-stage 3-sp. analogue of WARP2D's 2-stage 2-sp. method
warpq3d.f          3-sp. surface [sub]patch variant of WARP2D
warpq3d2.f90       Fortran 90 variant of WARPQ3D (no work-space arguments)
xgrid.f            Simple uniform or sinuisoidal grid pt. distributions
Source: README, updated 2025-06-16