Function computing a numerical convective Engquist-Osher flux matrix. More...
Go to the source code of this file.
Functions | |
function
num_flux = | fv_num_conv_flux_engquist_osher (model, model_data, U, NU_ind) |
Function computing a numerical convective Engquist-Osher flux matrix. More... | |
Function computing a numerical convective Engquist-Osher flux matrix.
Definition in file fv_num_conv_flux_engquist_osher.m.
function num_flux = fv_num_conv_flux_engquist_osher | ( | model, | |
model_data, | |||
U, | |||
NU_ind | |||
) |
Function computing a numerical convective Engquist-Osher flux matrix.
\[g_{jl}(u,v) = |e_{jl}| \cdot (c^+_{jl}(u) + c^-_{jl}(v))\]
with\[c^+_{jl}(u) = c_{jl}(0) + \int_0^u \max(c_{jl}'(s),0) ds\]
\[c^-_{jl}(u) = \int_0^u \min(c_{jl}'(s),0) ds\]
\[c_{jl}(u) = f(u) \cdot n_{jl}\]
if we assume, that
\[c^+_{jl}(u) = \left\{\begin{array}{rl} f(u)\cdot n_{jl} & \mbox{if }f'(u)\cdot n_{jl} > 0 \\ 0 & \mbox{otherwise} \end{array}\right.\]
\[c^-_{jl}(v) = \left\{\begin{array}{rl} f(v)\cdot n_{jl} & \mbox{if }f'(v)\cdot n_{jl} < 0 \\ 0 & \mbox{otherwise}. \end{array}\right.\]
Dirichlet-boundary treatment is performed, but Neumann-values are set to nan
. They must be performed by the calling function.
\[|g_{ij}(w,v) - g_{ij}(w',v')| \leq Lg |S_{ij}| ( |w'-w| + |v'-v| ).\]
G: the matrix of numerical flux values across the edges.Additionally, a velocity function must be available in order to compute the derivative of the convection term.
model | model |
model_data | model data |
U | U |
NU_ind | NU ind |
num_flux | num flux |
grid —
a structure containing geometry information of a mesh used for discretizationsflux_quad_degree —
flux quad degree flux_linear —
flux linear divclean_mode —
divclean mode dirichlet_values_ptr —
dirichlet values ptr conv_flux_ptr —
conv flux ptr conv_flux_derivative_ptr —
conv flux derivative ptrG —
G Lg —
Lg Definition at line 17 of file fv_num_conv_flux_engquist_osher.m.