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.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.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_div
SPHKernels.kernel_div
SPHKernels.kernel_gradient
SPHKernels.kernel_gradient
SPHKernels.kernel_gradient
SPHKernels.kernel_gradient
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.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.āxš
SPHKernels.āxš
SPHKernels.āxš²
SPHKernels.āxš²
SPHKernels.āĢdotš²
SPHKernels.āĢdotš²
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, u::Real, h_inv::Real)
Evaluate derivative at position $u = \frac{x}{h}$.
SPHKernels.kernel_curl
ā Methodkernel_curl( k::AbstractSPHKernel, h_inv::Real,
xįµ¢::Vector{<:Real}, xā±¼::Vector{<:Real},
Aįµ¢::Vector{<:Real}, Aā±¼::Vector{<:Real} )
Compute the kernel curl āxš²
between particle i
and neighbour j
for some SPH quantity A
.
SPHKernels.kernel_deriv
ā Methodkernel_deriv(kernel::Cubic{T}, u::Real, h_inv::Real) where T
Evaluate the derivative of the Cubic spline at position $u = \frac{x}{h}$.
SPHKernels.kernel_deriv
ā Methodkernel_deriv(kernel::DoubleCosine, u::Real, h_inv::Real)
Evaluate the derivative of the DoubleCosine spline at position $u = \frac{x}{h}$.
SPHKernels.kernel_deriv
ā Methodkernel_deriv(kernel::Quintic{T}, u::Real, h_inv::Real) where T
Evaluate the derivative of the Quintic spline at position $u = \frac{x}{h}$.
SPHKernels.kernel_deriv
ā Methodkernel_deriv_1D(kernel::WendlandC2{T}, u::Real, h_inv::Real) where T
Evaluate the derivative of the WendlandC2 spline at position $u = \frac{x}{h}$.
SPHKernels.kernel_deriv
ā Methodkernel_deriv(kernel::WendlandC4_1D{T}, u::Real, h_inv::Real) where T
Evaluate the derivative of the WendlandC4 spline at position $u = \frac{x}{h}$.
SPHKernels.kernel_deriv
ā Methodkernel_deriv(kernel::WendlandC6_1D{T}, u::Real, h_inv::Real) where T
Evaluate the derivative of the WendlandC6 spline at position $u = \frac{x}{h}$.
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, h_inv::Real) where T
Evaluate the derivative of the Tophat spline at position $u = \frac{x}{h}$.
SPHKernels.kernel_deriv
ā Methodkernel_deriv(kernel::WendlandC2{T}, u::Real, h_inv::Real) where T
Evaluate the derivative of the WendlandC2 spline at position $u = \frac{x}{h}$.
SPHKernels.kernel_deriv
ā Methodkernel_deriv_2D(kernel::WendlandC4{T}, u::Real, h_inv::Real) where T
Evaluate the derivative of the WendlandC4 spline at position $u = \frac{x}{h}$.
SPHKernels.kernel_deriv
ā Methodkernel_deriv(kernel::WendlandC6, u::Real, h_inv::Real)
Evaluate the derivative of the WendlandC6 spline at position $u = \frac{x}{h}$.
SPHKernels.kernel_deriv
ā Methodkernel_deriv_2D(kernel::WendlandC8{T}, u::Real, h_inv::Real) where T
Evaluate the derivative of the WendlandC8 spline at position $u = \frac{x}{h}$.
SPHKernels.kernel_div
ā Methodkernel_div( k::AbstractSPHKernel, h_inv::Real,
xįµ¢::Vector{<:Real}, xā±¼::Vector{<:Real},
Aįµ¢::Vector{<:Real}, Aā±¼::Vector{<:Real} )
Compute the kernel divergence āā
š²
between particle i
and neighbour j
for some SPH quantity A
.
SPHKernels.kernel_gradient
ā Methodkernel_gradient( 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 xā±¼
.
$ā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, r::Real, h_inv::Real,
Īx::Vector{<:Real})
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įµ¢::Union{Real, Vector{<:Real}},
xā±¼::Union{Real, Vector{<:Real}} )
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_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(\vec{x}_i - \vec{x}_j, h_i)$
SPHKernels.kernel_value
ā Methodkernel_value( k::AbstractSPHKernel, h_inv::Real,
xįµ¢::Union{Real, Vector{<:Real}},
xā±¼::Union{Real, Vector{<:Real}} )
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, h_inv::Real) where T
Evaluate cubic spline at position $u = \frac{x}{h}$.
SPHKernels.kernel_value
ā Methodkernel_value(kernel::DoubleCosine, u::Real, h_inv::Real)
Evaluate DoubleCosine spline at position $u = \frac{x}{h}$.
SPHKernels.kernel_value
ā Methodkernel_value(kernel::Quintic{T}, u::Real, h_inv::Real) where T
Evaluate quintic spline at position $u = \frac{x}{h}$.
SPHKernels.kernel_value
ā Methodkernel_value(kernel::WendlandC2_1D{T}, u::Real, h_inv::Real) where T
Evaluate WendlandC2 spline at position $u = \frac{x}{h}$.
SPHKernels.kernel_value
ā Methodkernel_value(kernel::WendlandC4{T}, u::Real, h_inv::Real) where T
Evaluate WendlandC4 spline at position $u = \frac{x}{h}$.
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}$.
SPHKernels.kernel_value
ā Methodkernel_value(kernel::WendlandC8_1D{T}, u::Real, h_inv::Real) where T
Evaluate WendlandC8 spline at position $u = \frac{x}{h}$.
SPHKernels.kernel_value
ā Methodkernel_value(kernel::Tophat{T}, u::Real, h_inv::Real) where T
Evaluate Tophat spline at position $u = \frac{x}{h}$.
SPHKernels.kernel_value
ā Methodkernel_value(kernel::WendlandC2{T}, u::Real, h_inv::Real) where T
Evaluate WendlandC2 spline at position $u = \frac{x}{h}$.
SPHKernels.kernel_value
ā Method(kernel::WendlandC4{T}, u::Real, h_inv::Real) where T
Evaluate WendlandC4 spline at position $u = \frac{x}{h}$.
SPHKernels.kernel_value
ā Methodkernel_value(kernel::WendlandC6{T}, u::Real, h_inv::Real) where T
Evaluate WendlandC6 spline at position $u = \frac{x}{h}$.
SPHKernels.kernel_value
ā Methodkernel_value(kernel::WendlandC8{T}, u::Real, h_inv::Real) where T
Evaluate WendlandC8 spline at position $u = \frac{x}{h}$.
SPHKernels.quantity_curl
ā Methodquantity_curl( k::AbstractSPHKernel, h_inv::Real,
xįµ¢::Vector{<:Real}, xā±¼::Vector{<:Real},
Aā±¼::Vector{<:Real},
mā±¼::Real, Ļā±¼::Real )
Compute the contribution of particle j
to the curl of the SPH quantity A
for particle i
.
$āĆ\vec{A}_i(x) ā - \sum_j m_j \frac{\vec{A}_j}{\rho_j} \times āW(\vec{x}_i - \vec{x}_j, h_i)$
SPHKernels.quantity_divergence
ā Methodquantity_divergence( k::AbstractSPHKernel, h_inv::Real,
xįµ¢::Vector{<:Real}, xā±¼::Vector{<:Real},
Aįµ¢::Vector{<:Real}, Aā±¼::Vector{<:Real},
mā±¼::Real, Ļā±¼::Real )
Compute the contribution of particle j
to the divergence of the SPH quantity A
for particle i
.
$ā\cdot\vec{A}_i(x) ā \sum_j m_j \frac{\vec{A}_j}{\rho_j} \cdot āW(\vec{x}_i - \vec{x}_j, h_i)$
SPHKernels.quantity_gradient
ā Methodquantity_gradient( k::AbstractSPHKernel,
r::Real, h_inv::Real,
Īx::Union{Real, Vector{<:Real}},
Aā±¼::Union{Real, Vector{<:Real}},
mā±¼::Real, Ļā±¼::Real )
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 m_j \frac{\vec{A}_j}{\rho_j} āW(||\vec{x}_i - \vec{x}_j||, h_i)$
SPHKernels.quantity_gradient
ā Methodquantity_gradient( k::AbstractSPHKernel, h_inv::Real,
xįµ¢::Union{Real, Vector{<:Real}},
xā±¼::Union{Real, Vector{<:Real}},
Aā±¼::Union{Real, Vector{<:Real}},
mā±¼::Real, Ļā±¼::Real )
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 m_j \frac{\vec{A}_j}{\rho_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ādotA( k::AbstractSPHKernel, h_inv::Real,
xįµ¢::Vector{<:Real}, xā±¼::Vector{<:Real},
Aįµ¢::Vector{<:Real}, Aā±¼::Vector{<:Real},
mā±¼::Real, Ļā±¼::Real )
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 m_j \frac{\vec{A}_j}{\rho_j} \cdot āW(\vec{x}_i - \vec{x}_j, h_i)$
SPHKernels.āxš
ā Methodāxš( k::AbstractSPHKernel, h_inv::Real,
xįµ¢::Vector{<:Real}, xā±¼::Vector{<:Real},
Aįµ¢::Vector{<:Real}, Aā±¼::Vector{<:Real},
mā±¼::Real, Ļā±¼::Real )
Compute the contribution of particle j
to the curl of the SPH quantity A
for particle i
.
$āĆ\vec{A}_i(x) ā - \sum_j m_j \frac{}{\rho_j} \times āW(\vec{x}_i - \vec{x}_j, h_i)$
SPHKernels.āxš²
ā Methodāxš²( k::AbstractSPHKernel, h_inv::Real,
xįµ¢::Vector{<:Real}, xā±¼::Vector{<:Real},
Aā±¼::Vector{<:Real})
Compute the kernel curl āxš²
between particle i
and neighbour j
for some SPH quantity A
.
SPHKernels.āĢdotš²
ā MethodāĢdotš²( k::AbstractSPHKernel, h_inv::Real,
xįµ¢::Vector{<:Real}, xā±¼::Vector{<:Real},
Aįµ¢::Vector{<:Real}, Aā±¼::Vector{<:Real})
Compute the kernel divergence āā
š²
between particle i
and neighbour j
for some SPH quantity A
. Compact notation of kernel_div
.
SPHKernels.āš
ā Methodāš( k::AbstractSPHKernel,
r::Real, h_inv::Real,
Īx::Union{Real, Vector{<:Real}},
Aā±¼::Union{Real, Vector{<:Real}},
mā±¼::Real, Ļā±¼::Real )
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 m_j \frac{\vec{A}_j}{\rho_j} āW(||\vec{x}_i - \vec{x}_j||, h_i)$
SPHKernels.āš
ā Methodāš( k::AbstractSPHKernel,
r::Real, h_inv::Real,
Īx::Union{Real, Vector{<:Real}},
Aā±¼::Union{Real, Vector{<:Real}},
mā±¼::Real, Ļā±¼::Real )
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 m_j \frac{\vec{A}_j}{\rho_j} āW(||\vec{x}_i - \vec{x}_j||, h_i)$
SPHKernels.āš
ā Methodāš( k::AbstractSPHKernel, h_inv::Real,
xįµ¢::Vector{<:Real}, xā±¼::Vector{<:Real},
Aā±¼::Vector{<:Real},
mā±¼::Real=1, Ļā±¼::Real=1 )
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 m_j \frac{\vec{A}_j}{\rho_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::Real, xįµ¢::Union{Real, Vector{<:Real}}, xā±¼::Union{Real, Vector{<:Real}} )
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::Real, h_inv::Real,
Aā±¼::Union{Real, Vector{<:Real}},
mā±¼::Real, Ļā±¼::Real )
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::Real,
xįµ¢::Vector{<:Real}, xā±¼::Vector{<:Real},
Aā±¼::Vector{<:Real},
mā±¼::Real, Ļā±¼::Real )
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, u::Real, h_inv::Real)
Evaluate kernel at position $u = \frac{x}{h}$.
SPHKernels.š²
ā Methodš( k::AbstractSPHKernel, h_inv::Real,
xįµ¢::Vector{<:Real}, xā±¼::Vector{<:Real},
Aįµ¢::Vector{<:Real}, Aā±¼::Vector{<:Real},
mā±¼::Real, Ļā±¼::Real )
Compute the contribution of particle j
to the SPH quantity A
for particle i
.
See e.g. Price 2012: $\vec{A}_i(x) ā \sum_j m_j \frac{\vec{A}_j}{\rho_j} W(\vec{x}_i - \vec{x}_j, h_i)$
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ā±¼
.
SPHKernels.kernel_quantity
ā Methodkernel_quantity( k::AbstractSPHKernel, h_inv::Real,
xįµ¢::Vector{<:Real}, xā±¼::Vector{<:Real},
Aā±¼::Vector{<:Real},
mā±¼::Real, Ļā±¼::Real )
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::Real,
xįµ¢::Vector{<:Real}, xā±¼::Vector{<:Real},
Aā±¼::Vector{<:Real},
mā±¼::Real, Ļā±¼::Real )
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)$