Velocity space
In kinetic methods, variables are also discretized in velocity space. Information in velocity space are separately stored in AbstractPsData, and are organized as following.
The velocity grid is set up from the quadrature range and vs_trees_num of the Configure. It carries an implicit requirement that the origin v = 0 lie on a grid corner (never inside a cell); see check_vs_setting and the note on the Configuration page. The requirement is validated when the configuration is built.
KitAMR.AbstractVsData — Type
abstract type AbstractVsData{DIM, NDF}KitAMR.VsData — Type
mutable struct VsData{DIM, NDF} <: AbstractVsData{DIM, NDF}vs_num::Int64: Number of velocity cells.level::Vector{Int8}: Refinement level of velocity cells.weight::Vector{Float64}: Quadrature weight of velocity cells.midpoint::Matrix{Float64}: Coordinates of centers of velocity cells in velocity space.df::Matrix{Float64}: Discretized distribution function.sdf::Array{Float64, 3}: Spatial gradients (df/dx) of distribution function.flux::Matrix{Float64}: Numerical flux of distribution function.
KitAMR.GhostVsData — Type
mutable struct GhostVsData{DIM, NDF} <: AbstractVsData{DIM, NDF}vs_num::Int64level::Vector{Int8}weight::Vector{Float64}midpoint::Matrix{Float64}df::Matrix{Float64}sdf::Array{Float64, 3}
KitAMR.FaceVsData — Type
struct FaceVsData{DIM, NDF, W<:AbstractVector{Float64}, M<:AbstractMatrix{Float64}, V<:AbstractVector{Float64}, D<:AbstractMatrix{Float64}, S<:(AbstractArray{Float64})}Information of the velocity space corresponding to the face during the calculation of numerical flux.
heavi::Vector{Bool}: Upwinding flags. Upwinding velocities are set totrue.weight::AbstractVector{Float64}midpoint::AbstractMatrix{Float64}vn::AbstractVector{Float64}: Normal component of velocities across the face.df::AbstractMatrix{Float64}sdf::AbstractArray{Float64}
KitAMR.CuttedVelocityCells — Type
mutable struct CuttedVelocityCellsStructure for cut cell in velocity space used in immersed boundaries.
indices::Vector{Int64}: Indices of cut cells inSolidNeighbor'sVsData.weight::Vector{Float64}: Quadrature weight of velocity cells. Specially, the weight of cut cells is set to 0.gas_dfs::Matrix{Float64}: Distribution function of gas part corresponding to velocity at the center of cut cells.solid_dfs::Matrix{Float64}: Distribution function of solid part corresponding to velocity at the center of cut cells.gas_weights::Vector{Float64}: Areas of gas part in cut cells.solid_weights::Vector{Float64}: Areas of solid part in cut cells.