Theory
KitBase.prim_conserve
— Functionprim_conserve(prim, γ)
Transform primitive -> conservative variables
prim_conserve(ρ, U, λ, γ)
prim_conserve(ρ, U, V, λ, γ)
prim_conserve(ρ, U, V, W, λ, γ)
prim_conserve(prim, γ, Kr)
Polyatomic gas
KitBase.conserve_prim
— Functionconserve_prim(u)
Transform conservative -> primitive variables
scalar: pseudo primitive vector for scalar conservation laws
conserve_prim(u, a)
conserve_prim(W, γ)
vector: primitive vector for Euler, Navier-Stokes and extended equations
conserve_prim(ρ, M, E, γ)
conserve_prim(ρ, MX, MY, E, γ)
conserve_prim(ρ, MX, MY, MZ, E, γ)
conserve_prim(w, K, Kr)
Rykov model
KitBase.mixture_prim_conserve
— Functionmixture_prim_conserve(prim, γ)
Transform multi-component primitive -> conservative variables
mixture_prim_conserve(prim, γ, Kr)
Transform multi-component primitive -> conservative variables
KitBase.mixture_conserve_prim
— Functionmixture_conserve_prim(W, γ)
Transform multi-component conservative -> primitive variables
mixture_conserve_prim(W, K, Kr)
Transform multi-component polyatomic conservative -> primitive variables
Missing docstring for em_coefficients
. Check Documenter's build log for details.
Missing docstring for advection_flux
. Check Documenter's build log for details.
Missing docstring for burgers_flux
. Check Documenter's build log for details.
Missing docstring for euler_flux
. Check Documenter's build log for details.
Missing docstring for euler_jacobi
. Check Documenter's build log for details.
Missing docstring for gauss_moments
. Check Documenter's build log for details.
Missing docstring for mixture_gauss_moments
. Check Documenter's build log for details.
KitBase.moments_conserve
— Functionmoments_conserve(Mu, alpha)
Calculate conservative moments of particle distribution
moments_conserve(Mu, Mxi, alpha, delta)
moments_conserve(Mu, Mv, Mw, alpha, beta, delta)
moments_conserve(f, u, ω, _)
Discrete moments of conservative variables
1F1V
moments_conserve(f, u, v, ω, _)
1F2V
moments_conserve(h, b, u, ω, _)
2F1V
moments_conserve(h, b, u, v, ω, _)
2F2V
moments_conserve(h0, h1, h2, u, v, ω, _)
3F2V
moments_conserve(f, u, v, w, ω, _)
1F3V
moments_conserve(h0, h1, h2, h3, u, ω, _)
4F1V
moments_conserve(f, u, ω)
Shortcut methods
1F1V
moments_conserve(a1, a2, a3, a4)
2F1V & 1F2V
moments_conserve(a1, a2, a3, a4, a5)
2F2V & 1F3V
moments_conserve(a1, a2, a3, a4, a5, a6)
4F1V & 3F2V
KitBase.mixture_moments_conserve
— Functionmixture_moments_conserve(Mu, Mxi, alpha, delta)
Calculate conservative moments of particle distribution in multi-component gas
mixture_moments_conserve(Mu, Mv, Mw, alpha, beta, delta)
mixture_moments_conserve(f, u, ω)
Discrete moments of conservative variables
1F1V
mixture_moments_conserve(h, b, u, ω)
2F1V
mixture_moments_conserve(h0, h1, h2, h3, u, ω)
4F1V
mixture_moments_conserve(f, u, v, ω)
1F2V
mixture_moments_conserve(h, b, u, v, ω)
2F2V
mixture_moments_conserve(h0, h1, h2, u, v, ω)
3F2V
mixture_moments_conserve(f, u, v, w, ω)
1F3V
Missing docstring for pdf_slope
. Check Documenter's build log for details.
Missing docstring for mixture_pdf_slope
. Check Documenter's build log for details.
Missing docstring for moments_conserve_slope
. Check Documenter's build log for details.
Missing docstring for mixture_moments_conserve_slope
. Check Documenter's build log for details.
KitBase.discrete_moments
— Functiondiscrete_moments(f, ω)
Discrete moments of particle distribution
discrete_moments(f, u, ω, n)
KitBase.stress
— Functionstress(f, prim, u, ω)
Calculate stress tensor from particle distribution function
stress(f, prim, u, v, ω)
stress(f, prim, u, v, w, ω)
KitBase.heat_flux
— Functionheat_flux(f, prim, u, ω)
Calculate heat flux from particle distribution function
Multiple dispatch doesn't consider unstructured multi-dimensional velocity space. In that case a new method needs to be defined.
1F1V
heat_flux(h, b, prim, u, ω)
2F1V
heat_flux(h, b, r, prim, u, ω)
3F1V Rykov model
heat_flux(h, prim, u, v, ω)
1F2V
heat_flux(h, b, prim, u, v, ω)
2F2V
heat_flux(h, b, r, prim, u, v, ω)
3F2V Rykov model
heat_flux(f, prim, u, v, w, ω)
1F3V
KitBase.maxwellian
— Functionmaxwellian(u, ρ, U, λ)
Maxwellian in discrete form
1V
maxwellian(u, prim)
maxwellian(u, v, ρ, U, V, λ)
2V
maxwellian(u, v, prim)
maxwellian(u, v, w, ρ, U, V, W, λ)
3V
maxwellian(u, v, w, prim)
KitBase.mixture_maxwellian
— Functionmixture_maxwellian(u, prim)
Multi-component Maxwellian in discrete form
1V
mixture_maxwellian(u, v, prim)
2V
mixture_maxwellian(u, v, w, prim)
3V
KitBase.shakhov
— Functionshakhov(u, M, q, prim, Pr)
Shakhov non-equilibrium part
1F1V
shakhov(u, H, B, q, prim, Pr, K)
2F1V
shakhov(u, v, M, q, prim, Pr)
1F2V
shakhov(u, v, H, B, q, prim, Pr, K)
2F2V
shakhov(u, v, w, M, q, prim, Pr)
1F3V
KitBase.reduce_distribution
— Functionreduce_distribution(f, weights)
reduce_distribution(f, weights, dim)
Reduced distribution function
Arguments
f
: particle distribution function with full velocity spaceweights
: quadrature weights with reduced velocity settingdim
: dimension of the reduced distribution function (1 by default)
For 3D -> 1D, the quadrature weights can be obtained from VSpace2D
.
reduce_distribution(f, weights)
reduce_distribution(f, weights, dim)
reduce_distribution(f, v, w, weights)
reduce_distribution(f, v, w, weights, dim)
KitBase.full_distribution
— Functionfull_distribution(h, b, u, weights, v, w, ρ)
full_distribution(h, b, u, weights, v, w, ρ, γ)
Recover full distribution function from reduced ones
Arguments
h, b
: reduced particle distribution function with 1D velocity spaceu
: quadrature nodes in 1D velocity spaceweights
: quadrature weights in 1D velocity spacev, w
: quadrature nodes in the rest velocity space (with 3D setting)
Outputs
f
: particle distribution function with 3D velocity space
full_distribution(h, b, u, weights, v, w, prim)
full_distribution(h, b, u, weights, v, w, prim, γ)
KitBase.ref_vhs_vis
— Functionref_vhs_vis(Kn, alpha, omega)
Calculate reference viscosity with variable hard sphere (VHS) model
KitBase.vhs_collision_time
— Functionvhs_collision_time(ρ, λ, μᵣ, ω)
Calculate collision time with variable hard sphere (VHS) model
vhs_collision_time(prim, muRef, omega)
For Rykov model prim[end] should be λₜ
KitBase.aap_hs_collision_time
— Functionaap_hs_collision_time(prim, mi, ni, me, ne, kn)
Calculate mixture collision time from AAP model
KitBase.aap_hs_prim
— Functionaap_hs_prim(prim, tau, mi, ni, me, ne, kn)
Calculate mixture primitive variables from AAP model
Missing docstring for aap_hs_diffeq!
. Check Documenter's build log for details.
KitBase.shift_pdf!
— Functionshift_pdf!(f, a, du, dt)
Shift distribution function by external force
shift_pdf!(f, a, du, dt)
Multi-component gas
KitBase.hs_boltz_kn
— Functionhs_boltz_kn(mu_ref, alpha)
Calculate effective Knudsen number for fast spectral method with hard sphere (HS) model
KitBase.kernel_mode
— Functionkernel_mode(
M::Integer,
umax,
vmax,
wmax,
du,
dv,
dw,
unum::Integer,
vnum::Integer,
wnum::Integer,
alpha;
quad_num
) -> Tuple{Any, Any, Array{Float64, 3}}
Calculate collision kernel for fast spectral method...
kernel_mode(
M::Integer,
umax,
vmax,
wmax,
unum::Integer,
vnum::Integer,
wnum::Integer,
alpha;
quad_num
) -> Tuple{Any, Any, Array{Float64, 3}}
kernel_mode(
M::Integer,
umax,
vmax,
du,
dv,
unum::Integer,
vnum::Integer;
quad_num
) -> Tuple{Array{Float64, 3}, Array{Float64, 3}, Matrix{Float64}}
KitBase.boltzmann_fft
— Functionboltzmann_fft(
f0::AbstractArray{<:Real, 3},
Kn,
M::Integer,
ϕ::AbstractArray{<:Real, 4},
ψ::AbstractArray{<:Real, 4},
phipsi::AbstractArray{<:Real, 3}
) -> Any
Calculate collision operator with FFT-based fast spectral method...
boltzmann_fft(f, p)
KitBase.boltzmann_fft!
— Functionboltzmann_fft!(
Q::AbstractArray{<:Real, 3},
f0::AbstractArray{<:Real, 3},
Kn::Real,
M::Integer,
ϕ::AbstractArray{<:Real, 4},
ψ::AbstractArray{<:Real, 4},
phipsi::AbstractArray{<:Real, 3}
) -> Any
Calculate collision operator with FFT-based fast spectral method...
boltzmann_fft!(Q, f, p)
KitBase.heat_capacity_ratio
— Functionheat_capacity_ratio(K, D)
Calculate heat capacity ratio (monatomic gas)
heat_capacity_ratio(K, Nr, D)
Calculate heat capacity ratio (diatomic gas)
KitBase.sound_speed
— Functionsound_speed(λ, γ)
Calculate speed of sound
sound_speed(prim, γ)
sound_speed(prim, γ)
Calculate sound speed in mixture