TRIANGLE_MONTE_CARLO
Monte Carlo Integral Estimates over a General Triangle


TRIANGLE_MONTE_CARLO is a FORTRAN90 library which uses the Monte Carlo method to estimate the integral of a function F(X,Y) over the interior of a general triangle in 2D.

The library makes it relatively easy to compare different methods of producing sample points in the triangle, and to vary the triangle over which integration is carried out.

Licensing:

The computer code and data files described and made available on this web page are distributed under the GNU LGPL license.

Languages:

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

Related Data and Programs:

BALL_MONTE_CARLO, a FORTRAN90 library which applies a Monte Carlo method to estimate integrals of a function over the interior of the unit ball in 3D;

CIRCLE_MONTE_CARLO, a FORTRAN90 library which applies a Monte Carlo method to estimate the integral of a function on the circumference of the unit circle in 2D;

DISK_MONTE_CARLO, a FORTRAN90 library which applies a Monte Carlo method to estimate the integral of a function over the interior of the unit disk in 2D;

DUNAVANT, a FORTRAN90 library which defines Dunavant rules for quadrature on a triangle.

FEKETE, a FORTRAN90 library which defines Fekete rules for interpolation or quadrature on a triangle.

FELIPPA, a FORTRAN90 library which defines quadrature rules for lines, triangles, quadrilaterals, pyramids, wedges, tetrahedrons and hexahedrons.

GM_RULE, a FORTRAN90 library which defines Grundmann-Moeller rules for quadrature over a triangle, tetrahedron, or general M-dimensional simplex.

HYPERBALL_MONTE_CARLO, a FORTRAN90 library which applies a Monte Carlo method to estimate the integral of a function over the interior of the unit hyperball in M dimensions;

HYPERBALL_VOLUME_MONTE_CARLO, a FORTRAN90 program which applies a Monte Carlo method to estimate the volume of the unit hyperball in M dimensions;

HYPERSPHERE_MONTE_CARLO, a FORTRAN90 library which applies a Monte Carlo method to estimate the integral of a function on the surface of the unit sphere in M dimensions;

NCC_TRIANGLE, a FORTRAN90 library which defines Newton-Cotes Closed quadrature rules on a triangle.

NCO_TRIANGLE, a FORTRAN90 library which defines Newton-Cotes Open quadrature rules on a triangle.

RANDOM_DATA, a FORTRAN90 library which generates sample points for various probability distributions, spatial dimensions, and geometries;

SPHERE_MONTE_CARLO, a FORTRAN90 library which uses the Monte Carlo method to estimate integrals over the surface of the unit sphere in 3D.

STROUD, a FORTRAN90 library which defines quadrature rules for a variety of multidimensional reqions.

TEST_INT_TRIANGLE, a FORTRAN90 library which implements test functions for integration over the interior of a triangle.

TETRAHEDRON_MONTE_CARLO, a FORTRAN90 library which uses the Monte Carlo method to estimate integrals over a tetrahedron.

TRIANGLE_EXACTNESS, a FORTRAN90 program which investigates the polynomial exactness of a quadrature rule for the triangle.

TRIANGLE01_MONTE_CARLO, a FORTRAN90 library which uses the Monte Carlo method to estimate integrals over the interior of the unit triangle in 2D.

WANDZURA, a FORTRAN90 library which defines Wandzura rules for quadrature on a triangle.

Reference:

  1. Claudio Rocchini, Paolo Cignoni,
    Generating Random Points in a Tetrahedron,
    Journal of Graphics Tools,
    Volume 5, Number 4, 2000, pages 9-12.
  2. Reuven Rubinstein,
    Monte Carlo Optimization, Simulation and Sensitivity of Queueing Networks,
    Krieger, 1992,
    ISBN: 0894647644,
    LC: QA298.R79.
  3. Greg Turk,
    Generating Random Points in a Triangle,
    in Graphics Gems I,
    edited by Andrew Glassner,
    AP Professional, 1990,
    ISBN: 0122861663,
    LC: T385.G697

Source Code:

Examples and Tests:

List of Routines:

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


Last revised on 15 August 2009.