This class solves: \(\boldsymbol{v} + \nabla\cdot \bar{\bar{F}} =
\boldsymbol{S}\) in weak form for auxiliary variable \(\boldsymbol{v}\) by parts in same manner as with DG.
More...
This class solves: \(\boldsymbol{v} + \nabla\cdot \bar{\bar{F}} =
\boldsymbol{S}\) in weak form for auxiliary variable \(\boldsymbol{v}\) by parts in same manner as with DG.
Useful for solving terms of Ohm's Law for electric field, which is a state equation, as opposed to a time advancing pde.
For warpy class see warpy.variable_adjusters.auxiliary_variables.auxiliary_variables.divergence_integral_by_parts
Explicitly, it calculates:
\begin{align*}
v_{ij}^{\lambda} = {J_{lm}^{\lambda}}^{-1} \Upsilon_{jlk} F_{imk}^{\lambda}
- \sum_{\gamma \in \bar{\Gamma}_{\lambda}} G_{\lambda\gamma}^{-1}
\Xi_{jk}^{\lambda\gamma} F_{ik}^{\lambda\gamma}
+ S_{ij}
\end{align*}
For the internal flux part \({J_{lm}^{\lambda}}^{-1} \Upsilon_{jlk}
F_{imk}^{\lambda}\):
- \({J_{lm}^{\lambda}}^{-1} = \frac{\partial \xi_{l}}{\partial x_{m}}\) is the inverse jacobian for the element.
- \(\Upsilon_{jlk}\) is the internal flux matrix constructed as \(\Upsilon_{jlk} =
M_{jp}^{-1}A_{klp}\).
- \(M_{jp}\) is mass matrix \(\int\limits_{\lambda} \psi_{j}
\psi_{p}d\boldsymbol{\xi}\).
- \(A_{klp}\) is the advection matrix \(\int\limits_{\lambda} \psi_{k}
\frac{\partial}{\partial\xi_{l}} \psi_{p} d\boldsymbol{\xi}\).
- \(F_{imk}^{\lambda}\) is the analytical flux.
For the numerical flux part \(\sum_{\gamma \in \bar{\Gamma}_{\lambda}}
G_{\lambda\gamma}^{-1}\Xi_{jk}^{\lambda\gamma} F_{ik}^{\lambda\gamma}\):
- \(G_{\lambda\gamma}^{-1} = \left|\left|{J_{ji}^{\lambda}}^{-1}
m_{j}^{\lambda\gamma}\right|\right|\) where \(m\) is the normal of the isoparametric element for the face of element \(\lambda\) facing element \(\gamma\).
- \(\Xi_{jk}^{\lambda\gamma}\) is the numerical flux matrix constructed as \(\Xi_{jk}^{\lambda\gamma} = M_{jl}^{-1}\Gamma_{lk}^{\lambda\gamma}\).
- \(\Gamma_{lk}^{\lambda\gamma}\) is the area mass matrix \(\int\limits_{\partial\lambda^{\gamma}} \psi_{l} \psi_{k} d\boldsymbol{\xi}\) integrated along the simplex face between elements \(\lambda\) and \(\gamma\).
- \(F_{ik}^{\lambda\gamma}\) is the numerical flux on the the simplex face between elements \(\lambda\) and \(\gamma\).
For the source part \(S_{ij}\):
- \(S_{ij}\) is calulated and accumulated into \(v_{ij}\) for LGL node source calculation.
- For GQ node source calculation, we need \(^{3}\Upsilon_{jk} S_{ik}\) where
- \(^{3}\Upsilon_{jk} = M_{jl}^{-1}\Theta_{lk}\) where
- \(\Theta_{lk}\) is the source mass matrix \(w_{l}\psi_{k}(\boldsymbol{\xi}_{l})\) where
- \(w_{l}\) is the gaussian quadrature basis function weight for its node located at \(\boldsymbol{\xi}_{l}\) and
- \(\psi_{k}\) is the LGL basis function used for the DG scheme.
Note that in general:
- \(\lambda\) = "inside" element
- \(\gamma\) = "outside" element
- i = auxiliary variable component
- j = local node
- k = cross local node
- l = isoparametric space dimension index
- m = real space dimension index