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 85
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