Update

The update solver calculate the variables at n+1 step based on numerical fluxes and in-cell collisions.

KitBase.update!Function
update!(KS, ctr, face, dt, residual; coll, bc, fn, st)

Update algorithm

Arguments

  • KS: SolverSet
  • ctr: array of cell-centered solution
  • face: array of cell interface
  • dt: time step
  • residual: residual
  • coll: collision operator
  • bc: boundary condition
  • fn: update function
  • st: step function
source
update!(
    KS,
    ctr,
    face,
    dt,
    residual;
    coll,
    bc,
    isMHD,
    fn,
    st
)
source
update!(
    KS,
    ctr,
    a1face,
    a2face,
    dt,
    residual;
    coll,
    bc,
    fn,
    st
)

Update algorithm

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
  • residual: residual
  • coll: collision operator
  • bc: boundary condition
  • fn: update function
  • st: step function
source

The current solver supports different collision models, for example:

  • :bgk: BGK relaxation model
  • :shakhov: Shakhov relaxation model
  • :boltzmann: Boltzmann: original Boltzmann collision integral

The boundary conditions vary.

  • :fix: fixed Dirichlet boundary
  • :period: periodic boundary
  • :extra: extrapolation
  • :maxwell: Maxwell's diffusive boundary

The current solver adopts implicit-explicit (IMEX) uniformly. Further Multi-step time integrators can be used in conjunction with method of lines in DifferentialEquations.jl.