NESSie.QuadPts2DType
struct QuadPts2D{T} <: QuadraturePoints{T}
num   ::Int         # number of points
x     ::Vector{T}   # x values
y     ::Vector{T}   # y values
weight::Vector{T}   # weights
end

Quadrature points and weights for triangles

source
NESSie.QuadPts3DType
struct 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
end

Quadrature points and weights for tetrahedra

source

NESSie.TriangleQuadType
struct 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
end

Quadrature points on a specific surface triangle, including weights.

Special constructors

julia TriangleQuad{T}(elem::Triangle{T}) Computes quadrature points and weights for the given triangle.

source

## Generators

NESSie.quadraturepointsFunction
quadraturepoints(::Type{Tetrahedron{Float64}})
quadraturepoints(::Type{Triangle{Float32}})

• Triangles: 7 points per element [Rad48]
• Tetrahedra: 5 points per element [Kea86]

Return type

QuadPts2D or QuadPts3D

source

## Laplace potential

NESSie.Rjasanow.laplacecollFunction
laplacecoll{T, P <: PotentialType}(
ptype::Type{P},
ξ    ::AbstractVector{T},
elem ::AbstractVector{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

• dat Writable vector for internal use (pre-allocate and reuse if possible)
Note

The result is premultiplied by 4π.

Return type

Void

source
NESSie.Rjasanow.laplacecoll!Function
laplacecoll!{T, P <: PotentialType}(
ptype   ::Type{P},
dest    ::AbstractVector{T},
elements::AbstractVector{Triangle{T}},
Ξ       ::AbstractVector{Vector{T}},
fvals   ::AbstractVector{T}
)

laplacecoll!{T, P <: PotentialType}(
ptype   ::Type{P},
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.

Note

The result is premultiplied by 4π.

Return type

Void

source

## Yukawa potential

NESSie.Radon.regularyukawacollFunction
regularyukawacoll{T, P <: PotentialType}(
::Type{P},
ξ     ::AbstractVector{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 ξ.

Note

The result is premultiplied by 4π.

Note

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

• yukawa Exponent of the Yukawa operator's fundamental solution

Return type

Void

source
NESSie.Radon.regularyukawacoll!Function
regularyukawacoll!{T, P <: PotentialType}(
::Type{P},
dest    ::AbstractVector{T},
elements::AbstractVector{Triangle{T}},
Ξ       ::AbstractVector{Vector{T}},
yukawa  ::T,
fvals   ::AbstractVector{T}
)

regularyukawacoll!{T, P <: PotentialType}(
::Type{P},
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.

Note

The result is premultiplied by 4π.

Arguments

• yukawa Exponent of the Yukawa operator's fundamental solution

Return type

Void`

source