Evolution

KitBase.evolve!Function
evolve!(KS, ctr, face, dt; mode, bc)

Numerical flux solver

Arguments

  • KS: SolverSet
  • ctr: array of cell-centered solution
  • face: array of cell interface
  • dt: time step
  • mode: flux solver
  • bc: boundary condition
source
evolve!(KS, ctr, a1face, a2face, dt; mode, bc)

Numerical flux solver

Arguments

  • KS: SolverSet
  • ctr: array of cell-centered solution
  • a1face: array of cell interface perpendicular to x axis
  • a2face: array of cell interface perpendicular to y axis
  • dt: time step
  • mode: flux solver
  • bc: boundary condition
source

The evolution solver calculate the interface numerical fluxes based on two neighbor cells. Different flux functions can be used with the option model.

  • macroscopic: Godunov, Lax, Roe, HLL, wave-propagation
  • mesoscopic: upwind, central-upwind, gas-kinetic scheme

The available flux solvers are listed as follows.

KitBase.flux_lax!Function
flux_lax!(fw, wL, wR, γ, dt, dx)

Lax-Friedrichs flux

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

source
KitBase.flux_roe!Function
flux_roe!(KS, face, ctrL, ctrR, args)

Roe's flux with entropy fix

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)

source
flux_roe!(face, ctrL, ctrR, gas, p)
flux_roe!(face, ctrL, ctrR, gas, p, dt)
source
flux_roe!(fw, wL, wR, γ, dt)
flux_roe!(fw, wL, wR, γ, dt, δs)
flux_roe!(fw, wL, wR, γ, dt, δs, n)

Arguments

  • n: unit face normal (L -> R)
source
KitBase.flux_gksFunction
flux_gks(u, μ, dt)
flux_gks(u, μ, dt, a)
flux_gks(u, μ, dt, a, su)

Gas kinetic scalar flux

source
flux_gks(uL, uR, μ, dt, dxL, dxR)
flux_gks(uL, uR, μ, dt, dxL, dxR, a)
flux_gks(uL, uR, μ, dt, dxL, dxR, a, suL)
flux_gks(uL, uR, μ, dt, dxL, dxR, a, suL, suR)
source
KitBase.flux_gks!Function
flux_gks!(KS, face, ctrL, ctrR, args)

Gas kinetic flux

source
flux_gks!(face, ctrL, ctrR, gas, p)
flux_gks!(face, ctrL, ctrR, gas, p, dt)

Scalar

flux_gks is called since there is no in-place operation for scalar

source
flux_gks!(face, ctrL, ctrR, gas, p)
flux_gks!(face, ctrL, ctrR, gas, p, dt)

Gas

source
flux_gks!(face, ctrL, ctrR, gas, p)
flux_gks!(face, ctrL, ctrR, gas, p, dt)

Mixture

source
flux_gks!(fw, w, inK, γ, μᵣ, ω)
flux_gks!(fw, w, inK, γ, μᵣ, ω, sw)

Gas kinetic Navier-Stokes flux

Continuous case

source
flux_gks!(fw, wL, wR, inK, γ, μᵣ, ω, dt, dxL, dxR, swL, swR)

1D

source
flux_gks!(
    fw,
    wL,
    wR,
    inK,
    γ,
    mi,
    ni,
    me,
    ne,
    Kn,
    dt,
    dxL,
    dxR,
    swL,
    swR
)

Gas mixture

source
flux_gks!(
    fw,
    fh,
    wL,
    wR,
    u,
    inK,
    γ,
    visRef,
    visIdx,
    dt,
    dxL,
    dxR,
    swL,
    swR
)

1D1F1V

source
flux_gks!(
    fw,
    fh,
    fb,
    wL,
    wR,
    u,
    inK,
    γ,
    visRef,
    visIdx,
    dt,
    dxL,
    dxR,
    swL,
    swR
)

1D2F1V

source
flux_gks!(
    fw,
    wL,
    wR,
    inK,
    γ,
    μᵣ,
    ω,
    dt,
    dxL,
    dxR,
    dy,
    swL,
    swR
)

2D & 2D

source
flux_gks!(
    fw,
    wL,
    wR,
    inK,
    γ,
    mi,
    ni,
    me,
    ne,
    Kn,
    dt,
    dxL,
    dxR,
    len,
    swL,
    swR
)

