Physical space

Information in physical space are organized as following.

KitAMR.PsDataType
mutable struct PsData{DIM, NDF} <: AbstractPsData{DIM, NDF}
  • quadid::Int32: Index of the quadrant corresponding to PsData.

  • bound_enc::Int64: Encoding of the cell type. 0:fluid cell;>0: donor cell of bound_enc th immersed boundary;<0: solid cell (or solid neighbor) of bound_enc th 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.

source
KitAMR.GhostPsDataType
mutable struct GhostPsData{DIM, NDF} <: KitAMR.AbstractGhostPsData{DIM, NDF}
  • owner_rank::Int64

  • quadid::Int64

  • bound_enc::Int64

  • ds::Vector{Float64}

  • midpoint::Vector{Float64}

  • w::Vector{Float64}

  • sw::Matrix{Float64}

  • vs_data::Ghost_VsData

source
KitAMR.NeighborType
mutable struct Neighbor{DIM, NDF}
  • data::Array{Array{Union{Nothing, AbstractPsData{DIM, NDF}}, 1}, 1} where {DIM, NDF}

  • state::Vector{Int64}

source
KitAMR.SolidNeighborType
mutable struct SolidNeighbor{DIM, NDF} <: AbstractPsData{DIM, NDF}
  • bound_enc::Int64

  • faceid::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 at aux_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

source

To calculate the numerical flux, the mapping between cells and faces are required, which is defined by

KitAMR.FullFaceType
struct FullFace{DIM, NDF} <: KitAMR.InnerFace

Face shared by cells with the same refinement level.

  • rot::Float64: Rotational coefficient of the face. -1 if here_data locates 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: PsData on one side of the face. It is guaranteed to be local.

  • there_data::AbstractPsData: AbstractPsData on the other side of the face. It can be a ghost one.

source
KitAMR.HangingFaceType
struct HangingFace{DIM, NDF} <: KitAMR.InnerFace

Faces shared by cells with different refinement levels. The cell with lower level is local.

  • rot::Float64

  • direction::Int64

  • midpoint::Vector{Vector{Float64}}

  • here_data::PsData

  • there_data::Array{AbstractPsData{DIM, NDF}, 1} where {DIM, NDF}: AbstractPsDatas with higher refinement level.

source
KitAMR.BackHangingFaceType
struct BackHangingFace{DIM, NDF} <: KitAMR.InnerFace

Faces shared by cells with different refinement levels. The cell with lower level is ghost.

  • rot::Float64

  • direction::Int64

  • midpoint::Vector{Vector{Float64}}

  • here_data::Array{PsData{DIM, NDF}, 1} where {DIM, NDF}

  • there_data::AbstractPsData

source
KitAMR.FluxDataType
struct FluxData{T<:KitAMR.InnerFace}

Struct for flux calculation corresponding to a single face.

  • rot::Float64

  • direction::Int64

  • midpoint::Vector{Float64}

  • here_data::AbstractPsData

  • there_data::AbstractPsData

source