FELIPPA
Finite Element Quadrature Rules
FELIPPA
is a FORTRAN90 library which
generates the points and weights of a quadrature rule for a variety
of 1D, 2D and 3D regions of interest for computations
involving the finite element method (FEM).
Regions for which rules are available, with a count of Corners, Edges, and Faces, include:
| Name | Acronym | C+E+F |
| Line segment | Line | 2+1+0 |
| Triangle | Trig | 3+3+1 |
| Quadrilateral | Quad | 4+4+1 |
| Tetrahedron | Tetr | 4+6+4 |
| Wedge | Wedg | 6+9+5 |
| Pyramid | Pyra | 5+8+5 |
| Hexahedron | Hexa | 8+12+6 |
Licensing:
The computer code and data files described and made available on this web page
are distributed under
the GNU LGPL license.
Languages:
FELIPPA is available in
a C++ version and
a FORTRAN90 version and
a MATHEMATICA version and
a MATLAB version.
Related Data and Programs:
DUNAVANT,
a FORTRAN90 library which
defines Dunavant rules for quadrature on a triangle.
FEKETE,
a FORTRAN90 library which
defines a Fekete rule for quadrature or interpolation over a triangle.
GM_RULE,
a FORTRAN90 library which
defines Grundmann-Moeller rules for quadrature over a triangle, tetrahedron,
or general M-dimensional simplex.
KEAST,
a FORTRAN90 library which
defines quadrature rules for a tetrahedron.
LYNESS_RULE,
a FORTRAN90 library which
returns Lyness-Jespersen quadrature rules for the triangle.
NCC_TETRAHEDRON,
a FORTRAN90 library which
defines Newton-Cotes closed quadrature rules on a tetrahedron.
NCC_TRIANGLE,
a FORTRAN90 library which
defines Newton-Cotes closed quadrature rules on a triangle.
NCO_TETRAHEDRON,
a FORTRAN90 library which
defines Newton-Cotes open quadrature rules on a tetrahedron.
NCO_TRIANGLE,
a FORTRAN90 library which
defines Newton-Cotes open quadrature rules on a triangle.
PRODUCT_RULE,
a FORTRAN90 program which
can create a multidimensional quadrature rule as a product of
one dimensional rules.
PYRAMID_RULE,
a FORTRAN90 program which
computes a quadrature rule for a pyramid.
QUADRATURE_RULES_PYRAMID,
a dataset directory which
contains quadrature rules for a pyramid with a square base.
QUADRATURE_RULES_TET,
a dataset directory which
contains quadrature rules for tetrahedrons,
stored as a file of abscissas, a file of weights,
and a file of vertices.
QUADRATURE_RULES_TRI,
a dataset directory which
contains quadrature rules for triangles,
stored as a file of abscissas, a file of weights,
and a file of vertices.
QUADRATURE_RULES_WEDGE,
a dataset directory which
contains quadrature rules for a wedge (a triangle x a straight line).
QUADRULE,
a FORTRAN90 library which
defines quadrature rules on a
variety of intervals with different weight functions.
STROUD,
a FORTRAN90 library which
defines quadrature rules for a variety of unusual areas, surfaces and volumes in 2D,
3D and N-dimensions.
TETRAHEDRON_MONTE_CARLO,
a FORTRAN90 program which
uses the Monte Carlo method to estimate integrals over a tetrahedron.
TETRAHEDRONS,
a dataset directory which
contains examplesof tetrahedrons;
TRIANGLE_MONTE_CARLO,
a FORTRAN90 program which
uses the Monte Carlo method to estimate integrals over a triangle.
WANDZURA,
a FORTRAN90 library which
defines Wandzura rules for quadrature on a triangle.
Reference:
-
Carlos Felippa,
A compendium of FEM integration formulas for symbolic work,
Engineering Computation,
Volume 21, Number 8, 2004, pages 867-890.
Source Code:
Examples and Tests:
List of Routines:
-
COMP_NEXT computes the compositions of the integer N into K parts.
-
HEXA_UNIT_MONOMIAL integrates a monomial over the unit hexahedron.
-
HEXA_UNIT_MONOMIAL_TEST tests HEXA_UNIT_MONOMIAL.
-
HEXA_UNIT_QUAD_TEST tests the rules for the unit hexahedron.
-
HEXA_UNIT_RULE returns a quadrature rule for the unit hexahedron.
-
HEXA_UNIT_VOLUME: volume of a unit hexahedron.
-
LINE_UNIT_MONOMIAL: monomial integral in a unit line.
-
LINE_UNIT_MONOMIAL_TEST tests LINE_UNIT_MONOMIAL.
-
LINE_UNIT_O01 returns a 1 point quadrature rule for the unit line.
-
LINE_UNIT_O02 returns a 2 point quadrature rule for the unit line.
-
LINE_UNIT_O03 returns a 3 point quadrature rule for the unit line.
-
LINE_UNIT_O04 returns a 4 point quadrature rule for the unit line.
-
LINE_UNIT_O05 returns a 5 point quadrature rule for the unit line.
-
LINE_UNIT_QUAD_TEST tests the rules for the unit line.
-
LINE_UNIT_VOLUME: volume of a unit line.
-
MONOMIAL_VALUE evaluates a monomial.
-
PYRA_UNIT_MONOMIAL: monomial integral in a unit pyramid.
-
PYRA_UNIT_MONOMIAL_TEST tests PYRA_UNIT_MONOMIAL.
-
PYRA_UNIT_O01 returns a 1 point quadrature rule for the unit pyramid.
-
PYRA_UNIT_O05 returns a 5 point quadrature rule for the unit pyramid.
-
PYRA_UNIT_O06 returns a 6 point quadrature rule for the unit pyramid.
-
PYRA_UNIT_O08 returns an 8 point quadrature rule for the unit pyramid.
-
PYRA_UNIT_O08B returns an 8 point quadrature rule for the unit pyramid.
-
PYRA_UNIT_O09 returns a 9 point quadrature rule for the unit pyramid.
-
PYRA_UNIT_O13 returns a 13 point quadrature rule for the unit pyramid.
-
PYRA_UNIT_O18 returns an 18 point quadrature rule for the unit pyramid.
-
PYRA_UNIT_O27 returns a 27 point quadrature rule for the unit pyramid.
-
PYRA_UNIT_O48 returns a 48 point quadrature rule for the unit pyramid.
-
PYRA_UNIT_QUAD_TEST tests the rules for the unit pyramid.
-
PYRA_UNIT_VOLUME: volume of a unit pyramid with square base.
-
QUAD_UNIT_MONOMIAL integrates a monomial over the unit quadrilateral.
-
QUAD_UNIT_MONOMIAL_TEST tests QUAD_UNIT_MONOMIAL.
-
QUAD_UNIT_QUAD_TEST tests the rules for the unit quadrilateral.
-
QUAD_UNIT_RULE returns a quadrature rule for the unit quadrilateral.
-
QUAD_UNIT_VOLUME: volume of a unit quadrilateral.
-
R8_CHOOSE computes the binomial coefficient C(N,K) as an R8.
-
R8_MOP returns the I-th power of -1 as an R8.
-
R8MAT_DET_4D computes the determinant of a 4 by 4 matrix.
-
R8MAT_WRITE writes an R8MAT file.
-
R8VEC_DIRECT_PRODUCT creates a direct product of R8VEC's.
-
R8VEC_DIRECT_PRODUCT2 creates a direct product of R8VEC's.
-
SUBCOMP_NEXT computes the next subcomposition of N into K parts.
-
TETR_UNIT_MONOMIAL integrates a monomial over the unit tetrahedron.
-
TETR_UNIT_MONOMIAL_TEST tests TETR_UNIT_MONOMIAL.
-
TETR_UNIT_O01 returns a 1 point quadrature rule for the unit tetrahedron.
-
TETR_UNIT_O04 returns a 4 point quadrature rule for the unit tetrahedron.
-
TETR_UNIT_O08 returns an 8 point quadrature rule for the unit tetrahedron.
-
TETR_UNIT_O08B returns an 8 point quadrature rule for the unit tetrahedron.
-
TETR_UNIT_O14 returns a 14 point quadrature rule for the unit tetrahedron.
-
TETR_UNIT_O14B returns a 14 point quadrature rule for the unit tetrahedron.
-
TETR_UNIT_O15 returns a 15 point quadrature rule for the unit tetrahedron.
-
TETR_UNIT_O15B returns a 15 point quadrature rule for the unit tetrahedron.
-
TETR_UNIT_O24 returns a 24 point quadrature rule for the unit tetrahedron.
-
TETR_UNIT_QUAD_TEST tests the rules for the unit tetrahedron.
-
TETR_UNIT_VOLUME returns the volume of the unit tetrahedron.
-
TIMESTAMP prints the current YMDHMS date as a time stamp.
-
TRIG_UNIT_MONOMIAL integrates a monomial over the unit triangle.
-
TRIG_UNIT_MONOMIAL_TEST tests TRIG_UNIT_MONOMIAL.
-
TRIG_UNIT_O01 returns a 1 point quadrature rule for the unit triangle.
-
TRIG_UNIT_O03 returns a 3 point quadrature rule for the unit triangle.
-
TRIG_UNIT_O03B returns a 3 point quadrature rule for the unit triangle.
-
TRIG_UNIT_O06 returns a 6 point quadrature rule for the unit triangle.
-
TRIG_UNIT_O06B returns a 6 point quadrature rule for the unit triangle.
-
TRIG_UNIT_O07 returns a 7 point quadrature rule for the unit triangle.
-
TRIG_UNIT_O12 returns a 12 point quadrature rule for the unit triangle.
-
TRIG_UNIT_QUAD_TEST tests the rules for the unit triangle.
-
TRIG_UNIT_VOLUME: volume of a unit triangle.
-
WEDG_UNIT_MONOMIAL: monomial integral in a unit wedge.
-
WEDG_UNIT_MONOMIAL_TEST tests WEDG_UNIT_MONOMIAL.
-
WEDG_UNIT_QUAD_TEST tests the rules for the unit wedge.
-
WEDG_UNIT_RULE returns a quadrature rule for the unit wedge.
-
WEDG_UNIT_VOLUME: volume of a unit wedge.
You can go up one level to
the FORTRAN90 source codes.
Last revised on 16 July 2009.