rbmatlab  1.16.09
 All Classes Namespaces Files Functions Variables Modules Pages
Functions
fv_operators_conv_explicit_engquist_osher.m File Reference

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...
 

Detailed Description

computes convection contribution to finite volume time evolution matrices, or their Frechet derivative

Definition in file fv_operators_conv_explicit_engquist_osher.m.

Function Documentation

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\).

1 (L_E_conv)il = 1/|Ti| *
2  (sum j (NB(i) cup NB_dir(i): v_ij*n_ij>=0 )
3  |S_ij| (v(c_ij)*n_ij)) for l=i
4  1/|Ti| * |S_il| ( - v(c_il)*n_il)
5  for l NB(i) and v_il * n_il < 0
6  0 else

\[ (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

See also
fv_num_conv_flux_engquist_osher()
Parameters
modelmodel
model_datamodel data
UU
NU_indNU ind
Return values
L_E_convsparse matrix \(L_{\text{eo}}\)
bdir_E_convoffset vector \(b_{\text{eo}}\)
Required fields of model:
  • decomp_mode —  flag indicating the operation mode of the function:
    • 0 (complete) : no affine parameter dependence or decomposition is performed.
    • 1 (components) : for each output argument a cell array of output matrices is returned representing the \(q\)-th component independent of the parameters given in mu_names.
    • 2 (coefficients) : returns a vector where each coordinate represents the \(q\)-the coefficient \(\sigma_{\cdot}^{q}(\mu)\) dependent on the parameters given in 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 ptr
Required fields of model_data:
  • grid —  a structure containing geometry information of a mesh used for discretizations

Definition at line 17 of file fv_operators_conv_explicit_engquist_osher.m.

Here is the call graph for this function:

Here is the caller graph for this function: