Flux

Kinetic.flux_gksFunction

Gas kinetic Navier-Stokes flux

flux_gks(u::Real, μ::Real, dt::Real, su = 0.0::Real, a = 0::Real)
flux_gks(uL::Real, uR::Real, μ::Real, dt::Real, dxL::Real,
    dxR::Real, suL = 0.0::Real, suR = 0.0::Real, a = 0::Real)
  • @args: conservative scalars and their slopes
  • @args: viscosity
  • @args: time step and cell size
  • @return: scalar flux
Kinetic.flux_gks!Function

Gas kinetic Navier-Stokes flux

1D: flux_gks!(fw, wL, wR, γ, K, μᵣ, ω, dt, dx, swL, swR)
2D: flux_gks!(fw, wL, wR, γ, K, μᵣ, ω, dt, dx, dy, swL, swR)
  • @args: conservative variables and their left/right slopes
  • @args: molecular and thermodynamic parameters
  • @args: time step and cell size
Kinetic.flux_kfvs!Function

Kinetic flux vector splitting (KFVS) flux

DOM: `flux_kfvs!(ff, fL, fR, u, dt, sfL, sfR)`
1D1F1V: `flux_kfvs!(fw, ff, fL, fR, u, ω, dt, sfL, sfR)`
1D1F3V: `flux_kfvs!(fw, ff, fL, fR, u, v, w, ω, dt, sfL, sfR)`
1D2F1V: `flux_kfvs!(fw, fh, fb, hL, bL, hR, bR, u, ω, dt, shL, sbL, shR, sbR)`
1D4F1V: `flux_kfvs!(fw, fh0, fh1, fh2, fh3, h0L, h1L, h2L, h3L, h0R, h1R, h2R, h3R, u, ω, dt, sh0L, sh1L, sh2L, sh3L, sh0R, sh1R, sh2R, sh3R)`
2D1F2V: `flux_kfvs!(fw, ff, fL, fR, u, v, ω, dt, len, sfL, sfR)`
2D2F2V: `flux_kfvs!(fw, fh, fb, hL, bL, hR, bR, u, v, ω, dt, len, shL, sbL, shR, sbR)`
  • @args: particle distribution functions and their left/right slopes
  • @args: particle velocity quadrature points and weights
  • @args: time step and cell size
Kinetic.flux_kcu!Function

Kinetic central-upwind (KCU) method

1D1F1V: flux_kcu!(fw, ff, wL, fL, wR, fR, u, ω, inK, γ, visRef, visIdx, Pr, dt)
1D2F1V: flux_kcu!(fw, fh, fb, wL, hL, bL, wR, hR, bR, u, ω, inK, γ, visRef, visIdx, Pr, dt)
1D4F1V: flux_kcu!(fw, fh0, fh1, fh2, fh3, wL, h0L, h1L, h2L, h3L, wR, h0R, h1R, h2R, h3R, u, ω, inK, γ, visRef, visIdx, Pr, dt)
2D1F2V: flux_kcu!(fw, ff, wL, fL, wR, fR, u, v, ω, inK, γ, visRef, visIdx, Pr, dt, len)
2D2F2V: flux_kcu!(fw, fh, fb, wL, hL, bL, wR, hR, bR, u, v, ω, inK, γ, visRef, visIdx, Pr, dt, len)
2D3F2V: flux_kcu!(fw, fh0, fh1, fh2, wL, h0L, h1L, h2L, wR, h0R, h1R, h2R, u, v, ω, inK, γ, visRef, visIdx, Pr, dt, len)
  • @args: particle distribution functions and their slopes at left/right sides of interface
  • @args: particle velocity quadrature points and weights
  • @args: time step and cell size
Kinetic.flux_ugks!Function

Unified gas kinetic scheme (UGKS)

  • @args: particle distribution functions and their slopes at left/right sides of interface
  • @args: particle velocity quadrature points and weights
  • @args: time step
Kinetic.flux_boundary_maxwell!Function

Maxwell's diffusive boundary flux

  • @args: particle distribution functions and their slopes at left/right sides of interface
  • @args: particle velocity quadrature points and weights
  • @args: time step
Kinetic.flux_lax!Function

Lax-Friedrichs flux

flux_lax!(fw::AbstractArray{<:Real,1}, wL::AbstractArray{<:Real,1}, wR::AbstractArray{<:Real,1}, γ::Real, dt::Real, dx::Real)

P. D. Lax, Weak Solutions of Nonlinear Hyperbolic Equations and Their Numerical Computation, Commun. Pure and Applied Mathematics, 7, 159-193, 1954.

Kinetic.flux_hll!Function

HLL flux for the Euler equations

flux_hll!(fw::AbstractArray{<:Real,1}, wL::AbstractArray{<:Real,1}, wR::AbstractArray{<:Real,1}, γ::Real, dt::Real)
  • @args: variables at left & right sides of interface
  • @args: specific heat ratio
Kinetic.flux_roe!Function

Roe's flux with entropy fix

flux_roe!(fw::AbstractArray{<:Real,1}, wL::AbstractArray{<:Real,1}, wR::AbstractArray{<:Real,1},
γ::Real, dt::Real, n = [1.0, 0.0]::AbstractArray{<:Real,1})

P. L. Roe, Approximate Riemann Solvers, Parameter Vectors and Difference Schemes, Journal of Computational Physics, 43, pp. 357-372. (cf. http://cfdbooks.com/cfdcodes.html)

  • @args primL[1:4] = left state (rhoL, uL, vL, pL)
  • @args primR[1:4] = right state (rhoR, uR, vR, pR)
  • @args γ: specific heat ratio
  • @args n[2]: unit face normal (L -> R)
Kinetic.flux_em!Function

Wave propagation method for Maxwell's equations

flux_em!(femL, femR, ELL, BLL, EL, BL, ER, BR, ERR, BRR, ϕL, ϕR, ψL, ψR, dxL, dxR, Ap, An, D, sol, χ, ν, dt)
  • @args: {E, B, ϕ, ψ} in left-left, left, right, and right-right cells
  • @args: eigenmatrix (A -> A+ & A-), eigenvalue (D)
  • @args: full size of left & right cells
  • @args: speed of light (sol)
  • @args: auxiliary parameters (χₑ, νᵦ)
Kinetic.flux_emx!Function

Wave propagation method for 2D Maxwell's equations

flux_emx!(femL, femR, femLU, femLD, femRU, femRD,
ELL, BLL, EL, BL, ER, BR, ERR, BRR, ϕL, ϕR, ψL, ψR,
dxL, dxR, A1p, A1n, A2p, A2n, D, sol, χ, ν, dt)
  • @args: {E, B, ϕ, ψ} in left-left, left, right, and right-right cells
  • @args: eigenmatrix (A -> A+ & A-), eigenvalue (D)
  • @args: full size of left & right cells
  • @args: speed of light (sol)
  • @args: auxiliary parameters (χₑ, νᵦ)
Kinetic.flux_emy!Function

Wave propagation method for 2D Maxwell's equations

flux_emx!(femL, femR, femLU, femLD, femRU, femRD,
ELL, BLL, EL, BL, ER, BR, ERR, BRR, ϕL, ϕR, ψL, ψR,
dxL, dxR, A1p, A1n, A2p, A2n, D, sol, χ, ν, dt)
  • @args: {E, B, ϕ, ψ} in left-left, left, right, and right-right cells
  • @args: eigenmatrix (A -> A+ & A-), eigenvalue (D)
  • @args: full size of left & right cells
  • @args: speed of light (sol)
  • @args: auxiliary parameters (χₑ, νᵦ)