Mixture

source
flux_gks!(
    fw,
    ff,
    wL,
    wR,
    u,
    v,
    inK,
    γ,
    μᵣ,
    ω,
    dt,
    dxL,
    dxR,
    dy,
    swL,
    swR
)

2D1F2V

source
flux_gks!(
    fw,
    fh,
    fb,
    wL,
    wR,
    u,
    v,
    inK,
    γ,
    μᵣ,
    ω,
    dt,
    dxL,
    dxR,
    dy,
    swL,
    swR
)

2D2F2V

source
flux_gks!(fw, wL, wR, inK, γ, μᵣ, ω, dt)
flux_gks!(fw, wL, wR, inK, γ, μᵣ, ω, dt, swL)
flux_gks!(fw, wL, wR, inK, γ, μᵣ, ω, dt, swL, swR)

Flux reconstruction

source
KitBase.flux_kfvs!Function
flux_kfvs!(KS, face, ctrL, ctrR, args)

Kinetic flux vector splitting (KFVS) flux

source
flux_kfvs!(ff, fL, fR, u, dt)
flux_kfvs!(ff, fL, fR, u, dt, sfL)
flux_kfvs!(ff, fL, fR, u, dt, sfL, sfR)

Kinetic flux vector splitting (KFVS) flux

1F1V for pure DOM

source
flux_kfvs!(fw, ff, fL, fR, u, ω, dt)
flux_kfvs!(fw, ff, fL, fR, u, ω, dt, sfL)
flux_kfvs!(fw, ff, fL, fR, u, ω, dt, sfL, sfR)

1F1V

source
flux_kfvs!(fw, ff, fL, fR, u, ω, dt)
flux_kfvs!(fw, ff, fL, fR, u, ω, dt, sfL)
flux_kfvs!(fw, ff, fL, fR, u, ω, dt, sfL, sfR)

Mixture

source
flux_kfvs!(fw, fh, fb, hL, bL, hR, bR, u, ω, dt)
flux_kfvs!(fw, fh, fb, hL, bL, hR, bR, u, ω, dt, shL)
flux_kfvs!(fw, fh, fb, hL, bL, hR, bR, u, ω, dt, shL, sbL)
flux_kfvs!(
    fw,
    fh,
    fb,
    hL,
    bL,
    hR,
    bR,
    u,
    ω,
    dt,
    shL,
    sbL,
    shR
)
flux_kfvs!(
    fw,
    fh,
    fb,
    hL,
    bL,
    hR,
    bR,
    u,
    ω,
    dt,
    shL,
    sbL,
    shR,
    sbR
)

2F1V

source
flux_kfvs!(fw, fh, fb, hL, bL, hR, bR, u, ω, dt)
flux_kfvs!(fw, fh, fb, hL, bL, hR, bR, u, ω, dt, shL)
flux_kfvs!(fw, fh, fb, hL, bL, hR, bR, u, ω, dt, shL, sbL)
flux_kfvs!(
    fw,
    fh,
    fb,
    hL,
    bL,
    hR,
    bR,
    u,
    ω,
    dt,
    shL,
    sbL,
    shR
)
flux_kfvs!(
    fw,
    fh,
    fb,
    hL,
    bL,
    hR,
    bR,
    u,
    ω,
    dt,
    shL,
    sbL,
    shR,
    sbR
)

Mixture

source
flux_kfvs!(fw, fh, fb, fr, hL, bL, rL, hR, bR, rR, u, ω, dt)
flux_kfvs!(
    fw,
    fh,
    fb,
    fr,
    hL,
    bL,
    rL,
    hR,
    bR,
    rR,
    u,
    ω,
    dt,
    shL
)
flux_kfvs!(
    fw,
    fh,
    fb,
    fr,
    hL,
    bL,
    rL,
    hR,
    bR,
    rR,
    u,
    ω,
    dt,
    shL,
    sbL
)
flux_kfvs!(
    fw,
    fh,
    fb,
    fr,
    hL,
    bL,
    rL,
    hR,
    bR,
    rR,
    u,
    ω,
    dt,
    shL,
    sbL,
    srL
)
flux_kfvs!(
    fw,
    fh,
    fb,
    fr,
    hL,
    bL,
    rL,
    hR,
    bR,
    rR,
    u,
    ω,
    dt,
    shL,
    sbL,
    srL,
    shR
)
flux_kfvs!(
    fw,
    fh,
    fb,
    fr,
    hL,
    bL,
    rL,
    hR,
    bR,
    rR,
    u,
    ω,
    dt,
    shL,
    sbL,
    srL,
    shR,
    sbR
)
flux_kfvs!(
    fw,
    fh,
    fb,
    fr,
    hL,
    bL,
    rL,
    hR,
    bR,
    rR,
    u,
    ω,
    dt,
    shL,
    sbL,
    srL,
    shR,
    sbR,
    srR
)

