NESSie.Rjasanow
NESSie.Rjasanow.InPlaneNESSie.Rjasanow.InSpaceNESSie.Rjasanow.ObservationPositionNESSie.Rjasanow._laplacepotNESSie.Rjasanow._logtermNESSie.Rjasanow._projectξ!
NESSie.Rjasanow.ObservationPosition — Typeabstract type ObservationPosition end
struct InPlane <: ObservationPosition end
stryct InSpace <: ObservationPosition endEnum-like representation of the obseration point's position relative to the corresponding surface element
NESSie.Rjasanow.InPlane — Typeabstract type ObservationPosition end
struct InPlane <: ObservationPosition end
stryct InSpace <: ObservationPosition endEnum-like representation of the obseration point's position relative to the corresponding surface element
NESSie.Rjasanow.InSpace — Typeabstract type ObservationPosition end
struct InPlane <: ObservationPosition end
stryct InSpace <: ObservationPosition endEnum-like representation of the obseration point's position relative to the corresponding surface element
NESSie.Rjasanow._laplacepot — Functionfunction _laplacepot(
ptype::Type{<: PotentialType},
ξ ::AbstractVector{T},
elem ::Triangle{T},
dist ::T;
# kwargs
dat ::AbstractVector{T} = Vector{T}(undef, 9)
)Computes the single or double layer Laplace potential of the given triangle for the given observation point ξ. The latter needs to be projected onto the surface element plane [Rja90].
Arguments
distDistance from the originalξto the surface element planedatWritable vector for internal use (pre-allocate and reuse if possible)
Return type
T
_laplacepot(
ptype ::Type{<: PotentialType},
ξ ::AbstractVector{T},
x1 ::AbstractVector{T},
x2 ::AbstractVector{T},
normal::AbstractVector{T},
dist ::T;
# kwargs
dat ::AbstractVector{T} = Vector{T}(undef, 9)
)Computes the single or double layer Laplace potential of the triangle defined by the observation point ξ and two nodes x1 and x2 of the surface element. x2 is required to be x1's next neighbor in counterclockwise direction. Also, ξ needs to be projected onto the surface element plane [Rja90].
Arguments
normalUnit normal vector of the surface elementdistDistance from the originalξto the surface element planedatWritable vector for internal use (pre-allocate and reuse if possible)
Return type
T
_laplacepot(
::Type{<: PotentialType},
::Type{<: ObservationPosition},
sinφ1::T,
sinφ2::T,
h ::T,
d ::T
)Computes the Laplace potential (or its normal derivative) of the triangle with the given height h at the observation point ξ (projected onto the surface element plane) and the sines of the angles $φ₁$ and $φ₂$ between h and the triangle sides extending from ξ [Rja90].
Arguments
dDistance from the originalξto the surface element plane
Return type
T
NESSie.Rjasanow._logterm — Function_logterm(χ2::T, sinφ::T)Utility function to compute
\[\frac {\sqrt{1 - χ² \sin²(φ)} + \sqrt{1 - χ² \sin(φ)}} {\sqrt{1 - χ² \sin²(φ)} - \sqrt{1 - χ² \sin(φ)}}\]
Return type
T
NESSie.Rjasanow._projectξ! — Function_projectξ!(ξ::AbstractVector{T}, elem::Triangle{T}, dist::T)Projects ξ onto the surface element plane, overriding its previous coordinates.
Return type
Vector{T}