体积与边精确积分DGM方法
阅读原文时间:2023年07月10日阅读:2

Triangular DGM

decomposing the domain \(\Omega\) into \(N_e\) conforming

non-overlapping triangular elements \(\Omega_e\).

\[\begin{equation}
\Omega = \bigcup_{e = 1}^{N_e} \Omega_e
\end{equation}\]

nonsingular mapping \(x = \Psi(\mathbf{\xi})\) which defines a transformation from the physical Cartesian coordinate system to the local reference coordinate system defined on the reference triangle.

local elementwise solution \(\mathbf{q}\) by an N th order polynomial in \(\mathbf{\xi}\) as

\[\begin{equation}
\mathbf{q}_N (\mathbf{\xi}) = \sum_{i = 1}^{M_N} \psi_i (\mathbf{\xi}) \mathbf{q}_N (\mathbf{\xi}_i)
\end{equation}\]

where \(\mathbf{\xi}_i\) represents \(M = \frac{1}{2} ( N + 1)( N + 2)\) interpolation points and \(\psi_i (\mathbf{\xi})\) are the associatedmultivariate Lagrange polynomials.

an explicit formula for the Lagrange basis —— reference to an easily constructed orthonormal PKD polynomial basis and the generalized Vandermonde matrix.

通过正交多项式和Vandermonde构造参考单元上Lagrange基函数。

2.1. Area integrals

\(\int_{\Omega_e} f(x) g(x) dx = \sum_{i = 1}^{M_C} \omega_i^e \left| J^e(\mathbf{\xi}_i) \right| f(\mathbf{\xi}_i) g(\mathbf{\xi}_i)\)

where \(M_C\) is a function of \(C\) which represents the order of the cubature approximation.

2.2. Boundary integrals

\(\int_{\Gamma_e} f(x) g(x) dx = \sum_{i = 0}^{Q} \omega_i^s \left| J^s(\mathbf{\xi}_i) \right| f(\mathbf{\xi}_i) g(\mathbf{\xi}_i)\)

where \(Q\) represents the order of the quadrature approximation. Using the Gauss quadrature, we

can use \(Q = N\) to achieve order \(2N\) accuracy.

5.1. Elimination of the mass matrix

将方程左乘质量矩阵的逆并除以雅克比系数,可得

\[\begin{equation}
\frac{\partial \mathbf{q}^e_i}{\partial t} + \left( \hat{D}_{ij}^{\xi} \xi_x^e + \hat{D}_{ij}^{\eta} \eta_x^e \right) \mathbf{f}_j^e + \left( \hat{D}_{ij}^{\xi} \xi_y^e + \hat{D}_{ij}^{\eta} \eta_y^e \right) \mathbf{g}_j^e - S_i^e = \frac{\left| J^s \right|}{\left| J^e \right|} \hat{M}_{ij}^s \left[ n_x^s \left( \mathbf{f}^e - \mathbf{f}^* \right)_j + n_y^s \left( \mathbf{g}^e - \mathbf{g}^* \right)_j \right]
\end{equation}\]

where the matrices are defined as

\[\begin{equation}
\begin{array}{lll}
\hat{D}_{ij}^{\xi} = M_{ik}^{-1} D_{kj}^{\xi}, & \hat{D}_{ij}^{\eta} = M_{ik}^{-1} D_{kj}^{\eta}, &
\hat{M}_{ij}^{s} = M_{ik}^{-1} M_{kj}^{\xi},
\end{array}
\end{equation}\]

where

\[\begin{equation}
\begin{array}{ll}
M_{ij} = \sum_{k = 1}^{M_C} \omega_k \psi_{ik} \phi_{jk}, & M_{ij}^s = \sum_{k = 1}^{M_Q} \omega_k \psi_{ik} \phi_{jk} \cr
D_{ij}^{\xi} = \sum_{k = 1}^{M_C} \omega_k \psi_{ik} \frac{\partial \phi_{jk}}{\partial \xi}, & D_{ij}^{\eta} = \sum_{k = 1}^{M_C} \omega_k \psi_{ik} \frac{\partial \phi_{jk}}{\partial \eta}
\end{array}
\end{equation}\]

\(M_C\) and \(M_Q\) denote the number of cubature (two dimensional) and quadrature (one dimensional) integration points required to achieve order 2N accuracy, and \(\psi_{ik}\) represents the function \(\psi\) at the \(i=1, \cdots,M_N\) interpolation points evaluated at the integration point k.

Since the mass matrix is constant (i.e. not a function of x) then, using Equations above, we can move the mass matrix inside the summations which are the discrete representations of the continuous integrals. This then gives

