Viscous Scheme

FLOWVPM.ViscousSchemeType
`ViscousScheme{R}`

Type declaring viscous scheme.

Implementations must have the following properties: * nu::R : Kinematic viscosity.

source
FLOWVPM.CoreSpreadingType
CoreSpreading(nu, sgm0, zeta::Tzeta=zeta_fmm; <keyword arguments>)

Creates a core spreading viscous scheme with the given parameters.

Arguments

  • nu::Real Kinematic viscosity.
  • sgm0::Real Core size after reset.
  • zeta::Function = zeta_fmm Basis function evaluation method.
  • beta::Real = 1.5 Maximum core size growth σ/σ_0.
  • itmax::Int = 15 Maximum number of RBF iterations.
  • tol::Real = 1e-3 RBF interpolation tolerance.
  • iterror::Bool = true Throw error if RBF didn't converge.
  • verbose::Bool = false Verbose on RBF interpolation.
  • v_lvl::Int = 2 Verbose printing tab level.
  • debug::Bool = false Print verbose for debugging.
  • rbf::Function = rbf_conjugategradient RBF function.
  • rr0s::Array{R, 1} = zeros(R, 3) Initial field residuals.
  • rrs::Array{R, 1} = zeros(R, 3) Current field residuals.
  • prev_rrs::Array{R, 1} = zeros(R, 3) Previous field residuals.
  • pAps::Array{R, 1} = zeros(R, 3) pAp product.
  • alphas::Array{R, 1} = zeros(R, 3) Alpha coefficients.
  • betas::Array{R, 1} = zeros(R, 3)
  • flags::Array{Bool, 1} = zeros(Bool, 3)
source
FLOWVPM.ParticleStrengthExchangeType
ParticleStrengthExchange(nu; <keyword arguments>)

Creates a particle strength exchange viscous scheme with the given parameters.

Arguments

  • nu::Real Kinematic viscosity.
  • recalculate_vols::Bool = true Whether to recalculate particle volumes.
source
FLOWVPM.rbf_conjugategradientFunction

Radial basis function interpolation of Gamma using the conjugate gradient method. This method only works on a particle field with uniform smoothing radius sigma.

See 20180818 notebook and https://en.wikipedia.org/wiki/Conjugategradientmethod#Theresultingalgorithm

source