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 tox
axisa2face
: array of cell interface perpendicular toy
axisdt
: 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.