Skip to content

Commit

Permalink
[Base] Remove quadraturepoints(::Vector{Triangle}}) function
Browse files Browse the repository at this point in the history
Superseded by TriangleQuad.(::Triangle)
  • Loading branch information
tkemmer committed Sep 27, 2022
1 parent 22fa5dd commit 618bfde
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 31 deletions.
1 change: 0 additions & 1 deletion docs/src/lib/quadrature.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@
## Generators
```@docs
quadraturepoints
quadraturepoints(::Vector{Triangle})
```

## Laplace potential
Expand Down
25 changes: 0 additions & 25 deletions src/base/quadrature.jl
Original file line number Diff line number Diff line change
Expand Up @@ -141,28 +141,3 @@ end
end
TriangleQuad{T}(elem, mat, qpts.weight)
end


# =========================================================================================
"""
quadraturepoints{T}(elements::Vector{Triangle{T}})
Computes and returns quadrature points on all given elements, including weights.
# Return type
`Vector{TriangleQuad{T}}`
"""
function quadraturepoints(elements::Vector{Triangle{T}}) where T
qpts = quadraturepoints(Triangle{T})
ret = Vector{TriangleQuad{T}}(undef, length(elements))

for i in eachindex(elements)
elem = elements[i]
mat = Matrix{T}(undef, 3, qpts.num)
for j in 1:qpts.num
mat[:, j] .= qpts.x[j] .* (elem.v2 .- elem.v1) .+ qpts.y[j] .* (elem.v3 .- elem.v1) .+ elem.v1
end
ret[i] = TriangleQuad{T}(elem, mat, qpts.weight)
end
ret
end
21 changes: 16 additions & 5 deletions test/base/quadrature.jl
Original file line number Diff line number Diff line change
@@ -1,18 +1,29 @@
@testset "quadraturepoints" begin
for T in testtypes
# simple generators
@test typeof(quadraturepoints(Triangle{T})) == QuadPts2D{T}
@test typeof(quadraturepoints(Tetrahedron{T})) == QuadPts3D{T}
end
end

# on-triangle generators
@testset "TriangleQuad" begin
for T in testtypes
elements = Triangle{T}[]
ret = quadraturepoints(elements)
ret = TriangleQuad.(elements)
@test typeof(ret) == Vector{TriangleQuad{T}}
@test isempty(ret)

push!(elements, Triangle(T[0, 0, 0], T[0, 1, 0], T[0, 0, 1]))
qpts = quadraturepoints(Triangle{T})
ret = quadraturepoints(elements)
ret = TriangleQuad(elements[1])
@test typeof(ret) == TriangleQuad{T}
@test ret.elem === elements[1]
@test ret.weights === qpts.weight
@test size(ret.qpts) == (3, qpts.num)
for i in 1:qpts.num
@test ret.qpts[:, i] T[0, qpts.x[i], qpts.y[i]]
end

ret = TriangleQuad.(elements)
@test typeof(ret) == Vector{TriangleQuad{T}}
@test length(ret) == 1
@test ret[1].elem === elements[1]
Expand All @@ -23,7 +34,7 @@
end

push!(elements, Triangle(T[1, 1, 1], T[1, 1, 3], T[1, 3, 1]))
ret = quadraturepoints(elements)
ret = TriangleQuad.(elements)
@test typeof(ret) == Vector{TriangleQuad{T}}
@test length(ret) == 2
@test ret[2].elem === elements[2]
Expand Down

0 comments on commit 618bfde

Please sign in to comment.