API Reference
SPHKernels.AbstractSPHKernel
SPHKernels.Cubic
SPHKernels.Cubic
SPHKernels.DoubleCosine
SPHKernels.DoubleCosine
SPHKernels.DoubleCosine
SPHKernels.Quintic
SPHKernels.Quintic
SPHKernels.Tophat
SPHKernels.WendlandC2
SPHKernels.WendlandC2
SPHKernels.WendlandC4
SPHKernels.WendlandC4
SPHKernels.WendlandC6
SPHKernels.WendlandC6
SPHKernels.WendlandC8
SPHKernels.WendlandC8
SPHKernels.WendlandKernel
SPHKernels.bias_correction
SPHKernels.bias_correction
SPHKernels.bias_correction
SPHKernels.bias_correction
SPHKernels.bias_correction
SPHKernels.bias_correction
SPHKernels.bias_correction
SPHKernels.bias_correction
SPHKernels.d𝒩
SPHKernels.d𝒲
SPHKernels.d𝒲
SPHKernels.get_r
SPHKernels.get_r
SPHKernels.kernel_curl
SPHKernels.kernel_curl
SPHKernels.kernel_deriv
SPHKernels.kernel_deriv
SPHKernels.kernel_deriv
SPHKernels.kernel_deriv
SPHKernels.kernel_deriv
SPHKernels.kernel_deriv
SPHKernels.kernel_deriv
SPHKernels.kernel_deriv
SPHKernels.kernel_deriv
SPHKernels.kernel_deriv
SPHKernels.kernel_deriv
SPHKernels.kernel_deriv
SPHKernels.kernel_deriv
SPHKernels.kernel_deriv_norm
SPHKernels.kernel_div
SPHKernels.kernel_div
SPHKernels.kernel_gradient
SPHKernels.kernel_gradient
SPHKernels.kernel_gradient
SPHKernels.kernel_norm
SPHKernels.kernel_norm
SPHKernels.kernel_norm
SPHKernels.kernel_norm
SPHKernels.kernel_quantity
SPHKernels.kernel_quantity
SPHKernels.kernel_quantity
SPHKernels.kernel_value
SPHKernels.kernel_value
SPHKernels.kernel_value
SPHKernels.kernel_value
SPHKernels.kernel_value
SPHKernels.kernel_value
SPHKernels.kernel_value
SPHKernels.kernel_value
SPHKernels.kernel_value
SPHKernels.kernel_value
SPHKernels.kernel_value
SPHKernels.kernel_value
SPHKernels.kernel_value
SPHKernels.kernel_value
SPHKernels.kernel_value
SPHKernels.quantity_curl
SPHKernels.quantity_curl
SPHKernels.quantity_divergence
SPHKernels.quantity_divergence
SPHKernels.quantity_gradient
SPHKernels.quantity_gradient
SPHKernels.quantity_gradient
SPHKernels.δρ
SPHKernels.∇dot𝒜
SPHKernels.∇dot𝒜
SPHKernels.∇dot𝒲
SPHKernels.∇dot𝒲
SPHKernels.∇x𝒜
SPHKernels.∇x𝒜
SPHKernels.∇x𝒲
SPHKernels.∇x𝒲
SPHKernels.∇𝒜
SPHKernels.∇𝒜
SPHKernels.∇𝒲
SPHKernels.∇𝒲
SPHKernels.∇𝒲
SPHKernels.𝒜
SPHKernels.𝒜
SPHKernels.𝒜
SPHKernels.𝒩
SPHKernels.𝒲
SPHKernels.𝒲
SPHKernels.𝒲
Exported Types
SPHKernels.AbstractSPHKernel
— TypeAbstractSPHKernel
Supertype for all SPH kernels.
SPHKernels.Cubic
— TypeCubic(T::DataType=Float64, dim::Integer=3)
Set up a Cubic
kernel for a given DataType T
and dimensin dim
.
SPHKernels.Cubic
— MethodCubic(dim::Integer)
Define Cubic
kernel with dimension dim
for the native DataType
of the OS.
SPHKernels.DoubleCosine
— TypeDoubleCosine(T::DataType=Float64, dim::Integer=3)
Set up a DoubleCosine
kernel for a given DataType T
.
SPHKernels.DoubleCosine
— Typestruct DoubleCosine{T} <: AbstractSPHKernel
dim::Int64
norm::T
end
SPHKernels.DoubleCosine
— MethodDoubleCosine(dim::Integer)
Define DoubleCosine
kernel with dimension dim
for the native DataType
of the OS.
SPHKernels.Quintic
— TypeQuintic(T::DataType=Float64, dim::Integer=3)
Set up a Quintic
kernel for a given DataType T
.
SPHKernels.Quintic
— MethodQuintic(dim::Integer)
Define Quintic
kernel with dimension dim
for the native DataType
of the OS.
SPHKernels.Tophat
— TypeTophat(dim::Integer)
Define Tophat
kernel with dimension dim
for the native DataType
of the OS.
SPHKernels.WendlandC2
— TypeWendlandC2(T::DataType=Float64, dim::Integer=3)
Set up a WendlandC2
kernel for a given DataType T
.
SPHKernels.WendlandC2
— MethodWendlandC2(dim::Integer)
Define WendlandC2
kernel with dimension dim
for the native DataType
of the OS.
SPHKernels.WendlandC4
— TypeWendlandC4(T::DataType=Float64, dim::Integer=3)
Set up a WendlandC4
kernel for a given DataType T
.
SPHKernels.WendlandC4
— MethodWendlandC4(dim::Integer)
Define WendlandC4
kernel with dimension dim
for the native DataType
of the OS.
SPHKernels.WendlandC6
— TypeWendlandC6(T::DataType=Float64, dim::Integer=3)
Set up a WendlandC6
kernel for a given DataType T
.
SPHKernels.WendlandC6
— MethodWendlandC6(dim::Integer)
Define WendlandC6
kernel with dimension dim
for the native DataType
of the OS.
SPHKernels.WendlandC8
— TypeWendlandC8(T::DataType=Float64, dim::Integer=3)
Set up a WendlandC8
kernel for a given DataType T
.
SPHKernels.WendlandC8
— MethodWendlandC8(dim::Integer)
Define WendlandC8
kernel with dimension dim
for the native DataType
of the OS.
Exported Functions
SPHKernels.bias_correction
— Methodbias_correction( kernel::Cubic{T},
density::Real, m::Real, h_inv::Real,
n_neighbours::Integer ) where T
Does not do anything for the BSplines. Implemented for stability.
SPHKernels.bias_correction
— Methodbias_correction( kernel::DoubleCosine{T},
density::Real, m::Real, h_inv::Real,
n_neighbours::Integer ) where T
Does not do anything for the DoubleCosine. Implemented for stability.
SPHKernels.bias_correction
— Methodbias_correction( kernel::Quintic{T},
density::Real, m::Real, h_inv::Real,
n_neighbours::Integer ) where T
Does not do anything for the BSplines. Implemented for stability.
SPHKernels.bias_correction
— Methodbias_correction(kernel::Tophat{T},
density::Real, m::Real, h_inv::Real,
n_neighbours::Integer) where {T}
Corrects the density estimate for the kernel bias. Not implemented for Tophat
.
SPHKernels.bias_correction
— Methodbias_correction( kernel::Union{WendlandC2_1D{T}, WendlandC2{T}},
density::Real, m::Real, h_inv::Real,
n_neighbours::Integer ) where T
Corrects the density estimate for the kernel bias. See Dehnen&Aly 2012, eq. 18+19.
SPHKernels.bias_correction
— Methodbias_correction( kernel::Union{WendlandC4_1D{T}, WendlandC4{T}},
density::Real, m::Real, h_inv::Real,
n_neighbours::Int64 ) where T
Corrects the density estimate for the kernel bias. See Dehnen&Aly 2012, eq. 18+19.
SPHKernels.bias_correction
— Methodbias_correction( kernel::Union{WendlandC6_1D{T}, WendlandC6{T}},
density::Real, m::Real, h_inv::Real,
n_neighbours::Integer ) where T
Corrects the density estimate for the kernel bias. See Dehnen&Aly 2012, eq. 18+19.
SPHKernels.bias_correction
— Methodbias_correction(kernel::WendlandC8, density::Real, m::Real, h_inv::Real)
Corrects the density estimate for the kernel bias. See Dehnen&Aly 2012, eq. 18+19.
SPHKernels.d𝒩
— Methodd𝒩(kernel::AbstractSPHKernel, h_inv::Real)
Calculate the normalisation factor for the kernel derivative.
SPHKernels.d𝒲
— Methodd𝒲(kernel::AbstractSPHKernel, u::Real, h_inv::Real)
Evaluate derivative at position $u = \frac{x}{h}$.
SPHKernels.d𝒲
— Methodd𝒲(kernel::AbstractSPHKernel, u::Real)
Evaluate derivative at position $u = \frac{x}{h}$, without normalisation.
SPHKernels.kernel_curl
— Methodkernel_curl(k::AbstractSPHKernel, h_inv::T1, xᵢ::T2, xⱼ::T2, Aⱼ::T2) where {T1,T2}
Compute the kernel curl ∇x𝒲
between particle i
and neighbour j
for some SPH quantity A
.
SPHKernels.kernel_deriv
— Methodkernel_deriv(kernel::AbstractSPHKernel, u::Real, h_inv::Real) where T
Evaluate the derivative of the kernel at position $u = \frac{x}{h}$.
SPHKernels.kernel_deriv
— Methodkernel_deriv(kernel::Cubic{T}, u::Real) where T
Evaluate the derivative of the Cubic spline at position $u = \frac{x}{h}$, without normalisation.
SPHKernels.kernel_deriv
— Methodkernel_deriv(kernel::DoubleCosine, u::Real)
Evaluate the derivative of the DoubleCosine spline at position $u = \frac{x}{h}$, without normalisation.
SPHKernels.kernel_deriv
— Methodkernel_deriv(kernel::Quintic{T}, u::Real) where T
Evaluate the derivative of the Quintic spline at position $u = \frac{x}{h}$, without normalisation.
SPHKernels.kernel_deriv
— Methodkernel_deriv_1D(kernel::WendlandC2{T}, u::Real) where T
Evaluate the derivative of the WendlandC2 spline at position $u = \frac{x}{h}$ without normalisation.
SPHKernels.kernel_deriv
— Methodkernel_deriv(kernel::WendlandC4_1D{T}, u::Real) where T
Evaluate the derivative of the WendlandC4 spline at position $u = \frac{x}{h}$ without normalisation.
SPHKernels.kernel_deriv
— Methodkernel_deriv(kernel::WendlandC6_1D{T}, u::Real) where T
Evaluate the derivative of the WendlandC6 spline at position $u = \frac{x}{h}$ without normalisation.
SPHKernels.kernel_deriv
— Methodkernel_deriv(kernel::WendlandC8_1D{T}, u::Real, h_inv::Real) where T
Evaluate the derivative of the WendlandC8 spline at position $u = \frac{x}{h}$.
SPHKernels.kernel_deriv
— Methodkernel_deriv_1D(kernel::Tophat{T}, u::Real) where T
Evaluate the derivative of the Tophat spline at position $u = \frac{x}{h}$, without normalisation.
SPHKernels.kernel_deriv
— Methodkernel_deriv(kernel::WendlandC2{T}, u::Real) where T
Evaluate the derivative of the WendlandC2 spline at position $u = \frac{x}{h}$ without normalisation.
SPHKernels.kernel_deriv
— Methodkernel_deriv(kernel::WendlandC4{T}, u::Real) where T
Evaluate the derivative of the WendlandC4 spline at position $u = \frac{x}{h}$ without normalisation.
SPHKernels.kernel_deriv
— Methodkernel_deriv(kernel::WendlandC6, u::Real)
Evaluate the derivative of the WendlandC6 spline at position $u = \frac{x}{h}$ without normalisation.
SPHKernels.kernel_deriv
— Methodkernel_deriv_2D(kernel::WendlandC8{T}, u::Real) where T
Evaluate the derivative of the WendlandC8 spline at position $u = \frac{x}{h}$, without normalisation.
SPHKernels.kernel_deriv_norm
— Methodkernel_deriv_norm(kernel::AbstractSPHKernel, h_inv::Real)
Calculate the normalisation factor for the kernel derivative.
SPHKernels.kernel_div
— Methodkernel_div( k::AbstractSPHKernel, h_inv::T1,
xᵢ::T2, xⱼ::T2, Aⱼ::T2) where {T1,T2}
Compute the kernel divergence ∇⋅𝒲
between particle i
and neighbour j
for some SPH quantity A
.
SPHKernels.kernel_gradient
— Methodkernel_gradient( k::AbstractSPHKernel, r::T1, h_inv::T1, Δx::T2) where {T1,T2}
Computes the gradient of the kernel k
at the distance r
along the distance vector Δx
of the neighbour j
.
$∇W(x_{ij}, h_i) = \frac{dW}{dx}\vert_{x_j} \frac{Δx_{ij}}{||x_{ij}||} \frac{1}{h_i}$
SPHKernels.kernel_gradient
— Methodkernel_gradient( k::AbstractSPHKernel, h_inv::Real, xᵢ::T, xⱼ::T ) where T
Computes the gradient of the kernel k
at the position of the neighbour xⱼ
.
$∇W(x_{ij}, h_i) = \frac{dW}{dx}\vert_{x_j} \frac{Δx_{ij}}{||x_{ij}||} \frac{1}{h_i}$
SPHKernels.kernel_norm
— Methodkernel_norm(kernel::AbstractSPHKernel, h_inv::Real) where {T}
Calculate the normalisation factor for the kernel.
SPHKernels.kernel_norm
— Methodkernel_norm(kernel::WendlandKernel, h_inv::Real) where {T}
Calculate the normalisation factor for the WendlandC2 kernel.
SPHKernels.kernel_norm
— Methodkernel_norm(kernel::Tophat, h_inv::Real) where {T}
Calculate the normalisation factor for the Tophat kernel.
SPHKernels.kernel_norm
— Methodkernel_norm(kernel::WendlandC2_1D{T}, h_inv::Real) where {T}
Calculate the normalisation factor for the WendlandC2 kernel.
SPHKernels.kernel_quantity
— Methodkernel_quantity(k::AbstractSPHKernel, r::T1, h_inv::T1,
Aⱼ::T2, mⱼ::T1, ρⱼ::T1 ) where {T1,T2}
Compute the contribution of particle j
to the SPH quantity A
for particle i
. Based on Euclidean distance r
between the particles. Useful if many quantities need to be computed for the same particle pair.
$\vec{A}_i(x) ≈ \sum_j m_j \frac{\vec{A}_j}{\rho_j} W(\vec{x}_i - \vec{x}_j, h_i)$
SPHKernels.kernel_quantity
— Methodkernel_quantity(k::AbstractSPHKernel, h_inv::T1,
xᵢ::T2, xⱼ::T2, Aⱼ::T2, mⱼ::T1, ρⱼ::T1 ) where {T1,T2}
Compute the contribution of particle j
to the SPH quantity A
for particle i
. Based on positions xᵢ
and xⱼ
.
$\vec{A}_i(x) ≈ \sum_j m_j \frac{\vec{A}_j}{\rho_j} W(\vec{x}_i - \vec{x}_j, h_i)$
SPHKernels.kernel_value
— Methodkernel_value( k::AbstractSPHKernel, h_inv::Real,
xᵢ::Real, xⱼ::Real )
Computes the value of the kernel k
at the position of the neighbour xⱼ
.
$W(x_i - x_j, h_i)$
SPHKernels.kernel_value
— Methodkernel_value(kernel::AbstractSPHKernel, u::Real, h_inv::Real) where T
Evaluate the kernel at position $u = \frac{x}{h}$.
SPHKernels.kernel_value
— Methodkernel_value( k::AbstractSPHKernel, h_inv::T1,
xᵢ::T2, xⱼ::T2 ) where {T1,T2}
Computes the value of the kernel k
at the position of the neighbour xⱼ
.
$W(\vec{x}_i - \vec{x}_j, h_i)$
SPHKernels.kernel_value
— Methodkernel_value_1D(kernel::Cubic{T}, u::Real) where T
Evaluate cubic spline at position $u = \frac{x}{h}$, without normalisation.
SPHKernels.kernel_value
— Methodkernel_value(kernel::DoubleCosine, u::Real)
Evaluate DoubleCosine spline at position $u = \frac{x}{h}$, without normalisation.
SPHKernels.kernel_value
— Methodkernel_value(kernel::Quintic{T}, u::Real) where T
Evaluate quintic spline at position $u = \frac{x}{h}$, without normalisation.
SPHKernels.kernel_value
— Methodkernel_value(kernel::WendlandC2_1D{T}, u::Real) where T
Evaluate WendlandC2 spline at position $u = \frac{x}{h}$ without normalisation.
SPHKernels.kernel_value
— Methodkernel_value(kernel::WendlandC4{T}, u::Real) where T
Evaluate WendlandC4 spline at position $u = \frac{x}{h}$ without normalisation.
SPHKernels.kernel_value
— Methodkernel_value(kernel::WendlandC6_1D{T}, u::Real, h_inv::Real) where T
Evaluate WendlandC6 spline at position $u = \frac{x}{h}$ without normalisation.
SPHKernels.kernel_value
— Methodkernel_value(kernel::WendlandC8_1D{T}, u::Real) where T
Evaluate WendlandC8 spline at position $u = \frac{x}{h}$, without normalisation.
SPHKernels.kernel_value
— Methodkernel_value(kernel::Tophat{T}, u::Real) where T
Evaluate Tophat spline at position $u = \frac{x}{h}$, without normalisation.
SPHKernels.kernel_value
— Methodkernel_value(kernel::WendlandC2{T}, u::Real, h_inv::Real) where T
Evaluate WendlandC2 spline at position $u = \frac{x}{h}$ without normalisation.
SPHKernels.kernel_value
— Methodkernel_value(kernel::WendlandC4{T}, u::Real) where T
Evaluate WendlandC4 spline at position $u = \frac{x}{h}$ without normalisation.
SPHKernels.kernel_value
— Methodkernel_value(kernel::WendlandC6{T}, u::Real) where T
Evaluate WendlandC6 spline at position $u = \frac{x}{h}$, without normalisation.
SPHKernels.kernel_value
— Methodkernel_value(kernel::WendlandC8{T}, u::Real) where T
Evaluate WendlandC8 spline at position $u = \frac{x}{h}$, without normalisation.
SPHKernels.quantity_curl
— Methodquantity_curl(k::AbstractSPHKernel, h_inv::T1, xᵢ::T2, xⱼ::T2, Aⱼ::T2, mⱼ::T1, ρⱼ::T1 ) where {T1,T2}
Compute the contribution of particle j
to the curl of the SPH quantity A
for particle i
.
$∇×\vec{A}_i(x) ≈ - \sum_j \frac{m_j}{\rho_j} \vec{A}_j \times ∇W(\vec{x}_i - \vec{x}_j, h_i)$
SPHKernels.quantity_divergence
— Methodquantity_divergence(k::AbstractSPHKernel, h_inv::T1, xᵢ::T2, xⱼ::T2, Aⱼ::T2, mⱼ::T1, ρⱼ::T1 ) where {T1,T2}
Compute the contribution of particle j
to the divergence of the SPH quantity A
for particle i
.
$∇\cdot\vec{A}_i(x) ≈ \sum_j \frac{m_j}{\rho_j} \vec{A}_j \cdot ∇W(\vec{x}_i - \vec{x}_j, h_i)$
SPHKernels.quantity_gradient
— Methodquantity_gradient(k::AbstractSPHKernel,
r::T1, h_inv::T1,
Δx::T2, Aⱼ::T2,
mⱼ::T1, ρⱼ::T1) where {T1<:Real,T2}
Compute the contribution of particle j
to the gradient of the SPH quantity A
for particle i
. Based on Euclidean distance r
and distance vector Δx
between the particles. Useful if many quantities need to be computed for the same particle pair.
$∇\vec{A}_i(x) ≈ \sum_j \frac{m_j}{\rho_j} \vec{A}_j \: ∇W(||\vec{x}_i - \vec{x}_j||, h_i)$
SPHKernels.quantity_gradient
— Methodquantity_gradient(k::AbstractSPHKernel, h_inv::T1,
xᵢ::T2, xⱼ::T2, Aⱼ::T2,
mⱼ::T1, ρⱼ::T1 ) where {T1<:Real, T2}
Compute the contribution of particle j
to the gradient of the SPH quantity A
for particle i
. Based on positions xᵢ
and xⱼ
.
$∇\vec{A}_i(x) ≈ \sum_j \frac{m_j}{\rho_j} \vec{A}_j \: ∇W(||\vec{x}_i - \vec{x}_j||, h_i)$
SPHKernels.δρ
— Methodδρ₁(kernel::AbstractSPHKernel, density::Real, m::Real, h_inv::Real)
Corrects the density estimate for the kernel bias. See Dehnen&Aly 2012, eq. 18+19.
SPHKernels.∇dot𝒜
— Method∇dot𝒜(k::AbstractSPHKernel, h_inv::T1, xᵢ::T2, xⱼ::T2, Aⱼ::T2, mⱼ::T1, ρⱼ::T1 ) where {T1,T2}
Compute the contribution of particle j
to the divergence of the SPH quantity A
for particle i
. Compact notation of quantity_divergence
.
$∇\cdot\vec{A}_i(x) ≈ \sum_j \frac{m_j}{\rho_j} \vec{A}_j \cdot ∇W(\vec{x}_i - \vec{x}_j, h_i)$
SPHKernels.∇dot𝒲
— Method∇dot𝒲( k::AbstractSPHKernel, h_inv::T1, xᵢ::T2, xⱼ::T2, Aⱼ::T2) where {T1,T2}
Compute the kernel divergence ∇⋅𝒲
between particle i
and neighbour j
for some SPH quantity A
. Compact notation of kernel_div
.
SPHKernels.∇x𝒜
— Method∇x𝒜(k::AbstractSPHKernel, h_inv::T1, xᵢ::T2, xⱼ::T2, Aⱼ::T2, mⱼ::T1, ρⱼ::T1 ) where {T1,T2}
Compute the contribution of particle j
to the curl of the SPH quantity A
for particle i
.
$∇×\vec{A}_i(x) ≈ - \sum_j \frac{m_j}{\rho_j} \vec{A}_j \times ∇W(\vec{x}_i - \vec{x}_j, h_i)$
SPHKernels.∇x𝒲
— Method∇x𝒲(k::AbstractSPHKernel, h_inv::T1, xᵢ::T2, xⱼ::T2, Aⱼ::T2) where {T1,T2}
Compute the kernel curl ∇x𝒲
between particle i
and neighbour j
for some SPH quantity A
.
SPHKernels.∇𝒜
— Method∇𝒜( k::AbstractSPHKernel, h_inv, xᵢ, xⱼ, Aⱼ, mⱼ, ρⱼ)
Compute the contribution of particle j
to the gradient of the SPH quantity A
for particle i
. Compact notation of quantity_gradient
.
$∇\vec{A}_i(x) ≈ \sum_j \frac{m_j}{\rho_j} \vec{A}_j \: ∇W(||\vec{x}_i - \vec{x}_j||, h_i)$
SPHKernels.∇𝒲
— Method∇𝒲( k::AbstractSPHKernel, h_inv::Real, xᵢ::Union{Real, Vector{<:Real}}, xⱼ::Union{Real, Vector{<:Real}} )
Computes the gradient of the kernel k
at the position of the neighbour j
. Based on Euclidean distance r
and distance vector Δx
between the particles. Useful if many quantities need to be computed for the same particle pair. Compact notation of kernel_gradient
.
$∇W(x_{ij}, h_i) = \frac{dW}{dx}\vert_{x_j} \frac{Δx_{ij}}{||x_{ij}||} \frac{1}{h_i}$
SPHKernels.∇𝒲
— Method∇𝒲( k::AbstractSPHKernel, h_inv::T1, xᵢ::T2, xⱼ::T2 ) where {T1<:Real,T2}
Computes the gradient of the kernel k
at the position of the neighbour xⱼ
. Compact notation of kernel_gradient
.
$∇W(x_{ij}, h_i) = \frac{dW}{dx}\vert_{x_j} \frac{Δx_{ij}}{||x_{ij}||} \frac{1}{h_i}$
SPHKernels.𝒜
— Method𝒜(k::AbstractSPHKernel, r::T1, h_inv::T1, Aⱼ::T2, mⱼ::T1, ρⱼ::T1 ) where {T1,T2}
Compute the contribution of particle j
to the SPH quantity A
for particle i
. Based on Euclidean distance r
between the particles. Useful if many quantities need to be computed for the same particle pair.
$\vec{A}_i(x) ≈ \sum_j m_j \frac{\vec{A}_j}{\rho_j} W(r, h_i)$
SPHKernels.𝒜
— Method𝒜(k::AbstractSPHKernel, h_inv::T1,
xᵢ::Union{T1, T2}, xⱼ::Union{T1, T2},
Aⱼ::Union{T1, T2}, mⱼ::T1, ρⱼ::T1 ) where {T1,T2}
Compute the contribution of particle j
to the SPH quantity A
for particle i
. Based on positions xᵢ
and xⱼ
.
$\vec{A}_i(x) ≈ \sum_j m_j \frac{\vec{A}_j}{\rho_j} W(\vec{x}_i - \vec{x}_j, h_i)$
SPHKernels.𝒩
— Method𝒩(kernel::AbstractSPHKernel, h_inv::Real)
Calculate the normalisation factor for the kernel.
SPHKernels.𝒲
— Method𝒲( k::AbstractSPHKernel, h_inv, xᵢ, xⱼ)
Computes the value of the kernel k
at the position of the neighbour xⱼ
.
$W(\vec{x}_i - \vec{x}_j, h_i)$
SPHKernels.𝒲
— Method𝒲( kernel::AbstractSPHKernel, u::Real, h_inv::Real)
Evaluate kernel at position $u = \frac{x}{h}$.
SPHKernels.𝒲
— Method𝒲( kernel::AbstractSPHKernel, u::Real)
Evaluate kernel at position $u = \frac{x}{h}$, without normalisation.
Private Functions
SPHKernels.get_r
— Methodget_r(xᵢ::Real, xⱼ::Real)
Eukledian distance between xᵢ
and xⱼ
.
SPHKernels.get_r
— Methodget_r(xᵢ::Vector{<:Real}, xⱼ::Vector{<:Real})
Eukledian distance between xᵢ
and xⱼ
.
Private Types
SPHKernels.WendlandKernel
— TypeWendlandKernel
Supertype for Wendland kernels.