GRID is a FORTRAN90 library, using double precision arithmetic, which randomly selects N points on a uniform grid in the unit hypercube in M-dimensional space.
Note that, unless N is an Mth power of an integer, the program must generate a regular grid with too many points, and then omit some. Choosing which points to omit is done with a random number generator, whose actions are controlled by SEED.
The actual placement of the grid within the unit hypercube leaves some options for the use. It is easiest to describe the options in the 1 dimensional case, and in terms of where the first and last grid point are. Assuming we have N evenly spaced points to place between 0 and 1, the centering options are
CLENSHAW_CURTIS is a FORTRAN90 library which can set up a Clenshaw Curtis quadrature grid in multiple dimensions.
CVT is a FORTRAN90 library which computes elements of a Centroidal Voronoi Tessellation.
FAURE is a FORTRAN90 library which computes elements of a Faure quasirandom sequence.
GRID is also available in a C++ version and a MATLAB version.
GRID_DATASET is a FORTRAN90 program which allows the user to specify a grid dataset.
HALTON is a FORTRAN90 library which computes elements of a Halton quasirandom sequence.
HAMMERSLEY is a FORTRAN90 library which computes elements of a Hammersley quasirandom sequence.
HEX_GRID is a FORTRAN90 library which computes elements of a hexagonal grid dataset.
HEX_GRID_ANGLE is a FORTRAN90 library which computes elements of an angled hexagonal grid dataset.
IHS is a FORTRAN90 library which computes elements of an improved distributed Latin hypercube dataset.
LATIN_CENTER is a FORTRAN90 library which computes elements of a Latin Hypercube dataset, choosing center points.
LATIN_EDGE is a FORTRAN90 library which computes elements of a Latin Hypercube dataset, choosing edge points.
LATIN_RANDOM is a FORTRAN90 library which computes elements of a Latin Hypercube dataset, choosing points at random.
LCVT is a FORTRAN90 library which computes a latinized Centroidal Voronoi Tessellation.
NIEDERREITER2 is a FORTRAN90 library which computes elements of a Niederreiter quasirandom sequence with base 2.
NORMAL is a FORTRAN90 library which computes elements of a sequence of pseudorandom normally distributed values.
SOBOL is a FORTRAN90 library which computes elements of a Sobol quasirandom sequence.
UNIFORM is a FORTRAN90 library which computes elements of a uniform pseudorandom sequence.
VAN_DER_CORPUT is a FORTRAN90 library which computes elements of a van der Corput quasirandom sequence.
You can go up one level to the FORTRAN90 source codes.