Update
The update solver calculate the variables at n+1 step based on numerical fluxes and in-cell collisions.
KitBase.update! — Functionupdate!(KS, ctr, face, dt, residual; coll, bc, fn, st)
Update algorithm
Arguments
KS: SolverSetctr: array of cell-centered solutionface: array of cell interfacedt: time stepresidual: residualcoll: collision operatorbc: boundary conditionfn: update functionst: step function
update!(
KS,
ctr,
face,
dt,
residual;
coll,
bc,
isMHD,
fn,
st
)
update!(
KS,
ctr,
a1face,
a2face,
dt,
residual;
coll,
bc,
fn,
st
)
Update algorithm
Arguments
KS: SolverSetctr: array of cell-centered solutiona1face: array of cell interface perpendicular toxaxisa2face: array of cell interface perpendicular toyaxisdt: time stepresidual: residualcoll: collision operatorbc: boundary conditionfn: update functionst: step function
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.