Skip to content

Commit b405ec4

Browse files
authored
Improvements to README (#32)
* Consolidate support matrix * Add type specs * Add unsupportable types to matrix * Change symbol * Remove unused symbol * Reorganize tests to match new consolidated table * Add placeholders to ease comparison with README
1 parent 07cd3a7 commit b405ec4

File tree

2 files changed

+59
-62
lines changed

2 files changed

+59
-62
lines changed

README.md

Lines changed: 31 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ unit_circle_bz = BezierCurve(
3737
)
3838

3939
# A Real-valued function
40-
f(x,y,z) = abs(x + y)
40+
f(x, y, z) = abs(x + y)
4141
f(p) = f(p.coords...)
4242

4343
integral(f, unit_circle_xy, GaussKronrod())
@@ -54,42 +54,37 @@ integral(f, unit_circle_bz, GaussKronrod())
5454
| Symbol | Meaning |
5555
|--------|---------|
5656
| :white_check_mark: | Implemented, passes tests |
57-
| :yellow_square: | Implemented, not yet validated |
58-
| :x: | Not yet implemented |
57+
| :x: | Planned but not yet implemented |
58+
| :warning: | Unable to implement until parameterization not available (see [Issue #28](https://github.com/mikeingold/MeshIntegrals.jl/issues/28)) |
5959

6060
### Integral
6161
| Geometry | Gauss-Legendre | Gauss-Kronrod | H-Adaptive Cubature |
6262
|----------|----------------|---------------|---------------------|
63-
| `Meshes.Box{Dim>3,T}` | :x: | :x: | :x: |
64-
65-
### Line Integral
66-
| Geometry | Gauss-Legendre | Gauss-Kronrod | H-Adaptive Cubature |
67-
|----------|----------------|---------------|---------------------|
68-
| `Meshes.BezierCurve` | :white_check_mark: | :white_check_mark: | :white_check_mark: |
69-
| `Meshes.Box{1,T}` | :white_check_mark: | :white_check_mark: | :white_check_mark: |
70-
| `Meshes.Circle` | :white_check_mark: | :white_check_mark: | :white_check_mark: |
71-
| `Meshes.Line` | :white_check_mark: | :white_check_mark: | :white_check_mark: |
72-
| `Meshes.Ring` | :white_check_mark: | :white_check_mark: | :white_check_mark: |
73-
| `Meshes.Rope` | :white_check_mark: | :white_check_mark: | :white_check_mark: |
74-
| `Meshes.Segment` | :white_check_mark: | :white_check_mark: | :white_check_mark: |
75-
| `Meshes.Sphere{2,T}` | :white_check_mark: | :white_check_mark: | :white_check_mark: |
76-
77-
### Surface Integral
78-
| Geometry | Gauss-Legendre | Gauss-Kronrod | H-Adaptive Cubature |
79-
|----------|----------------|---------------|-------------------|
80-
| `Meshes.Ball{2,T}` | :white_check_mark: | :white_check_mark: | :white_check_mark: |
81-
| `Meshes.Box{2,T}` | :white_check_mark: | :white_check_mark: | :white_check_mark: |
82-
| `Meshes.CylinderSurface` | :x: | :white_check_mark: | :x: |
83-
| `Meshes.Disk` | :white_check_mark: | :white_check_mark: | :white_check_mark: |
84-
| `Meshes.ParaboloidSurface` | :white_check_mark: | :white_check_mark: | :white_check_mark: |
85-
| `Meshes.Sphere{3,T}` | :white_check_mark: | :white_check_mark: | :white_check_mark: |
86-
| `Meshes.Triangle` | :white_check_mark: | :white_check_mark: | :white_check_mark: |
87-
| `Meshes.Torus` | :white_check_mark: | :white_check_mark: | :white_check_mark: |
88-
| `Meshes.SimpleMesh` | :x: | :x: | :x: |
89-
90-
### Volume Integral
91-
| Geometry | Gauss-Legendre | H-Adaptive Cubature |
92-
|----------|----------------|---------------|
93-
| `Meshes.Ball{3,T}` | :white_check_mark: | :white_check_mark: |
94-
| `Meshes.Box{3,T}` | :white_check_mark: | :white_check_mark: |
95-
| `Meshes.Cylinder{T}` | :white_check_mark: | :white_check_mark: |
63+
| `Ball{2,T}` | :white_check_mark: | :white_check_mark: | :white_check_mark: |
64+
| `Ball{3,T}` | :white_check_mark: | :x: | :white_check_mark: |
65+
| `Ball{Dim,T}` | :warning: | :warning: | :warning: |
66+
| `BezierCurve{Dim,T,V}` | :white_check_mark: | :white_check_mark: | :white_check_mark: |
67+
| `Box{1,T}` | :white_check_mark: | :white_check_mark: | :white_check_mark: |
68+
| `Box{2,T}` | :white_check_mark: | :white_check_mark: | :white_check_mark: |
69+
| `Box{3,T}` | :white_check_mark: | :x: | :white_check_mark: |
70+
| `Box{Dim,T}` | :x: | :x: | :x: |
71+
| `Circle{Dim,T}` | :white_check_mark: | :white_check_mark: | :white_check_mark: |
72+
| `Cone{T}` | :warning: | :warning: | :warning: |
73+
| `ConeSurface{T}` | :x: | :x: | :x: |
74+
| `Cylinder{T}` | :white_check_mark: | :x: | :white_check_mark: |
75+
| `CylinderSurface{T}` | :x: | :white_check_mark: | :x: |
76+
| `Disk{T}` | :white_check_mark: | :white_check_mark: | :white_check_mark: |
77+
| `Frustum{T}` | :warning: | :warning: | :warning: |
78+
| `FrustumSurface{T}` | :warning: | :warning: | :warning: |
79+
| `Line{Dim,T}` | :white_check_mark: | :white_check_mark: | :white_check_mark: |
80+
| `ParaboloidSurface{T}` | :white_check_mark: | :white_check_mark: | :white_check_mark: |
81+
| `Plane{T}` | :white_check_mark: | :white_check_mark: | :white_check_mark: |
82+
| `Ray{Dim,T}` | :x: | :x: | :x: |
83+
| `Ring{Dim,T,V}` | :white_check_mark: | :white_check_mark: | :white_check_mark: |
84+
| `Rope{Dim,T,V}` | :white_check_mark: | :white_check_mark: | :white_check_mark: |
85+
| `Segment{Dim,T}` | :white_check_mark: | :white_check_mark: | :white_check_mark: |
86+
| `SimpleMesh{Dim,T,V}` | :x: | :x: | :x: |
87+
| `Sphere{2,T}` | :white_check_mark: | :white_check_mark: | :white_check_mark: |
88+
| `Sphere{3,T}` | :white_check_mark: | :white_check_mark: | :white_check_mark: |
89+
| `Triangle{T}` | :white_check_mark: | :white_check_mark: | :white_check_mark: |
90+
| `Torus{T}` | :white_check_mark: | :white_check_mark: | :white_check_mark: |

test/runtests.jl

Lines changed: 28 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,6 @@ using MeshIntegrals
22
using Meshes
33
using Test
44

5-
#using DynamicQuantities
6-
#using Unitful
7-
85
################################################################################
96
# Infrastructure
107
################################################################################
@@ -98,29 +95,34 @@ end
9895

9996
SUPPORT_MATRIX = [
10097
# Name, example, integral,line,surface,volume, GaussLegendre,GaussKronrod,HAdaptiveCubature
101-
SupportItem("BezierCurve", bezier, 1, 1, 0, 0, 1, 1, 1),
102-
SupportItem("Box{1,T}", box1d, 1, 1, 0, 0, 1, 1, 1),
103-
SupportItem("Circle", circle, 1, 1, 0, 0, 1, 1, 1),
104-
# Line -- custom test
105-
SupportItem("Ring", ring_rect, 1, 1, 0, 0, 1, 1, 1),
106-
SupportItem("Rope", rope_rect, 1, 1, 0, 0, 1, 1, 1),
107-
SupportItem("Segment", seg_ne, 1, 1, 0, 0, 1, 1, 1),
108-
SupportItem("Sphere{2,T}", sphere2d, 1, 1, 0, 0, 1, 1, 1),
109-
110-
SupportItem("Ball{2,T}", ball2d, 1, 0, 1, 0, 1, 1, 1),
111-
SupportItem("Box{2,T}", box2d, 1, 0, 1, 0, 1, 1, 1),
112-
SupportItem("CylinderSurface", cylsurf, 1, 0, 1, 0, 0, 1, 0),
113-
SupportItem("Disk", disk, 1, 0, 1, 0, 1, 1, 1),
114-
SupportItem("ParaboloidSurface{T}", parab, 1, 0, 1, 0, 1, 1, 1),
115-
# Plane -- custom test
116-
SupportItem("Sphere{3,T}", sphere3d, 1, 0, 1, 0, 1, 1, 1),
117-
SupportItem("Triangle", triangle, 1, 0, 1, 0, 1, 1, 1),
118-
SupportItem("Torus{T}", torus, 1, 0, 1, 0, 1, 1, 1),
119-
# SimpleMesh -- not yet supported
120-
121-
SupportItem("Ball{3,T}", ball3d, 1, 0, 0, 1, 1, 0, 1),
122-
SupportItem("Box{3,T}", box3d, 1, 0, 0, 1, 1, 0, 1),
123-
SupportItem("Cylinder{T}", cyl, 1, 0, 0, 1, 1, 0, 1)
98+
SupportItem("Ball{2,T}", ball2d, 1, 0, 1, 0, 1, 1, 1),
99+
SupportItem("Ball{3,T}", ball3d, 1, 0, 0, 1, 1, 0, 1),
100+
# Ball{Dim,T}
101+
SupportItem("BezierCurve", bezier, 1, 1, 0, 0, 1, 1, 1),
102+
SupportItem("Box{1,T}", box1d, 1, 1, 0, 0, 1, 1, 1),
103+
SupportItem("Box{2,T}", box2d, 1, 0, 1, 0, 1, 1, 1),
104+
SupportItem("Box{3,T}", box3d, 1, 0, 0, 1, 1, 0, 1),
105+
# Box{Dim,T}
106+
SupportItem("Circle", circle, 1, 1, 0, 0, 1, 1, 1),
107+
# Cone
108+
# ConeSurface
109+
SupportItem("Cylinder", cyl, 1, 0, 0, 1, 1, 0, 1),
110+
SupportItem("CylinderSurface", cylsurf, 1, 0, 1, 0, 0, 1, 0),
111+
SupportItem("Disk", disk, 1, 0, 1, 0, 1, 1, 1),
112+
# Frustum
113+
# FrustumSurface
114+
# Line -- custom tests below
115+
SupportItem("ParaboloidSurface", parab, 1, 0, 1, 0, 1, 1, 1),
116+
# Plane -- custom tests below
117+
# Ray
118+
SupportItem("Ring", ring_rect, 1, 1, 0, 0, 1, 1, 1),
119+
SupportItem("Rope", rope_rect, 1, 1, 0, 0, 1, 1, 1),
120+
SupportItem("Segment", seg_ne, 1, 1, 0, 0, 1, 1, 1),
121+
# SimpleMesh
122+
SupportItem("Sphere{2,T}", sphere2d, 1, 1, 0, 0, 1, 1, 1),
123+
SupportItem("Sphere{3,T}", sphere3d, 1, 0, 1, 0, 1, 1, 1),
124+
SupportItem("Triangle", triangle, 1, 0, 1, 0, 1, 1, 1),
125+
SupportItem("Torus", torus, 1, 0, 1, 0, 1, 1, 1),
124126
]
125127

126128
# Run all integral tests

0 commit comments

Comments
 (0)