3F1V @ Rykov

source
flux_kfvs!(fw, ff, fL, fR, u, v, w, ω, dt)
flux_kfvs!(fw, ff, fL, fR, u, v, w, ω, dt, len)
flux_kfvs!(fw, ff, fL, fR, u, v, w, ω, dt, len, sfL)
flux_kfvs!(fw, ff, fL, fR, u, v, w, ω, dt, len, sfL, sfR)

1F3V

source
flux_kfvs!(
    fw,
    fh0,
    fh1,
    fh2,
    fh3,
    h0L,
    h1L,
    h2L,
    h3L,
    h0R,
    h1R,
    h2R,
    h3R,
    u,
    ω,
    dt
)
flux_kfvs!(
    fw,
    fh0,
    fh1,
    fh2,
    fh3,
    h0L,
    h1L,
    h2L,
    h3L,
    h0R,
    h1R,
    h2R,
    h3R,
    u,
    ω,
    dt,
    sh0L
)
flux_kfvs!(
    fw,
    fh0,
    fh1,
    fh2,
    fh3,
    h0L,
    h1L,
    h2L,
    h3L,
    h0R,
    h1R,
    h2R,
    h3R,
    u,
    ω,
    dt,
    sh0L,
    sh1L
)
flux_kfvs!(
    fw,
    fh0,
    fh1,
    fh2,
    fh3,
    h0L,
    h1L,
    h2L,
    h3L,
    h0R,
    h1R,
    h2R,
    h3R,
    u,
    ω,
    dt,
    sh0L,
    sh1L,
    sh2L
)
flux_kfvs!(
    fw,
    fh0,
    fh1,
    fh2,
    fh3,
    h0L,
    h1L,
    h2L,
    h3L,
    h0R,
    h1R,
    h2R,
    h3R,
    u,
    ω,
    dt,
    sh0L,
    sh1L,
    sh2L,
    sh3L
)
flux_kfvs!(
    fw,
    fh0,
    fh1,
    fh2,
    fh3,
    h0L,
    h1L,
    h2L,
    h3L,
    h0R,
    h1R,
    h2R,
    h3R,
    u,
    ω,
    dt,
    sh0L,
    sh1L,
    sh2L,
    sh3L,
    sh0R
)
flux_kfvs!(
    fw,
    fh0,
    fh1,
    fh2,
    fh3,
    h0L,
    h1L,
    h2L,
    h3L,
    h0R,
    h1R,
    h2R,
    h3R,
    u,
    ω,
    dt,
    sh0L,
    sh1L,
    sh2L,
    sh3L,
    sh0R,
    sh1R
)
flux_kfvs!(
    fw,
    fh0,
    fh1,
    fh2,
    fh3,
    h0L,
    h1L,
    h2L,
    h3L,
    h0R,
    h1R,
    h2R,
    h3R,
    u,
    ω,
    dt,
    sh0L,
    sh1L,
    sh2L,
    sh3L,
    sh0R,
    sh1R,
    sh2R
)
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
)

4F1V

source
flux_kfvs!(
    fw,
    fh0,
    fh1,
    fh2,
    fh3,
    h0L,
    h1L,
    h2L,
    h3L,
    h0R,
    h1R,
    h2R,
    h3R,
    u,
    ω,
    dt
)
flux_kfvs!(
    fw,
    fh0,
    fh1,
    fh2,
    fh3,
    h0L,
    h1L,
    h2L,
    h3L,
    h0R,
    h1R,
    h2R,
    h3R,
    u,
    ω,
    dt,
    sh0L
)
flux_kfvs!(
    fw,
    fh0,
    fh1,
    fh2,
    fh3,
    h0L,
    h1L,
    h2L,
    h3L,
    h0R,
    h1R,
    h2R,
    h3R,
    u,
    ω,
    dt,
    sh0L,
    sh1L
)
flux_kfvs!(
    fw,
    fh0,
    fh1,
    fh2,
    fh3,
    h0L,
    h1L,
    h2L,
    h3L,
    h0R,
    h1R,
    h2R,
    h3R,
    u,
    ω,
    dt,
    sh0L,
    sh1L,
    sh2L
)
flux_kfvs!(
    fw,
    fh0,
    fh1,
    fh2,
    fh3,
    h0L,
    h1L,
    h2L,
    h3L,
    h0R,
    h1R,
    h2R,
    h3R,
    u,
    ω,
    dt,
    sh0L,
    sh1L,
    sh2L,
    sh3L
)
flux_kfvs!(
    fw,
    fh0,
    fh1,
    fh2,
    fh3,
    h0L,
    h1L,
    h2L,
    h3L,
    h0R,
    h1R,
    h2R,
    h3R,
    u,
    ω,
    dt,
    sh0L,
    sh1L,
    sh2L,
    sh3L,
    sh0R
)
flux_kfvs!(
    fw,
    fh0,
    fh1,
    fh2,
    fh3,
    h0L,
    h1L,
    h2L,
    h3L,
    h0R,
    h1R,
    h2R,
    h3R,
    u,
    ω,
    dt,
    sh0L,
    sh1L,
    sh2L,
    sh3L,
    sh0R,
    sh1R
)
flux_kfvs!(
    fw,
    fh0,
    fh1,
    fh2,
    fh3,
    h0L,
    h1L,
    h2L,
    h3L,
    h0R,
    h1R,
    h2R,
    h3R,
    u,
    ω,
    dt,
    sh0L,
    sh1L,
    sh2L,
    sh3L,
    sh0R,
    sh1R,
    sh2R
)
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
)

Mixture

source
flux_kfvs!(fw, ff, fL, fR, u, v, ω, dt, len)
flux_kfvs!(fw, ff, fL, fR, u, v, ω, dt, len, sfL)
flux_kfvs!(fw, ff, fL, fR, u, v, ω, dt, len, sfL, sfR)

1F2V

source
flux_kfvs!(fw, fh, fb, hL, bL, hR, bR, u, v, ω, dt, len)
flux_kfvs!(
    fw,
    fh,
    fb,
    hL,
    bL,
    hR,
    bR,
    u,
    v,
    ω,
    dt,
    len,
    shL
)
flux_kfvs!(
    fw,
    fh,
    fb,
    hL,
    bL,
    hR,
    bR,
    u,
    v,
    ω,
    dt,
    len,
    shL,
    sbL
)
flux_kfvs!(
    fw,
    fh,
    fb,
    hL,
    bL,
    hR,
    bR,
    u,
    v,
    ω,
    dt,
    len,
    shL,
    sbL,
    shR
)
flux_kfvs!(
    fw,
    fh,
    fb,
    hL,
    bL,
    hR,
    bR,
    u,
    v,
    ω,
    dt,
    len,
    shL,
    sbL,
    shR,
    sbR
)

2F2V

source
flux_kfvs!(
    fw,
    fh0,
    fh1,
    fh2,
    h0L,
    h1L,
    h2L,
    h0R,
    h1R,
    h2R,
    u,
    v,
    ω,
    dt,
    len
)
flux_kfvs!(
    fw,
    fh0,
    fh1,
    fh2,
    h0L,
    h1L,
    h2L,
    h0R,
    h1R,
    h2R,
    u,
    v,
    ω,
    dt,
    len,
    sh0L
)
flux_kfvs!(
    fw,
    fh0,
    fh1,
    fh2,
    h0L,
    h1L,
    h2L,
    h0R,
    h1R,
    h2R,
    u,
    v,
    ω,
    dt,
    len,
    sh0L,
    sh1L
)
flux_kfvs!(
    fw,
    fh0,
    fh1,
    fh2,
    h0L,
    h1L,
    h2L,
    h0R,
    h1R,
    h2R,
    u,
    v,
    ω,
    dt,
    len,
    sh0L,
    sh1L,
    sh2L
)
flux_kfvs!(
    fw,
    fh0,
    fh1,
    fh2,
    h0L,
    h1L,
    h2L,
    h0R,
    h1R,
    h2R,
    u,
    v,
    ω,
    dt,
    len,
    sh0L,
    sh1L,
    sh2L,
    sh0R
)
flux_kfvs!(
    fw,
    fh0,
    fh1,
    fh2,
    h0L,
    h1L,
    h2L,
    h0R,
    h1R,
    h2R,
    u,
    v,
    ω,
    dt,
    len,
    sh0L,
    sh1L,
    sh2L,
    sh0R,
    sh1R
)
flux_kfvs!(
    fw,
    fh0,
    fh1,
    fh2,
    h0L,
    h1L,
    h2L,
    h0R,
    h1R,
    h2R,
    u,
    v,
    ω,
    dt,
    len,
    sh0L,
    sh1L,
    sh2L,
    sh0R,
    sh1R,
    sh2R
)

