Quadrature
NESSie.ElementQuadNESSie.QuadPts2DNESSie.QuadPts3DNESSie.QuadraturePointsNESSie.TriangleQuadNESSie.Radon.regularyukawacollNESSie.Radon.regularyukawacoll!NESSie.Rjasanow.laplacecollNESSie.Rjasanow.laplacecoll!NESSie.quadraturepoints
Quadrature points
NESSie.QuadraturePoints — Typeabstract type QuadraturePoints{T <: AbstractFloat} endAbstract base type for all sets of quadrature points
NESSie.QuadPts2D — Typestruct QuadPts2D{T} <: QuadraturePoints{T}
num ::Int # number of points
x ::Vector{T} # x values
y ::Vector{T} # y values
weight::Vector{T} # weights
endQuadrature points and weights for triangles
NESSie.QuadPts3D — Typestruct QuadPts3D{T} <: QuadraturePoints{T}
num ::Int # number of points
x ::Vector{T} # x values
y ::Vector{T} # y values
z ::Vector{T} # z values
weight::Vector{T} # weights
endQuadrature points and weights for tetrahedra
Quadrature points on elements
NESSie.ElementQuad — Typeabstract type ElementQuad{T <: AbstractFloat} endAbstract base type for quadrature points on specific elements
NESSie.TriangleQuad — Typestruct TriangleQuad{T} <: ElementQuad{T}
elem ::Triangle{T} # given element
qpts ::Matrix{T} # quadrature points on the element
weights::Vector{T} # weights for the quadrature points
endQuadrature points on a specific surface triangle, including weights.
Special constructors
TriangleQuad(elem::Triangle{T})Computes quadrature points and weights for the given triangle.
Generators
NESSie.quadraturepoints — Functionquadraturepoints(::Type{Tetrahedron{Float64}})
quadraturepoints(::Type{Tetrahedron{Float32}})
quadraturepoints(::Type{Triangle{Float64}})
quadraturepoints(::Type{Triangle{Float32}})Generator function for quadrature points:
Return type
Laplace potential
NESSie.Rjasanow.laplacecoll — Functionlaplacecoll(
ptype::Type{<: PotentialType},
ξ ::AbstractVector{T},
elem ::Triangle{T};
# kwargs
dat ::AbstractVector{T} = Vector{T}(undef, 12)
)Analytical solution for the single or double layer Laplace potential for a given triangle and observation point ξ [Rja90].
Arguments
datWritable vector for internal use (pre-allocate and reuse if possible)
Return type
T
NESSie.Rjasanow.laplacecoll! — Functionlaplacecoll!(
ptype ::Type{<: PotentialType},
dest ::AbstractVector{T},
elements::AbstractVector{Triangle{T}},
Ξ ::AbstractVector{Vector{T}},
fvals ::AbstractVector{T}
)
laplacecoll!(
ptype ::Type{<: PotentialType},
dest ::AbstractMatrix{T},
elements::AbstractVector{Triangle{T}},
Ξ ::AbstractVector{Vector{T}}
)Analytical solution for the single or double layer Laplace potential for a given list of triangles and observation points Ξ [Rja90].
The first version of this function uses a vector as destination dest, where each element represents the dot product of the corresponding coefficient matrix row and the fvals vector.
Return type
Nothing
Yukawa potential
NESSie.Radon.regularyukawacoll — Functionregularyukawacoll(
::Type{<: PotentialType},
ξ ::AbstractVector{T},
elem ::Union{Triangle{T}, TriangleQuad{T}},
yukawa::T
)Computes the regular part of the single or double layer Yukawa potential (that is, Yukawa minus Laplace) using a seven-point Radon cubature [Rad48] for a given triangle and observation point ξ.
If you need to call this method repeatedly for the same surface triangle, you should consider passing the elem parameter as TriangleQuad object to avoid expensive recomputations.
Arguments
yukawaExponent of the Yukawa operator's fundamental solution
Return type
T
NESSie.Radon.regularyukawacoll! — Functionregularyukawacoll!(
::Type{<: PotentialType},
dest ::AbstractVector{T},
elements::AbstractVector{Triangle{T}},
Ξ ::AbstractVector{Vector{T}},
yukawa ::T,
fvals ::AbstractVector{T}
)
regularyukawacoll!(
::Type{<: PotentialType},
dest ::AbstractMatrix{T},
elements::AbstractVector{Triangle{T}},
Ξ ::AbstractVector{Vector{T}},
yukawa ::T
)Computes the regular part of the single or double layer Yukawa potential (that is, Yukawa minus Laplace) using a seven-point Radon cubature [Rad48] for a given list of triangles and observation points Ξ.
The first version of this function uses a vector as destination dest, where each element represents the dot product of the corresponding coefficient matrix row and the fvals vector.
Arguments
yukawaExponent of the Yukawa operator's fundamental solution
Return type
Nothing