API Reference

Exported Types

SPHKernels.Cubic ā€” Type
Cubic(T::DataType=Float64, dim::Integer=3)

Set up a Cubic kernel for a given DataType T and dimensin dim.

source
SPHKernels.Cubic ā€” Method
Cubic(dim::Integer)

Define Cubic kernel with dimension dim for the native DataType of the OS.

source
SPHKernels.DoubleCosine ā€” Method
DoubleCosine(dim::Integer)

Define DoubleCosine kernel with dimension dim for the native DataType of the OS.

source
SPHKernels.Quintic ā€” Type
Quintic(T::DataType=Float64, dim::Integer=3)

Set up a Quintic kernel for a given DataType T.

source
SPHKernels.Quintic ā€” Method
Quintic(dim::Integer)

Define Quintic kernel with dimension dim for the native DataType of the OS.

source
SPHKernels.Tophat ā€” Type
Tophat(dim::Integer)

Define Tophat kernel with dimension dim for the native DataType of the OS.

source
SPHKernels.WendlandC2 ā€” Type
WendlandC2(T::DataType=Float64, dim::Integer=3)

Set up a WendlandC2 kernel for a given DataType T.

source
SPHKernels.WendlandC2 ā€” Method
WendlandC2(dim::Integer)

Define WendlandC2 kernel with dimension dim for the native DataType of the OS.

source
SPHKernels.WendlandC4 ā€” Type
WendlandC4(T::DataType=Float64, dim::Integer=3)

Set up a WendlandC4 kernel for a given DataType T.

source
SPHKernels.WendlandC4 ā€” Method
WendlandC4(dim::Integer)

Define WendlandC4 kernel with dimension dim for the native DataType of the OS.

source
SPHKernels.WendlandC6 ā€” Type
WendlandC6(T::DataType=Float64, dim::Integer=3)

Set up a WendlandC6 kernel for a given DataType T.

source
SPHKernels.WendlandC6 ā€” Method
WendlandC6(dim::Integer)

Define WendlandC6 kernel with dimension dim for the native DataType of the OS.

source
SPHKernels.WendlandC8 ā€” Type
WendlandC8(T::DataType=Float64, dim::Integer=3)

Set up a WendlandC8 kernel for a given DataType T.

source
SPHKernels.WendlandC8 ā€” Method
WendlandC8(dim::Integer)

Define WendlandC8 kernel with dimension dim for the native DataType of the OS.

source

Exported Functions

SPHKernels.bias_correction ā€” Method
bias_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.

source
SPHKernels.bias_correction ā€” Method
bias_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.

source
SPHKernels.bias_correction ā€” Method
bias_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.

source
SPHKernels.bias_correction ā€” Method
bias_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.

source
SPHKernels.bias_correction ā€” Method
bias_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.

source
SPHKernels.bias_correction ā€” Method
bias_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.

source
SPHKernels.bias_correction ā€” Method
bias_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.

source
SPHKernels.bias_correction ā€” Method
bias_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.

source
SPHKernels.dš’² ā€” Method
dš’²( kernel::AbstractSPHKernel, u::Real, h_inv::Real)

Evaluate derivative at position $u = \frac{x}{h}$.

source
SPHKernels.kernel_curl ā€” Method
kernel_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.

source
SPHKernels.kernel_deriv ā€” Method
kernel_deriv(kernel::Cubic{T}, u::Real, h_inv::Real) where T

Evaluate the derivative of the Cubic spline at position $u = \frac{x}{h}$.

source
SPHKernels.kernel_deriv ā€” Method
kernel_deriv(kernel::DoubleCosine, u::Real, h_inv::Real)

Evaluate the derivative of the DoubleCosine spline at position $u = \frac{x}{h}$.

source
SPHKernels.kernel_deriv ā€” Method
kernel_deriv(kernel::Quintic{T}, u::Real, h_inv::Real) where T

Evaluate the derivative of the Quintic spline at position $u = \frac{x}{h}$.

source
SPHKernels.kernel_deriv ā€” Method
kernel_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}$.

source
SPHKernels.kernel_deriv ā€” Method
kernel_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}$.

source
SPHKernels.kernel_deriv ā€” Method
kernel_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}$.

source
SPHKernels.kernel_deriv ā€” Method
kernel_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}$.

source
SPHKernels.kernel_deriv ā€” Method
kernel_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}$.

source
SPHKernels.kernel_deriv ā€” Method
kernel_deriv(kernel::WendlandC2{T}, u::Real, h_inv::Real) where T

Evaluate the derivative of the WendlandC2 spline at position $u = \frac{x}{h}$.

source
SPHKernels.kernel_deriv ā€” Method
kernel_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}$.