3F2V

source
flux_kfvs!(
    fw,
    fh0,
    fh1,
    fh2,
    h0L,
    h1L,
    h2L,
    h0R,
    h1R,
    h2R,
    u,
    v,
    ω,
    dt,
    len
)
flux_kfvs!(
    fw,
    fh0,
    fh1,
    fh2,
    h0L,
    h1L,
    h2L,
    h0R,
    h1R,
    h2R,
    u,
    v,
    ω,
    dt,
    len,
    sh0L
)
flux_kfvs!(
    fw,
    fh0,
    fh1,
    fh2,
    h0L,
    h1L,
    h2L,
    h0R,
    h1R,
    h2R,
    u,
    v,
    ω,
    dt,
    len,
    sh0L,
    sh1L
)
flux_kfvs!(
    fw,
    fh0,
    fh1,
    fh2,
    h0L,
    h1L,
    h2L,
    h0R,
    h1R,
    h2R,
    u,
    v,
    ω,
    dt,
    len,
    sh0L,
    sh1L,
    sh2L
)
flux_kfvs!(
    fw,
    fh0,
    fh1,
    fh2,
    h0L,
    h1L,
    h2L,
    h0R,
    h1R,
    h2R,
    u,
    v,
    ω,
    dt,
    len,
    sh0L,
    sh1L,
    sh2L,
    sh0R
)
flux_kfvs!(
    fw,
    fh0,
    fh1,
    fh2,
    h0L,
    h1L,
    h2L,
    h0R,
    h1R,
    h2R,
    u,
    v,
    ω,
    dt,
    len,
    sh0L,
    sh1L,
    sh2L,
    sh0R,
    sh1R
)
flux_kfvs!(
    fw,
    fh0,
    fh1,
    fh2,
    h0L,
    h1L,
    h2L,
    h0R,
    h1R,
    h2R,
    u,
    v,
    ω,
    dt,
    len,
    sh0L,
    sh1L,
    sh2L,
    sh0R,
    sh1R,
    sh2R
)

Mixture

source
KitBase.flux_kcu!Function
flux_kcu!(KS, face, ctrL, ctrR, args)

Kinetic central-upwind (KCU) flux

source
flux_kcu!(face, ctrL, ctrR, gas, vs, p)
flux_kcu!(face, ctrL, ctrR, gas, vs, p, dt)
source
flux_kcu!(face, ctrL, ctrR, gas, vs, p)
flux_kcu!(face, ctrL, ctrR, gas, vs, p, dt)
source
flux_kcu!(face, ctrL, ctrR, gas, vs, p)
flux_kcu!(face, ctrL, ctrR, gas, vs, p, dt)
source
flux_kcu!(face, ctrL, ctrR, gas, vs, p)
flux_kcu!(face, ctrL, ctrR, gas, vs, p, dt)
source
flux_kcu!(face, ctrL, ctrR, gas, vs, p)
flux_kcu!(face, ctrL, ctrR, gas, vs, p, dt)
source
flux_kcu!(
    fw,
    ff,
    wL,
    fL,
    wR,
    fR,
    u,
    ω,
    inK,
    γ,
    visRef,
    visIdx,
    Pr,
    dt
)

1D1F1V

source
flux_kcu!(
    fw,
    ff,
    wL,
    fL,
    wR,
    fR,
    u,
    ω,
    inK,
    γ,
    mi,
    ni,
    me,
    ne,
    Kn,
    dt
)

