disk01_rule


disk01_rule, an Octave code which computes a quadrature rule over the interior of the unit disk in 2D.

The user specifies values NT and NR, where NT is the number of equally spaced angles, and NR controls the number of radial points. The program returns vectors T(1:NT), R(1:NR) and W(1:NR), which define the rule Q(f).

To use a rule that is equally powerful in R and T, typically, set NT = 2 * NR.

Given NT and NR, and the vectors T, R and W, the integral I(f) of a function f(x,y) is estimated by Q(f) as follows:

        s = 0.0
        for j = 1, nr
          for i = 1, nt
            x = r(j) * cos ( t(i) )
            y = r(j) * sin ( t(i) )
            s = s + w(j) * f ( x, y )
          end
        end
        area = pi;
        q = area * s;
      

Licensing:

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

Languages:

disk01_rule is available in a C version and a C++ version and a Fortran90 version and a MATLAB version and an Octave version and a Python version.

Related Data and Programs:

disk01_rule_test

alpert_rule, an Octave code which sets up an Alpert quadrature rule for functions which are regular, log(x) singular, or 1/sqrt(x) singular.

annulus_rule, an Octave code which computes a quadrature rule for estimating integrals of a function over the interior of a circular annulus in 2d.

circle_rule, an Octave code which computes quadrature rules over the circumference of the unit circle in 2d.

cube_felippa_rule, an Octave code which returns the points and weights of a felippa quadrature rule over the interior of a cube in 3d.

disk_rule, an Octave code which computes quadrature rules over the interior of a disk in 2d with center (xc,yc) and radius rc.

disk01_quarter_rule, an Octave code which computes a quadrature rule over the interior of the unit quarter disk in 2d, with radius 1 and center (0,0).

pyramid_felippa_rule, an Octave code which returns felippa's quadratures rules for approximating integrals over the interior of a pyramid in 3d.

pyramid_rule, an Octave code which computes a quadrature rule over the interior of a pyramid in 3d.

sphere_lebedev_rule, an Octave code which computes lebedev quadrature rules on the surface of the unit sphere in 3d.

square_felippa_rule, an Octave code which returns the points and weights of a felippa quadrature rule over the interior of a square in 2d.

stroud, an Octave code which defines quadrature rules for a variety of m-dimensional regions, including the interior of the square, cube and hypercube, the pyramid, cone and ellipse, the hexagon, the m-dimensional octahedron, the circle, sphere and hypersphere, the triangle, tetrahedron and simplex, and the surface of the circle, sphere and hypersphere.

tetrahedron_felippa_rule, an Octave code which returns felippa's quadratures rules for approximating integrals over the interior of a tetrahedron in 3d.

triangle_fekete_rule, an Octave code which defines fekete rules for quadrature or interpolation over the interior of a triangle in 2d.

triangle_felippa_rule, an Octave code which returns felippa's quadratures rules for approximating integrals over the interior of a triangle in 2d.

wedge_felippa_rule, an Octave code which returns quadratures rules for approximating integrals over the interior of the unit wedge in 3d.

Reference:

  1. Philip Davis, Philip Rabinowitz,
    Methods of Numerical Integration,
    Second Edition,
    Dover, 2007,
    ISBN: 0486453391,
    LC: QA299.3.D28.
  2. Sylvan Elhay, Jaroslav Kautsky,
    Algorithm 655: IQPACK, FORTRAN Subroutines for the Weights of Interpolatory Quadrature,
    ACM Transactions on Mathematical Software,
    Volume 13, Number 4, December 1987, pages 399-415.

Source Code:


Last revised on 08 January 2019.