source
SPHKernels.kernel_deriv ā€” Method
kernel_deriv(kernel::WendlandC6, u::Real, h_inv::Real)

Evaluate the derivative of the WendlandC6 spline at position $u = \frac{x}{h}$.

source
SPHKernels.kernel_deriv ā€” Method
kernel_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}$.

source
SPHKernels.kernel_div ā€” Method
kernel_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.

source
SPHKernels.kernel_gradient ā€” Method
kernel_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}$

source
SPHKernels.kernel_gradient ā€” Method
kernel_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}$

source
SPHKernels.kernel_gradient ā€” Method
kernel_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}$

source
SPHKernels.kernel_value ā€” Method
kernel_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)$

source
SPHKernels.kernel_value ā€” Method
kernel_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)$

source
SPHKernels.kernel_value ā€” Method
kernel_value_1D(kernel::Cubic{T}, u::Real, h_inv::Real) where T

Evaluate cubic spline at position $u = \frac{x}{h}$.

source
SPHKernels.kernel_value ā€” Method
kernel_value(kernel::DoubleCosine, u::Real, h_inv::Real)

Evaluate DoubleCosine spline at position $u = \frac{x}{h}$.

source
SPHKernels.kernel_value ā€” Method
kernel_value(kernel::Quintic{T}, u::Real, h_inv::Real) where T

Evaluate quintic spline at position $u = \frac{x}{h}$.

source
SPHKernels.kernel_value ā€” Method
kernel_value(kernel::WendlandC2_1D{T}, u::Real, h_inv::Real) where T

Evaluate WendlandC2 spline at position $u = \frac{x}{h}$.

source
SPHKernels.kernel_value ā€” Method
kernel_value(kernel::WendlandC4{T}, u::Real, h_inv::Real) where T

Evaluate WendlandC4 spline at position $u = \frac{x}{h}$.

source
SPHKernels.kernel_value ā€” Method
kernel_value(kernel::WendlandC6_1D{T}, u::Real, h_inv::Real) where T

Evaluate WendlandC6 spline at position $u = \frac{x}{h}$.

source
SPHKernels.kernel_value ā€” Method
kernel_value(kernel::WendlandC8_1D{T}, u::Real, h_inv::Real) where T

Evaluate WendlandC8 spline at position $u = \frac{x}{h}$.

source
SPHKernels.kernel_value ā€” Method
kernel_value(kernel::Tophat{T}, u::Real, h_inv::Real) where T

Evaluate Tophat spline at position $u = \frac{x}{h}$.

source
SPHKernels.kernel_value ā€” Method
kernel_value(kernel::WendlandC2{T}, u::Real, h_inv::Real) where T

Evaluate WendlandC2 spline at position $u = \frac{x}{h}$.

source
SPHKernels.kernel_value ā€” Method
(kernel::WendlandC4{T}, u::Real, h_inv::Real) where T

Evaluate WendlandC4 spline at position $u = \frac{x}{h}$.

source
SPHKernels.kernel_value ā€” Method
kernel_value(kernel::WendlandC6{T}, u::Real, h_inv::Real) where T

Evaluate WendlandC6 spline at position $u = \frac{x}{h}$.

source
SPHKernels.kernel_value ā€” Method
kernel_value(kernel::WendlandC8{T}, u::Real, h_inv::Real) where T

Evaluate WendlandC8 spline at position $u = \frac{x}{h}$.

source
SPHKernels.quantity_curl ā€” Method
quantity_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)$

source
SPHKernels.quantity_divergence ā€” Method
quantity_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)$

source
SPHKernels.quantity_gradient ā€” Method
quantity_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)$

source
SPHKernels.quantity_gradient ā€” Method
quantity_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)$

source
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.

source
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)$

source
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)$

source
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.

source
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.

source
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)$

source
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)$

source
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)$

source
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}$

source
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}$

source
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)$

source
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)$

source
SPHKernels.š’² ā€” Method
š’²( kernel::AbstractSPHKernel, u::Real, h_inv::Real)

Evaluate kernel at position $u = \frac{x}{h}$.

source
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)$

source

Private Functions

SPHKernels.get_r ā€” Method
get_r(xįµ¢::Real, xā±¼::Real)

Eukledian distance between xįµ¢ and xā±¼.

source
SPHKernels.get_r ā€” Method
get_r(xįµ¢::Vector{<:Real}, xā±¼::Vector{<:Real})

Eukledian distance between xįµ¢ and xā±¼.

source
SPHKernels.kernel_quantity ā€” Method
kernel_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)$

source
SPHKernels.kernel_quantity ā€” Method
kernel_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)$

source

Private Types