Mixture

source
flux_kcu!(
    fw,
    ff,
    wL,
    fL,
    wR,
    fR,
    uVelo,
    vVelo,
    wVelo,
    ω,
    inK,
    γ,
    visRef,
    visIdx,
    Pr,
    dt
)
flux_kcu!(
    fw,
    ff,
    wL,
    fL,
    wR,
    fR,
    uVelo,
    vVelo,
    wVelo,
    ω,
    inK,
    γ,
    visRef,
    visIdx,
    Pr,
    dt,
    len
)

1D1F3V

source
flux_kcu!(
    fw,
    fh,
    fb,
    wL,
    hL,
    bL,
    wR,
    hR,
    bR,
    u,
    ω,
    inK,
    γ,
    visRef,
    visIdx,
    Pr,
    dt
)

1D2F1V

source
flux_kcu!(
    fw,
    fh,
    fb,
    wL,
    hL,
    bL,
    wR,
    hR,
    bR,
    u,
    ω,
    inK,
    γ,
    mi,
    ni,
    me,
    ne,
    Kn,
    dt
)

Mixture

source
flux_kcu!(
    fw,
    fh0,
    fh1,
    fh2,
    fh3,
    wL,
    h0L,
    h1L,
    h2L,
    h3L,
    wR,
    h0R,
    h1R,
    h2R,
    h3R,
    u,
    ω,
    inK,
    γ,
    visRef,
    visIdx,
    Pr,
    dt
)

1D4F1V

source
flux_kcu!(
    fw,
    fh0,
    fh1,
    fh2,
    fh3,
    wL,
    h0L,
    h1L,
    h2L,
    h3L,
    wR,
    h0R,
    h1R,
    h2R,
    h3R,
    u,
    ω,
    inK,
    γ,
    mi,
    ni,
    me,
    ne,
    Kn,
    dt
)
flux_kcu!(
    fw,
    fh0,
    fh1,
    fh2,
    fh3,
    wL,
    h0L,
    h1L,
    h2L,
    h3L,
    wR,
    h0R,
    h1R,
    h2R,
    h3R,
    u,
    ω,
    inK,
    γ,
    mi,
    ni,
    me,
    ne,
    Kn,
    dt,
    isMHD
)

Mixture

source
flux_kcu!(
    fw,
    ff,
    wL,
    fL,
    wR,
    fR,
    u,
    v,
    ω,
    inK,
    γ,
    visRef,
    visIdx,
    Pr,
    dt,
    len
)

2D1F2V

source
flux_kcu!(
    fw,
    fh,
    fb,
    wL,
    hL,
    bL,
    wR,
    hR,
    bR,
    u,
    v,
    ω,
    inK,
    γ,
    visRef,
    visIdx,
    Pr,
    dt,
    len
)

2D2F2V

source
flux_kcu!(
    fw,
    fh0,
    fh1,
    fh2,
    wL,
    h0L,
    h1L,
    h2L,
    wR,
    h0R,
    h1R,
    h2R,
    u,
    v,
    ω,
    inK,
    γ,
    visRef,
    visIdx,
    Pr,
    dt,
    len
)

2D3F2V

source
flux_kcu!(
    fw,
    fh0,
    fh1,
    fh2,
    wL,
    h0L,
    h1L,
    h2L,
    wR,
    h0R,
    h1R,
    h2R,
    u,
    v,
    ω,
    inK,
    γ,
    mi,
    ni,
    me,
    ne,
    Kn,
    dt,
    len
)
flux_kcu!(
    fw,
    fh0,
    fh1,
    fh2,
    wL,
    h0L,
    h1L,
    h2L,
    wR,
    h0R,
    h1R,
    h2R,
    u,
    v,
    ω,
    inK,
    γ,
    mi,
    ni,
    me,
    ne,
    Kn,
    dt,
    len,
    isMHD
)

Mixture

