SIMPLEX_GRID Regular Grid Within a Simplex

SIMPLEX_GRID is a FORTRAN90 library which generates a grid of points over the interior of a simplex in M dimensions.

Languages:

SIMPLEX_GRID is available in a C version and a C++ version and a FORTRAN77 version and a FORTRAN90 version and a MATLAB version and a Python version.

Related Data and Programs:

ASA299, a FORTRAN90 library which computes the lattice points in an M-dimensional simplex, by Chasalow and Brand; this is a version of Applied Statistics Algorithm 299;

BALL_GRID, a FORTRAN90 library which computes a grid of points over the interior of a ball in 3D.

CIRCLE_ARC_GRID, a FORTRAN90 program which computes points equally spaced along a circular arc in 2D.

CUBE_GRID, a FORTRAN90 library which computes a grid of points over the interior of a cube in 3D.

DISK_GRID, a FORTRAN90 library which computes a grid of points over the interior of a disk in 2D.

ELLIPSE_GRID, a FORTRAN90 library which computes a grid of points over the interior of an ellipse in 2D.

ELLIPSOID_GRID, a FORTRAN90 library which computes a grid of points over the interior of an ellipsoid in 3D.

FEM_BASIS, a FORTRAN90 library which can define basis functions for the finite element method (FEM) for any degree in an M-dimensional simplex (1D interval, 2D triangle, 3D tetrahedron, and higher dimensional generalizations.)

HYPERCUBE_GRID, a FORTRAN90 library which computes a grid of points over the interior of a hypercube in M dimensions.

LINE_GRID, a FORTRAN90 library which computes a grid of points over the interior of a line segment in 1D.

POLYGON_GRID, a FORTRAN90 library which generates a grid of points over the interior of a polygon in 2D.

PYRAMID_GRID, a FORTRAN90 library which computes a grid of points over the interior of the unit pyramid in 3D;

SPHERE_CUBED_GRID, a FORTRAN90 library which uses the projection of a cube to create grids of points, lines, and quadrilaterals on the surface of the unit sphere in 3D.

SPHERE_FIBONACCI_GRID, a FORTRAN90 library which uses a Fibonacci spiral to create a grid of points on the surface of the unit sphere in 3D.

SPHERE_GRID, a FORTRAN90 library which provides a number of ways of generating grids of points, or of points and lines, or of points and lines and faces, on the surface of the unit sphere in 3D.

SPHERE_LLQ_GRID, a FORTRAN90 library which uses longitudes and latitudes to create grids of points, lines, and quadrilaterals on the surface of the unit sphere in 3D.

SPHERE_LLT_GRID, a FORTRAN90 library which uses longitudes and latitudes to create grids of points, lines, and triangles on the surface of the unit sphere in 3D.

TETRAHEDRON_GRID, a FORTRAN90 library which computes a grid of points over the interior of a tetrahedron in 3D.

TRIANGLE_GRID, a FORTRAN90 library which computes a grid of points over the interior of a triangle in 2D.

WEDGE_GRID, a FORTRAN90 library which computes a grid of points over the interior of the unit wedge in 3D.

List of Routines:

• COMP_NEXT_GRLEX returns the next composition in grlex order.
• COMP_RANDOM selects a random composition of the integer N into K parts.
• I4_UNIFORM_AB returns a scaled pseudorandom I4 between A and B.
• I4MAT_TRANSPOSE_PRINT prints an I4MAT, transposed.
• I4MAT_TRANSPOSE_PRINT_SOME prints some of the transpose of an I4MAT.
• KSUB_RANDOM selects a random subset of size K from a set of size N.
• R8MAT_TRANSPOSE_PRINT prints an R8MAT, transposed.
• R8MAT_TRANSPOSE_PRINT_SOME prints some of an R8MAT, transposed.
• SIMPLEX_GRID_INDEX_ALL returns all the simplex grid indices.
• SIMPLEX_GRID_INDEX_NEXT returns the next simplex grid index.
• SIMPLEX_GRID_INDEX_SAMPLE returns a random simplex grid index.
• SIMPLEX_GRID_INDEX_TO_POINT returns points corresponding to simplex indices.
• SIMPLEX_GRID_SIZE counts the grid points inside a simplex.
• TIMESTAMP prints the current YMDHMS date as a time stamp.

You can go up one level to the FORTRAN90 source codes.

Last revised on 31 July 2014.