UJ Scheme

FLOWVPM.KernelType

Kernel(zeta, g, dgdr, g_dgdr, EXAFMM_P2P, EXAFMM_L2P)

Arguments

  • zeta::Function : Basis function zeta(r).
  • g::Function : Regularizing function g(r).
  • dgdr::Function : Derivative of g(r).
  • g_dgdr::Function : Efficient evaluation of g and dgdr.
source
FLOWVPM.UJ_directFunction

UJ_direct(pfield)

Calculates the velocity and Jacobian that the field exerts on itself by direct particle-to-particle interaction, saving U and J on the particles.

NOTE: This method accumulates the calculation on the properties U and J of every particle without previously emptying those properties.

source

UJ_direct(source, target)

Calculates the velocity and Jacobian that the field source exerts on every particle of field target, saving U and J on the particles.

NOTE: This method accumulates the calculation on the properties U and J of every particle without previously emptying those properties.

source
FLOWVPM.UJ_fmmFunction

UJ_fmm(pfield)

Calculates the velocity and Jacobian that the field exerts on itself through a fast-multipole approximation, saving U and J on the particles.

NOTE: This method accumulates the calculation on the properties U and J of every particle without previously emptying those properties.

source
FLOWVPM.FMMType
`FMM(; p::Int=4, ncrit::Int=10, theta::Real=0.5, shrink_recenter::Bool=true,
      relative_tolerance::Real=1e-3, absolute_tolerance::Real=1e-6,
      autotune_p::Bool=true, autotune_ncrit::Bool=true,
      autotune_reg_error::Bool=true, default_rho_over_sigma::Real=1.0)`

Parameters for FMM solver.

Arguments

  • p : Order of multipole expansion.
  • ncrit : Maximum number of particles per leaf.
  • theta : Neighborhood criterion. This criterion defines the distance where the far field starts. The criterion is that if θ*r < R1+R2 the interaction between two cells is resolved through P2P, where r is the distance between cell centers, and R1 and R2 are each cell radius. This means that at θ=1, P2P is done only on cells that have overlap; at θ=0.5, P2P is done on cells that their distance is less than double R1+R2; at θ=0.25, P2P is done on cells that their distance is less than four times R1+R2; at θ=0, P2P is done on all cells.
  • shrink_recenter : If true, shrink and recenter multipole expansions to account for nonzero particle radius.
  • relative_tolerance : Relative error tolerance for FMM calls.
  • absolute_tolerance : Absolute error tolerance fallback for FMM calls in case relative tolerance becomes too small.
  • autotune_p : If true, automatically adjust p to optimize performance.
  • autotune_ncrit : If true, automatically adjust ncrit to optimize performance.
  • autotune_reg_error : If true, constrain regularization error in FMM calls.
  • default_rho_over_sigma : Default value for ρ/σ in FMM calls (unused if autotune_reg_error is true).
source