computes convection contribution to finite volume time evolution matrices, or their Frechet derivative More...
Go to the source code of this file.
Functions | |
function [
L_E_conv , bdir_E_conv ] = | fv_operators_conv_explicit_engquist_osher (model, model_data, U, NU_ind) |
computes convection contribution to finite volume time evolution matrices, or their Frechet derivative More... | |
computes convection contribution to finite volume time evolution matrices, or their Frechet derivative
Definition in file fv_operators_conv_explicit_engquist_osher.m.
function [ L_E_conv , bdir_E_conv ] = fv_operators_conv_explicit_engquist_osher | ( | model, | |
model_data, | |||
U, | |||
NU_ind | |||
) |
computes convection contribution to finite volume time evolution matrices, or their Frechet derivative
This function computes a convection operator \(L_{\text{eo}}\) and a corresponding offset vector \(b_{\text{eo}}\) that can be used by fv_operators_implicit_explicit() to build evolution matrices for a finite volume time step \(L_I U^{k+1} = L_E U^k + b_E + b_I\).
\[ (L_{E,conv})_{il} = \begin{cases} \frac{1}{|T_i|} \sum_{ j \in \{ NB(i) \cup NB_{dir}(i): v_{ij} \cdot n_{ij}>=0 \} } |S_{ij}| (v(c_{ij}) \cdot n_{ij}) & \text{for } l=i \\ - \frac{1}{|T_i|} |S_{il}| v(c_{il}) \cdot n_{il} & \text{for } l \in NB(i) \text{ and }v_{il} \cdot n_{il} < 0 \\ 0 & \text{else} \end{cases} \]
The analytical term inspiring this operator looks like \( v \cdot \nabla u \) or in the non-linear case, where the Frechet derivative is computed \( \nabla \cdot f(u). \) Here, \(v\) is a space dependent velocity field and \(f\) some smooth function in \(C^2(\mathbb{R}, \mathbb{R}^d)\).
The result are a sparse matrix L_E_conv
and an offset vector bdir_E_conv
, the latter containing dirichlet value contributions
model | model |
model_data | model data |
U | U |
NU_ind | NU ind |
L_E_conv | sparse matrix \(L_{\text{eo}}\) |
bdir_E_conv | offset vector \(b_{\text{eo}}\) |
decomp_mode —
flag indicating the operation mode of the function:mu_names
.mu_names
. verbose —
flag indicating the verbosity level of informative output flux_linear —
flux linear conv_flux_derivative_ptr —
conv flux derivative ptr debug —
flag indicating wether debug output shall be turned on dirichlet_values_ptr —
dirichlet values ptrgrid —
a structure containing geometry information of a mesh used for discretizations Definition at line 17 of file fv_operators_conv_explicit_engquist_osher.m.