source
KitBase.flux_ugks!Function
flux_ugks!(
    fw,
    fh,
    fb,
    wL,
    hL,
    bL,
    wR,
    hR,
    bR,
    u,
    ω,
    inK,
    γ,
    visRef,
    visIdx,
    pr,
    dt,
    dxL,
    dxR
)
flux_ugks!(
    fw,
    fh,
    fb,
    wL,
    hL,
    bL,
    wR,
    hR,
    bR,
    u,
    ω,
    inK,
    γ,
    visRef,
    visIdx,
    pr,
    dt,
    dxL,
    dxR,
    shL
)
flux_ugks!(
    fw,
    fh,
    fb,
    wL,
    hL,
    bL,
    wR,
    hR,
    bR,
    u,
    ω,
    inK,
    γ,
    visRef,
    visIdx,
    pr,
    dt,
    dxL,
    dxR,
    shL,
    sbL
)
flux_ugks!(
    fw,
    fh,
    fb,
    wL,
    hL,
    bL,
    wR,
    hR,
    bR,
    u,
    ω,
    inK,
    γ,
    visRef,
    visIdx,
    pr,
    dt,
    dxL,
    dxR,
    shL,
    sbL,
    shR
)
flux_ugks!(
    fw,
    fh,
    fb,
    wL,
    hL,
    bL,
    wR,
    hR,
    bR,
    u,
    ω,
    inK,
    γ,
    visRef,
    visIdx,
    pr,
    dt,
    dxL,
    dxR,
    shL,
    sbL,
    shR,
    sbR
)

Unified gas kinetic scheme (UGKS)

1D2F1V

source
flux_ugks!(
    fw,
    fh,
    fb,
    wL,
    hL,
    bL,
    wR,
    hR,
    bR,
    u,
    v,
    ω,
    inK,
    γ,
    visRef,
    visIdx,
    pr,
    dt,
    dxL,
    dxR,
    len
)
flux_ugks!(
    fw,
    fh,
    fb,
    wL,
    hL,
    bL,
    wR,
    hR,
    bR,
    u,
    v,
    ω,
    inK,
    γ,
    visRef,
    visIdx,
    pr,
    dt,
    dxL,
    dxR,
    len,
    shL
)
flux_ugks!(
    fw,
    fh,
    fb,
    wL,
    hL,
    bL,
    wR,
    hR,
    bR,
    u,
    v,
    ω,
    inK,
    γ,
    visRef,
    visIdx,
    pr,
    dt,
    dxL,
    dxR,
    len,
    shL,
    sbL
)
flux_ugks!(
    fw,
    fh,
    fb,
    wL,
    hL,
    bL,
    wR,
    hR,
    bR,
    u,
    v,
    ω,
    inK,
    γ,
    visRef,
    visIdx,
    pr,
    dt,
    dxL,
    dxR,
    len,
    shL,
    sbL,
    shR
)
flux_ugks!(
    fw,
    fh,
    fb,
    wL,
    hL,
    bL,
    wR,
    hR,
    bR,
    u,
    v,
    ω,
    inK,
    γ,
    visRef,
    visIdx,
    pr,
    dt,
    dxL,
    dxR,
    len,
    shL,
    sbL,
    shR,
    sbR
)

2D2F2V

