Theory
Kinetic.prim_conserve
— FunctionTransform primitive -> conservative variables
prim_conserve(prim::T, γ) where {T<:AbstractArray{<:Real,1}}
prim_conserve(ρ, U, λ, γ)
prim_conserve(ρ, U, V, λ, γ)
prim_conserve(ρ, U, V, W, λ, γ)
Kinetic.conserve_prim
— FunctionTransform conservative -> primitive variables
scalar: pseudo primitive vector for scalar conservation laws
conserve_prim(u)
conserve_prim(u, a)
vector: primitive vector for Euler, Navier-Stokes and extended equations
conserve_prim(W::T, γ) where {T<:AbstractArray{<:Real,1}}
conserve_prim(ρ, M, E, γ)
conserve_prim(ρ, MX, MY, E, γ)
Kinetic.mixture_prim_conserve
— FunctionTransform multi-component primitive -> conservative variables
mixture_prim_conserve(prim::T, γ) where {T<:AbstractArray{<:Real,2}}
Kinetic.mixture_conserve_prim
— FunctionTransform multi-component conservative -> primitive variables
mixture_conserve_prim(W::T, γ) where {T<:AbstractArray{<:Real,2}}
Kinetic.em_coefficients
— FunctionCalculate electromagnetic coeffcients in hyperbolic Maxwell's equations
em_coefficients(
prim::X,
E::Y,
B::Z,
mr,
lD,
rL,
dt,
) where {X<:AbstractArray{<:Real,2},Y<:AbstractArray{<:Real,1},Z<:AbstractArray{<:Real,1}}
Kinetic.advection_flux
— FunctionTheoretical flux of linear advection equation
advection_flux(u, a)
Kinetic.burgers_flux
— FunctionTheoretical flux of Burgers' equation
burgers_flux(u)
Kinetic.euler_flux
— FunctionTheoretical fluxes of Euler Equations
euler_flux(w::A, γ; frame = :cartesian::Symbol) where {A<:AbstractArray{<:Real,1}}
- @return: flux tuple
Kinetic.euler_jacobi
— FunctionFlux Jacobian of Euler Equations
euler_jacobi(w::T, γ) where {T<:AbstractArray{<:Real,1}}
- @return: Jacobian matrix A
Kinetic.gauss_moments
— FunctionCalculate moments of Gaussian distribution G = (λ / π)^(D / 2) * exp[-λ(c^2 + ξ^2)]
- internality:
gauss_moments(prim::T) where {T<:AbstractArray{<:Real,1}}
- no internality:
gauss_moments(prim::T, inK) where {T<:AbstractArray{<:Real,1}}
Kinetic.mixture_gauss_moments
— FunctionCalculate moments of Gaussian distribution in multi-component gas
mixture_gauss_moments(prim::T, inK) where {T<:AbstractArray{<:Real,2}}
Kinetic.moments_conserve
— FunctionCalculate conservative moments of particle distribution
moments_conserve(Mu::OffsetArray{<:AbstractFloat,1}, alpha::Int)
moments_conserve(Mu::OffsetArray{<:Real,1}, Mxi::OffsetArray{<:Real,1}, alpha::Int, delta::Int)
moments_conserve(Mu::OffsetArray{<:Real,1}, Mv::OffsetArray{<:Real,1}, Mw::OffsetArray{<:Real,1}, alpha::Int, beta::Int, delta::Int)
Kinetic.mixture_moments_conserve
— FunctionCalculate conservative moments of particle distribution in multi-component gas
mixture_moments_conserve(
Mu::T,
Mxi::T,
alpha::I,
delta::I,
) where {T<:OffsetArray{<:AbstractFloat,2},I<:Int}
function mixture_moments_conserve(
Mu::T,
Mv::T,
Mw::T,
alpha::I,
beta::I,
delta::I,
) where {T<:OffsetArray{<:AbstractFloat,2},I<:Int}
Kinetic.pdf_slope
— FunctionCalculate slope of particle distribution function, assuming a = a1 + u * a2 + 0.5 * u^2 * a3
pdf_slope(u, Δ)
pdf_slope(prim::A, sw::B, inK) where {A<:AbstractArray{<:Real,1},B<:AbstractArray{<:Real,1}}
Kinetic.mixture_pdf_slope
— FunctionCalculate slope of multi-component particle distribution function, assuming a = a1 + u * a2 + 0.5 * u^2 * a3
mixture_pdf_slope(prim::X, sw::Y, inK) where {X<:AbstractArray{<:Real,2},Y<:AbstractArray{<:Real,2}}
Kinetic.moments_conserve_slope
— FunctionCalculate slope-related conservative moments a = a1 + u * a2 + 0.5 * u^2 * a3
Kinetic.mixture_moments_conserve_slope
— FunctionCalculate slope-related conservative moments a = a1 + u * a2 + 0.5 * u^2 * a3
Kinetic.discrete_moments
— FunctionDiscrete moments of particle distribution
discrete_moments(f, ω)
: direct quadraturediscrete_moments(f, u, ω, n)
: velocity moments
Kinetic.stress
— FunctionCalculate stress tensor from particle distribution function
Kinetic.heat_flux
— FunctionCalculate heat flux from particle distribution function
Kinetic.maxwellian
— FunctionMaxwellian in discrete form
- @args: particle velocity quadrature points
- @args: density, velocity and inverse of temperature
- @return: Maxwellian distribution function
Kinetic.mixture_maxwellian
— FunctionMulti-component Maxwellian in discrete form
mixture_maxwellian(u::X, prim::Y) where {X<:AbstractArray{<:AbstractFloat,2},Y<:AbstractArray{<:Real,2}}
mixture_maxwellian(
u::X,
v::X,
prim::Y,
) where {X<:AbstractArray{<:AbstractFloat,3},Y<:AbstractArray{<:Real,2}}
mixture_maxwellian(
u::X,
v::X,
w::X,
prim::Y,
) where {X<:AbstractArray{<:AbstractFloat,4},Y<:AbstractArray{<:Real,2}}
Kinetic.shakhov
— FunctionShakhov non-equilibrium part
- @arg: particle velocity quadrature points
- @arg: discrete Maxwellian
- @arg: primitive variables, Prandtl number, heat flux, inner degree of freedom
Kinetic.reduce_distribution
— FunctionReduced distribution function
- @arg : particle distribution function with full velocity space
- @arg : quadrature weights with reduced velocity setting (v & w by default)
Kinetic.full_distribution
— FunctionRecover full distribution function from reduced ones
- @arg h & b : reduced particle distribution function with 1D velocity space
- @arg u : quadrature nodes in 1D velocity space
- @arg weights : quadrature weights in 1D velocity space
- @arg v & w : quadrature nodes in the rest velocity space (with 3D setting)
- @return f : particle distribution function with 3D velocity space
Kinetic.ref_vhs_vis
— FunctionCalculate reference viscosity
- variable hard sphere (VHS) model
Kinetic.vhs_collision_time
— FunctionCalculate collision time
- variable hard sphere (VHS) model
Kinetic.aap_hs_collision_time
— FunctionCalculate mixture collision time from AAP model
aap_hs_collision_time( prim::AbstractArray{<:Real,2}, mi::Real, ni::Real, me::Real, ne::Real, kn::Real, )
Kinetic.aap_hs_prim
— FunctionCalculate mixture primitive variables from AAP model
tested √
aap_hs_prim( prim::AbstractArray{<:Real,2}, tau::AbstractArray{<:Real,1}, mi::Real, ni::Real, me::Real, ne::Real, kn::Real, )
Kinetic.aap_hs_diffeq!
— FunctionSource term of AAP model in DifferentialEquations.jl
aap_hs_diffeq!(du, u, p, t)
Kinetic.shift_pdf!
— FunctionShift distribution function by external force
shift_pdf!(
f::T,
a,
du,
dt,
) where {T<:AbstractArray{<:AbstractFloat,1}}
shift_pdf!(
f::X,
a::Y,
du::Z,
dt,
) where {X<:AbstractArray{<:AbstractFloat,2},Y<:AbstractArray{<:Real,1},Z<:AbstractArray{<:AbstractFloat,1}}
Kinetic.hs_boltz_kn
— FunctionCalculate effective Knudsen number for fast spectral method
- hard sphere (HS) model
Kinetic.kernel_mode
— FunctionCalculate collision kernel for fast spectral method
Kinetic.boltzmann_fft
— FunctionCalculate collision operator with FFT-based fast spectral method
Kinetic.boltzmann_fft!
— FunctionCalculate collision operator with FFT-based fast spectral method
Kinetic.heat_capacity_ratio
— FunctionCalculate heat capacity ratio
Kinetic.sound_speed
— FunctionCalculate speed of sound