22
33This library aims to enable users to calculate the value of integrals over all
44[ ** Meshes.jl** ] ( https://github.com/JuliaGeometry/Meshes.jl ) geometry types using
5- a number of numerical integration rules and techniques. However, some combinations
6- of geometry types and integration rules are ill-suited (and a few are simply not
7- yet implemented).
8-
9- ## General Recommendations
5+ a number of numerical integration rules and techniques.
106
117In general, ` GaussKronrod ` integration rules are recommended (and the default) for
128geometries with one parametric dimension. For geometries with more than one
139parametric dimension, e.g. surfaces and volumes, ` HAdaptiveCubature ` rules are
1410recommended (and the default).
1511
16- While it is currently possible to apply nested ` GaussKronrod ` rules to numerically
17- integrate surfaces, this produces results that are strictly inferior to using an
18- equivalent ` HAdaptiveCubature ` rule, so support for this usage has been deprecated.
19- In version 16.x of MeshIntegrals.jl, using a ` GaussKronrod ` rule for a surface
20- will work but will yield a deprecation warning. Beginning with a future version
21- 17.0, this combination will simply be unsupported and throw an error.
22-
2312## The Support Matrix
2413
2514The following Support Matrix captures the current state of support for all geometry/rule
@@ -28,46 +17,47 @@ designed to check for accuracy.
2817
2918| ` Meshes.Geometry/Domain ` | ` GaussKronrod ` | ` GaussLegendre ` | ` HAdaptiveCubature ` |
3019| ----------| ----------------| ---------------| ---------------------|
31- | ` Ball ` in ` 𝔼{2} ` | ⚠️ | ✅ | ✅ |
20+ | ` Ball ` in ` 𝔼{2} ` | 🛑 | ✅ | ✅ |
3221| ` Ball ` in ` 𝔼{3} ` | 🛑 | ✅ | ✅ |
3322| ` BezierCurve ` | ✅ | ✅ | ✅ |
3423| ` Box ` in ` 𝔼{1} ` | ✅ | ✅ | ✅ |
35- | ` Box ` in ` 𝔼{2} ` | ⚠️ | ✅ | ✅ |
24+ | ` Box ` in ` 𝔼{2} ` | 🛑 | ✅ | ✅ |
3625| ` Box ` in ` 𝔼{≥3} ` | 🛑 | ✅ | ✅ |
37- | ` CartesianGrid ` | ✅ | ✅ | ✅ |
26+ | ` CartesianGrid ` in ` 𝔼{1} ` | ✅ | ✅ | ✅ |
27+ | ` CartesianGrid ` in ` 𝔼{≥2} ` | 🛑 | ✅ | ✅ |
3828| ` Circle ` | ✅ | ✅ | ✅ |
3929| ` Cone ` | 🛑 | ✅ | ✅ |
40- | ` ConeSurface ` | ⚠️ | ✅ | ✅ |
30+ | ` ConeSurface ` | 🛑 | ✅ | ✅ |
4131| ` Cylinder ` | 🛑 | ✅ | ✅ |
42- | ` CylinderSurface ` | ⚠️ | ✅ | ✅ |
43- | ` Disk ` | ⚠️ | ✅ | ✅ |
44- | ` Ellipsoid ` | ✅ | ✅ | ✅ |
45- | ` Frustum ` | ⚠️ | ✅ | ✅ |
46- | ` FrustumSurface ` | ⚠️ | ✅ | ✅ |
47- | ` Hexahedron ` | ✅ | ✅ | ✅ |
32+ | ` CylinderSurface ` | 🛑 | ✅ | ✅ |
33+ | ` Disk ` | 🛑 | ✅ | ✅ |
34+ | ` Ellipsoid ` | 🛑 | ✅ | ✅ |
35+ | ` Frustum ` | 🛑 | ✅ | ✅ |
36+ | ` FrustumSurface ` | 🛑 | ✅ | ✅ |
37+ | ` Hexahedron ` | 🛑 | ✅ | ✅ |
4838| ` Line ` | ✅ | ✅ | ✅ |
49- | ` ParaboloidSurface ` | ⚠️ | ✅ | ✅ |
39+ | ` ParaboloidSurface ` | 🛑 | ✅ | ✅ |
5040| ` ParametrizedCurve ` | ✅ | ✅ | ✅ |
51- | ` Plane ` | ✅ | ✅ | ✅ |
52- | ` PolyArea ` | ⚠️ | ✅ | ✅ |
53- | ` Pyramid ` | ⚠️ | ✅ | ✅ |
54- | ` Quadrangle ` | ⚠️ | ✅ | ✅ |
41+ | ` Plane ` | 🛑 | ✅ | ✅ |
42+ | ` PolyArea ` | 🛑 | ✅ | ✅ |
43+ | ` Pyramid ` | 🛑 | ✅ | ✅ |
44+ | ` Quadrangle ` | 🛑 | ✅ | ✅ |
5545| ` Ray ` | ✅ | ✅ | ✅ |
56- | ` RegularGrid ` | ✅ | ✅ | ✅ |
46+ | ` RegularGrid ` in ` 𝔼{1} ` | ✅ | ✅ | ✅ |
47+ | ` RegularGrid ` in ` 𝔼{≥2} ` | 🛑 | ✅ | ✅ |
5748| ` Ring ` | ✅ | ✅ | ✅ |
5849| ` Rope ` | ✅ | ✅ | ✅ |
5950| ` Segment ` | ✅ | ✅ | ✅ |
60- | ` SimpleMesh ` | ⚠️ | ✅ | ✅ |
61- | ` Sphere ` in ` 𝔼{2} ` | ✅ | ✅ | ✅ |
62- | ` Sphere ` in ` 𝔼{3 } ` | ⚠️ | ✅ | ✅ |
63- | ` StructuredGrid ` | ✅ | ✅ | ✅ |
64- | ` Tetrahedron ` | ⚠️ | ✅ | ✅ |
65- | ` Triangle ` | ✅ | ✅ | ✅ |
66- | ` Torus ` | ⚠️ | ✅ | ✅ |
67- | ` Wedge ` | ⚠️ | ✅ | ✅ |
51+ | ` SimpleMesh ` | 🛑 | ✅ | ✅ |
52+ | ` Sphere ` | 🛑 | ✅ | ✅ |
53+ | ` StructuredGrid ` in ` 𝔼{1 } ` | ✅ | ✅ | ✅ |
54+ | ` StructuredGrid ` in ` 𝔼{≥2} ` | 🛑 | ✅ | ✅ |
55+ | ` Tetrahedron ` | 🛑 | ✅ | ✅ |
56+ | ` Triangle ` | 🛑 | ✅ | ✅ |
57+ | ` Torus ` | 🛑 | ✅ | ✅ |
58+ | ` Wedge ` | 🛑 | ✅ | ✅ |
6859
6960| Symbol | Support Level |
7061| --------| ---------|
7162| ✅ | Supported |
72- | ⚠️ | Deprecated |
7363| 🛑 | Not supported |
0 commit comments