source
flux_ugks!(
    fw,
    fh0,
    fh1,
    fh2,
    wL,
    h0L,
    h1L,
    h2L,
    wR,
    h0R,
    h1R,
    h2R,
    u,
    v,
    ω,
    inK,
    γ,
    mi,
    ni,
    me,
    ne,
    Kn,
    dt,
    dxL,
    dxR,
    len
)
flux_ugks!(
    fw,
    fh0,
    fh1,
    fh2,
    wL,
    h0L,
    h1L,
    h2L,
    wR,
    h0R,
    h1R,
    h2R,
    u,
    v,
    ω,
    inK,
    γ,
    mi,
    ni,
    me,
    ne,
    Kn,
    dt,
    dxL,
    dxR,
    len,
    sh0L
)
flux_ugks!(
    fw,
    fh0,
    fh1,
    fh2,
    wL,
    h0L,
    h1L,
    h2L,
    wR,
    h0R,
    h1R,
    h2R,
    u,
    v,
    ω,
    inK,
    γ,
    mi,
    ni,
    me,
    ne,
    Kn,
    dt,
    dxL,
    dxR,
    len,
    sh0L,
    sh1L
)
flux_ugks!(
    fw,
    fh0,
    fh1,
    fh2,
    wL,
    h0L,
    h1L,
    h2L,
    wR,
    h0R,
    h1R,
    h2R,
    u,
    v,
    ω,
    inK,
    γ,
    mi,
    ni,
    me,
    ne,
    Kn,
    dt,
    dxL,
    dxR,
    len,
    sh0L,
    sh1L,
    sh2L
)
flux_ugks!(
    fw,
    fh0,
    fh1,
    fh2,
    wL,
    h0L,
    h1L,
    h2L,
    wR,
    h0R,
    h1R,
    h2R,
    u,
    v,
    ω,
    inK,
    γ,
    mi,
    ni,
    me,
    ne,
    Kn,
    dt,
    dxL,
    dxR,
    len,
    sh0L,
    sh1L,
    sh2L,
    sh0R
)
flux_ugks!(
    fw,
    fh0,
    fh1,
    fh2,
    wL,
    h0L,
    h1L,
    h2L,
    wR,
    h0R,
    h1R,
    h2R,
    u,
    v,
    ω,
    inK,
    γ,
    mi,
    ni,
    me,
    ne,
    Kn,
    dt,
    dxL,
    dxR,
    len,
    sh0L,
    sh1L,
    sh2L,
    sh0R,
    sh1R
)
flux_ugks!(
    fw,
    fh0,
    fh1,
    fh2,
    wL,
    h0L,
    h1L,
    h2L,
    wR,
    h0R,
    h1R,
    h2R,
    u,
    v,
    ω,
    inK,
    γ,
    mi,
    ni,
    me,
    ne,
    Kn,
    dt,
    dxL,
    dxR,
    len,
    sh0L,
    sh1L,
    sh2L,
    sh0R,
    sh1R,
    sh2R
)

3F2V with AAP model

source
KitBase.flux_boundary_maxwell!Function
flux_boundary_maxwell!(fw, bc, w, inK, γ, dt, rot)

Maxwell's diffusive boundary flux

1D continuum

Arguments

  • fw: fluxes for conservative variables
  • bc: boundary condition for primitive variables
  • w: conservative variables
  • inK: internal degrees of freedom
  • dt: time step
  • rot: rotation indicator (1/-1)
source
flux_boundary_maxwell!(
    fw,
    a1,
    a2,
    a3,
    a4,
    a5,
    a6,
    a7,
    a8,
    a9,
    rot
)

1D2F1V & 1F3V

source
flux_boundary_maxwell!(
    fw,
    fh,
    fb,
    bc,
    h,
    b,
    u,
    ω,
    inK,
    dt,
    rot
)

1D2F1V mixture

source
flux_boundary_maxwell!(fw, bc, w, inK, γ, dt, len, rot)

2D Continuum

source
flux_boundary_maxwell!(fw, fh, bc, h, u, v, ω, dt, len, rot)

2D1F2V

source
flux_boundary_maxwell!(
    fw,
    fh,
    fb,
    bc,
    h,
    b,
    u,
    v,
    ω,
    inK,
    dt,
    len,
    rot
)

2D2F2V

source
KitBase.flux_em!Function
flux_em!(
    femL,
    femR,
    ELL,
    BLL,
    EL,
    BL,
    ER,
    BR,
    ERR,
    BRR,
    ϕL,
    ϕR,
    ψL,
    ψR,
    dxL,
    dxR,
    Ap,
    An,
    D,
    sol,
    χ,
    ν,
    dt
)

Wave propagation method for Maxwell's equations

Arguments

  • E, B, ϕ, ψ: variables in hyperbolic Maxwell's equations
  • Ap, An: eigenmatrix (A -> A+ & A-), eigenvalue (D)
  • dxL, dxR: full size of left & right cells
  • sol: speed of light
  • χₑ, νᵦ: auxiliary parameters
source
KitBase.flux_emx!Function
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
)

Wave propagation method for 2D Maxwell's equations in x direction

source
KitBase.flux_emy!Function
flux_emy!(
    femL,
    femR,
    femRU,
    femRD,
    femLU,
    femLD,
    ELL,
    BLL,
    EL,
    BL,
    ER,
    BR,
    ERR,
    BRR,
    ϕL,
    ϕR,
    ψL,
    ψR,
    dxL,
    dxR,
    A1p,
    A1n,
    A2p,
    A2n,
    D,
    sol,
    χ,
    ν,
    dt
)

Wave propagation method for 2D Maxwell's equations in y direction

source