\[\begin{equation}
\begin{array}{ll}
\hat{M}_{ij}^{s} = \sum_{k = 1}^{M_Q} \omega_k \hat{\psi}_{ik} \psi_{jk}, & \hat{D}_{ij}^{\xi} = \sum_{k = 1}^{M_C} \omega_k \hat{\psi}_{ik} \frac{\partial \psi_{jk}}{\partial \xi}, & \hat{D}_{ij}^{\eta} = \sum_{k = 1}^{M_C} \omega_k \hat{\psi}_{ik} \frac{\partial \psi_{jk}}{\partial \eta}
\end{array}
\end{equation}\]

where

\[\begin{equation}
\hat{\psi}_i = M_{ik}^{-1} \psi_k
\end{equation}\]


根据

\(D_{ij}^{\xi} = \sum_{k = 1}^{M_C} \omega_k \psi_{ik} \frac{\partial \psi_{jk}}{\partial \xi}\)

我们可以将 \(D_{ij}^{\xi}\) 写为如下矩阵相乘形式

\[\begin{equation}
D_{ij}^{\xi} = \begin{bmatrix}
\omega_1 \psi_{11}, \omega_2 \psi_{12}, \cdots, \omega_{M_C} \psi_{1{M_C}}
\end{bmatrix}
\begin{bmatrix}
\frac{\partial \psi_{11}}{\partial \xi} \cr \frac{\partial \psi_{12}}{\partial \xi} \cr
\cdots \cr
\frac{\partial \psi_{1{M_C}}}{\partial \xi}
\end{bmatrix}
\end{equation}\]

因此

\[D^{\xi} = \begin{bmatrix}
\omega_1 \psi_{11}, \omega_2 \psi_{12}, \cdots, \omega_{M_C} \psi_{1{M_C}} \cr
\omega_1 \psi_{21}, \omega_2 \psi_{22}, \cdots, \omega_{M_C} \psi_{2{M_C}} \cr
\cdots \cr
\omega_1 \psi_{{M_C}1}, \omega_2 \psi_{{M_C}2}, \cdots, \omega_{M_C} \psi_{{M_C}{M_C}} \cr
\end{bmatrix}
\begin{bmatrix}
\frac{\partial \psi_{11}}{\partial \xi}, & \frac{\partial \psi_{21}}{\partial \xi}, & \cdots & \frac{\partial \psi_{{M_C}1}}{\partial \xi} \cr \frac{\partial \psi_{12}}{\partial \xi}, & \frac{\partial \psi_{22}}{\partial \xi}, & \cdots & \frac{\partial \psi_{{M_C}2}}{\partial \xi} \cr
\cdots \cr
\frac{\partial \psi_{1{M_C}}}{\partial \xi}, & \frac{\partial \psi_{2{M_C}}}{\partial \xi}, & \cdots & \frac{\partial \psi_{{M_C}{M_C}}}{\partial \xi}
\end{bmatrix}\]

因此

\[\hat{D}^{\xi} = M^{-1} \begin{bmatrix}
\omega_1 \psi_{11}, \omega_2 \psi_{12}, \cdots, \omega_{M_C} \psi_{1{M_C}} \cr
\omega_1 \psi_{21}, \omega_2 \psi_{22}, \cdots, \omega_{M_C} \psi_{2{M_C}} \cr
\cdots \cr
\omega_1 \psi_{{M_C}1}, \omega_2 \psi_{{M_C}2}, \cdots, \omega_{M_C} \psi_{{M_C}{M_C}} \cr
\end{bmatrix}
\begin{bmatrix}
\frac{\partial \psi_{11}}{\partial \xi}, & \frac{\partial \psi_{21}}{\partial \xi}, & \cdots & \frac{\partial \psi_{{M_C}1}}{\partial \xi} \cr \frac{\partial \psi_{12}}{\partial \xi}, & \frac{\partial \psi_{22}}{\partial \xi}, & \cdots & \frac{\partial \psi_{{M_C}2}}{\partial \xi} \cr
\cdots \cr
\frac{\partial \psi_{1{M_C}}}{\partial \xi}, & \frac{\partial \psi_{2{M_C}}}{\partial \xi}, & \cdots & \frac{\partial \psi_{{M_C}{M_C}}}{\partial \xi}
\end{bmatrix}\]


Reference:

[1]: GIRALDO F X, WARBURTON T. A high-order triangular discontinuous Galerkin oceanic shallow water model[J]. International Journal for Numerical Methods in Fluids, 2008, 56: 899–925.