Physical space
Information in physical space are organized as following.
KitAMR.AbstractPsData — Type
abstract type AbstractPsData{DIM, NDF}KitAMR.PsData — Type
mutable struct PsData{DIM, NDF} <: AbstractPsData{DIM, NDF}quadid::Int32: Index of the quadrant corresponding toPsData.bound_enc::Int64: Encoding of the cell type.0:fluid cell;>0: donor cell ofbound_encth immersed boundary;<0: solid cell (or solid neighbor) ofbound_encth boundary.solid_cell_index::Vector{Int64}: Deprecated.ds::Vector{Float64}: Faces area (length).midpoint::Vector{Float64}: Coordinates of the cell center.qf::Vector{Float64}: Heat flux.w::Vector{Float64}: Conserved variables.sw::Matrix{Float64}: Gradients of conserved variables.prim::Vector{Float64}: Primary variables.flux::Vector{Float64}: Conserved flux.vs_data::VsData: Data of the velocity space.neighbor::Neighbor: Neighbor of the cell.
KitAMR.GhostPsData — Type
mutable struct GhostPsData{DIM, NDF} <: KitAMR.AbstractGhostPsData{DIM, NDF}owner_rank::Int64quadid::Int64bound_enc::Int64ds::Vector{Float64}midpoint::Vector{Float64}w::Vector{Float64}sw::Matrix{Float64}vs_data::Ghost_VsData
KitAMR.InsideSolidData — Type
mutable struct InsideSolidData{DIM, NDF} <: AbstractPsData{DIM, NDF}KitAMR.GhostInsideSolidData — Type
mutable struct GhostInsideSolidData{DIM, NDF} <: KitAMR.AbstractGhostPsData{DIM, NDF}KitAMR.Neighbor — Type
mutable struct Neighbor{DIM, NDF}data::Array{Array{Union{Nothing, AbstractPsData{DIM, NDF}}, 1}, 1} where {DIM, NDF}state::Vector{Int64}
KitAMR.SolidNeighbor — Type
mutable struct SolidNeighbor{DIM, NDF} <: AbstractPsData{DIM, NDF}bound_enc::Int64faceid::Int64: Index of the face of the donor cell corresponding to this SolidNeighbor.av_id::Int64: Deprecated.aux_point::Vector{Float64}: Intersect point at the boundary corresponding to this SolidNeighbor.normal::Vector{Float64}: Normal vector of the boundary ataux_point.solid_cell::AbstractPsData: Solid_cell corresponding to this SolidNeighbor.midpoint::Vector{Float64}ds::Vector{Float64}w::Vector{Float64}sw::Matrix{Float64}cvc::CuttedVelocityCells: Struct containing information of cut cell in velocity space.vs_data::VsData
To calculate the numerical flux, the mapping between cells and faces are required, which is defined by
KitAMR.AbstractFace — Type
abstract type AbstractFaceKitAMR.DomainFace — Type
struct DomainFace{DIM, NDF, T} <: KitAMR.BoundaryFaceFace at the domain edge.
KitAMR.FullFace — Type
struct FullFace{DIM, NDF} <: KitAMR.InnerFaceFace shared by cells with the same refinement level.
rot::Float64: Rotational coefficient of the face.-1ifhere_datalocates at the negative direction relative to the face.direction::Int64: Direction of the face's normal. 1, 2, 3 correspond to x, y, z respectively.midpoint::Vector{Float64}: Coordinates of the face's center.here_data::PsData:PsDataon one side of the face. It is guaranteed to be local.there_data::AbstractPsData:AbstractPsDataon the other side of the face. It can be a ghost one.
KitAMR.HangingFace — Type
struct HangingFace{DIM, NDF} <: KitAMR.InnerFaceFaces shared by cells with different refinement levels. The cell with lower level is local.
rot::Float64direction::Int64midpoint::Vector{Vector{Float64}}here_data::PsDatathere_data::Array{AbstractPsData{DIM, NDF}, 1} where {DIM, NDF}:AbstractPsDatas with higher refinement level.
KitAMR.BackHangingFace — Type
struct BackHangingFace{DIM, NDF} <: KitAMR.InnerFaceFaces shared by cells with different refinement levels. The cell with lower level is ghost.
rot::Float64direction::Int64midpoint::Vector{Vector{Float64}}here_data::Array{PsData{DIM, NDF}, 1} where {DIM, NDF}there_data::AbstractPsData
KitAMR.FluxData — Type
struct FluxData{T<:KitAMR.InnerFace}Struct for flux calculation corresponding to a single face.
rot::Float64direction::Int64midpoint::Vector{Float64}here_data::AbstractPsDatathere_data::AbstractPsData