% Copyright (c) 2014,2016,2018 Casper Ti. Vector % Public domain. \chapter{数值实验} % commands used in this section \providecommand{\Tnu}{\texttt{nu}} \providecommand{\Tumin}{\texttt{umin}} \providecommand{\Tumax}{\texttt{umax}} \providecommand{\MshKnd}[1]{\texttt{#1}} \providecommand{\MKlvl}[2]{\MshKnd{#1}$_{#2}$} \providecommand{\NSCHM}{DS} \providecommand{\VILS}{LSW} \providecommand{\CPU}{\texttt{CPU}} \providecommand{\Niter}{\texttt{iter}} \providecommand{\NVI}{eLSW} 本章介绍一系列数值实验, 目的是测试菱形格式搭配不同顶点插值算法的精度和效率. 我们这里用eLSW(b)和eLSW(d)表示采用广度优先搜索(breadth-first search, BFS)和深度优先搜索(depth-first search, DFS)策略的扩展最小二乘插值算法eLSW. 默认情况下选择eLSW(d), 并且在没有歧义的情况下我们省略标记(d). 在某些测试中, 我们还测试了最小二乘插值LSW\parencite{Coudiere1999}、三维线性精确显权LPEW3\parencite{Ricardo2021}以及经典的多点流格式MPFA-O作为对比. 数值解和法向流的误差通过以下方式评估: \begin{align} E_{u} & = \left ( \frac{\sum _{K\in \mathcal{M}}(u(\bm{x}_{K})-u_{K})^{2}|K|} {\sum _{K\in \mathcal{M}}(u(\bm{x}_{K}))^{2}|K|} \right )^{1/2} , \\ E_{q} & = \left ( \frac{\sum _{\sigma \in \mathcal{S}}(q(\bm{x}_{\sigma})-q_{\sigma})^{2}Q_{\sigma}} {\sum _{\sigma \in \mathcal{S}}{(q(\bm{x}_{\sigma}))^{2}}Q_{\sigma}} \right )^{1/2} , \end{align} 其中$Q_{\sigma }$是网格面$\sigma$两侧的单元体积之和, 并且$q=-\Lambda \nabla u \cdot \bm{n}$表示网格面上单位面积的法向流. 此外, $q(\bm{x}_{\sigma })$和$q_{\sigma }$分别表示精确的法向流和数值解的法向流. 我们引入以下附加符号: \begin{itemize} \item \texttt{nu}, 表示单元中心未知量个数; \item \texttt{umin}, 表示数值解的最小值; \item \texttt{umax}, 表示数值解的最大值; \item \texttt{CPU}, 表示CPU时间, 单位为秒. \end{itemize} 我们按如下方式计算收敛阶 \begin{equation} R_{\alpha}(i) = -3 \frac{\log (E_{u}(i)/E_{u}(i-1))} {\log (\texttt{nu}(i)/\texttt{nu}(i-1))} ,\quad i\geq 2 ,\quad \alpha =u,q, \end{equation} 其中$i$是网格层的编号. 这里需要说明, CPU时间的测量不包含网格数据的计算. 当\texttt{nu}较小的时候, 总计算量也较小, 计算很快就完成, 此时计时器显示的CPU时间可能不够精确. 主要测试的网格如图\ref{fig:meshes}所示, 其中网格\texttt{B}和网格\texttt{H}的网格数据取自\parencite{FVCA6}, 而Kershaw网格\texttt{D}和随机扰动网格\texttt{R}则是通过特定策略从均匀正交网格移动每个节点生成的. 三维Kershaw网格的坐标变换策略在\parencite{Morel2001}的第5节中有详细描述. 在每个细网格层上, 我们将Kershaw网格\texttt{D}的扰动因子设为$0.2$. 我们通过以下变换将单位立方体$[0,1]^{3}$中的网格步长为$h$的均匀网格映射为随机扰动网格: \begin{equation} x:=x+\epsilon\xi_{x}h ,\quad y:=y+\epsilon\xi_{y}h ,\quad z:=z+\epsilon\xi_{z}h , \end{equation} 其中$\xi_{x}$, $\xi_{y}$与$\xi_{z}$是区间$[0,1)$上服从均匀分布的随机数, $\epsilon\in[0,0.5]$表示扰动幅度, 也称之为扰动因子. 注意到在$x=0$和$x=1$的边界面上$\xi_{x}$应当设置为0, 同样的设置也应用于$y$和$z$方向. 随机扰动网格的内表面可能不是平面. 网格的下标表示相应的网格层级. \texttt{R}($\epsilon$)表示扰动因子为$\epsilon$的随机扰动网格. 所有测试算例均有解析的扩散张量和解析解. 源项和边界数据可据此计算得出. 所有测试仅考虑Dirichlet边界条件. 我们通过BICGSTAB求解线性系统, 容差为1.0E-15. \begin{figure}[!htbp] \centering \def\mpgw{0.40\textwidth} \begin{minipage}[b]{\mpgw} \centering \includegraphics[width=\textwidth]{../img/mesh_B2.eps} \\ (a) 网格\MKlvl{B}{2} \end{minipage} ~ \begin{minipage}[b]{\mpgw} \centering \includegraphics[width=\textwidth]{../img/mesh_D1_0_8.eps} \\ (b) 网格\MKlvl{D}{1} \end{minipage} \\ ~ \begin{minipage}[b]{\mpgw} \centering \includegraphics[width=\textwidth]{../img/mesh_H3.eps} \\ (c) 网格\MKlvl{H}{3} \end{minipage} ~ \begin{minipage}[b]{\mpgw} \centering \includegraphics[width=\textwidth]{../img/mesh_R2_0_02.eps} \\ (d) 网格\MKlvl{R}{2}(0.2) \end{minipage} \caption{多面体网格示意图.} \label{fig:meshes} \end{figure} \section{线性精确验证} \label{sec:testlpchk} 我们将文献\parencite{FVCA5}中的算例6扩展为三维算例, 这个问题的三维扩展情形也在文献\parencite{Ricardo2021}中进行了测试. 计算区域$\Omega=[0,1]^{3}$, 被分为三个子区域: \begin{align*} & \Omega _{1}=\left \{(x, y, z) \in \Omega \mid \phi _{1}(x, y, z)<0 \right \}, \\ & \Omega _{2}=\left \{(x, y, z) \in \Omega \mid \phi _{1}(x, y, z)>0, \quad \phi _{2}(x, y, z)<0\right \}, \\ & \Omega _{3}=\left \{(x, y, z) \in \Omega \mid \phi _{2}(x, y, z)>0\right \}, \end{align*} 其中$\phi _{1}(x,y,z) = y-\delta (x-0.5)-0.475$, 并且$\phi _{2}(x,y,z) = \phi _{1}(x,y,z)-0.05$. 这里我们取$\delta=0.2$. 解析解和扩散系数为 \begin{equation*} u(x,y,z) = -x - \delta y \end{equation*} 以及 \begin{equation*} \Lambda = \begin{pmatrix} \cos(\theta) & -\sin(\theta) & 0 \\ \sin(\theta) & \cos(\theta) & 0 \\ 0 & 0 & 1 \end{pmatrix} \begin{pmatrix} \alpha & 0 & 0 \\ 0 & \beta & 0 \\ 0 & 0 & 1 \end{pmatrix} \begin{pmatrix} \cos(\theta) & \sin(\theta) & 0 \\ -\sin(\theta) & \cos(\theta) & 0 \\ 0 & 0 & 1 \end{pmatrix}, \end{equation*} 其中$\theta=\arctan(\delta)$, 这里$\alpha$和$\beta$取为 \begin{equation*} \begin{pmatrix} \alpha \\ \beta \end{pmatrix} = \begin{pmatrix} 100 \\ 10 \end{pmatrix} \text{ 在 } \Omega_{2} ,\quad \begin{pmatrix} \alpha \\ \beta \end{pmatrix} = \begin{pmatrix} 1 \\ 0.1 \end{pmatrix} \text{ 在 } \Omega_{1} \cup \Omega_{3}. \end{equation*} 图\ref{fig:meshlpchk}展示了本次测试所用的网格. \begin{figure}[!htpb] \centering \includegraphics[width=0.45\textwidth]{../img/mesh_TD1.eps} \caption{与平面$\phi_{1}=0$和$\phi_{2} = 0$排列一致的四面体网格.} \label{fig:meshlpchk} \end{figure} 测试结果见表\ref{tab:rstlpchk}, 从中我们可以发现, 对于此次测试, 我们的算法获得了机器精度的精确解. \begin{table}[!htpb] \newcommand{\itpt}[1]{\multicolumn{3}{c}{#1}} \newcommand{\itnvi}[1]{\itpt{eLSW(#1)}} \centering \caption{算例\ref{sec:testlpchk}的数值结果.}\label{tab:rstlpchk} \begin{tabular}{ccccccc} \toprule & \itnvi{d} & \itnvi{b} \\ \cline{2-4}\cline{5-7} \texttt{nu} & \texttt{umin} & \texttt{umax} & $E_{u}$ & \texttt{umin} & \texttt{umax} & $E_{u}$ \\ \midrule 2449 & -1.147 & -5.297E-02 & 1.529E-15 & -1.147 & -5.297E-02 & 1.763E-15 \\ 60070 & -1.174 & -2.575E-02 & 2.057E-14 & -1.174 & -2.575E-02 & 2.548E-14 \\ \bottomrule \end{tabular} \end{table} \section{弱各向异性} \label{sec:testmild} 接下来, 我们考虑一个弱各向异性问题, 该问题在\parencite{FVCA6}中给出. 扩散张量为 \begin{equation*} \Lambda= \begin{pmatrix} 1 & 0.5 & 0 \\ 0.5 & 1 & 0.5 \\ 0 & 0.5 & 1 \end{pmatrix} , \end{equation*} 解析解为 \begin{equation*} u(x, y, z) =1+\sin (\pi x) \sin \left(\pi\left(y+\frac{1}{2}\right)\right) \sin \left(\pi\left(z+\frac{1}{3}\right)\right). \end{equation*} 网格\texttt{B}, \texttt{D}, \texttt{H}以及\texttt{R}(0.2)的测试结果在表\ref{tab:mildmeshB}-表\ref{tab:mildmeshR2}中给出. 随机扰动网格\texttt{R}(0.3)与\texttt{R}(0.4)的测试结果在图\ref{fig:mildrandomresults}中用双对数坐标给出. 正如\ref{ch2:sec:vtxintrp}节的论述, 这个算例的扩散系数是常数, 扩展的最小二乘插值算法退化为经典的最小二乘插值算法, 从数值结果也可以看出, eLSW(d)与eLSW(b)以及LSW给出相同的数值解. 那么对于eLSW(b)和LSW, 我们仅给出CPU时间. 从这些结果中, 我们可以发现菱形格式在网格\texttt{B}, \texttt{H}以及\texttt{R}达到最优的精度. 对于Kershaw网格, 随着网格细化, 收敛率在增加, 在Kershaw网格的第6级时接近最优收敛阶. 对于Kershaw网格, 从第2级开始, 线性迭代解法器无法求解搭配LPEW3的菱形格式产生的线性系统, 我们在表格中用$\ast $代替, 那么搭配LPEW3的菱形格式在Kershaw网格剩余层级的测试被取消. 我们发现搭配LPEW3的菱形格式在随机扰动网格\texttt{R}(0.3)和\texttt{R}(0.4)表现不佳. 经典的多点流格式MPFA-O在这个算例中获得最佳的结果. 此外, eLSW(d), eLSW(b)与LSW具有相当的计算效率, 额外增加的搜索所占的时间相对于整体计算的占比不到百分之二, 这可以从本次测试的CPU时间中看出. % tet { \begin{table}[!htpb] \newcommand{\MRc}[1]{\multirow{5}{*}{#1}} \newcommand{\TDnvi}[1]{\MRc{eLSW(#1)}} \newcommand{\TDew}{\MRc{LPEW3}} \newcommand{\TDmpfa}{\MRc{MPFA-O}} \centering \caption{算例\ref{sec:testmild}: 四面体网格\texttt{B}上使用eLSW(b), eLSW(d), LSW, LPEW3的菱形格式以及MPFA-O计算结果.}\label{tab:mildmeshB} \centering\zihao{-5} \begin{tabular}{cccccccccc} \toprule \texttt{nu} & & 44 & 215 & 2003 & 3898 & 7711 & 15266 & 30480 & 61052 \\ \midrule \multirow{5}{*}{eLSW(d)} & $E_{u}$ & 2.59E-01 & 1.08E-01 & 2.63E-02 & 1.66E-02 & 1.07E-02 & 6.86E-03 & 4.25E-03 & 2.70E-03 \\ & $R_{u}$ & -- & 1.66 & 1.90 & 2.09 & 1.91 & 1.97 & 2.08 & 1.97 \\ & $E_{q}$ & 8.80E-01 & 4.39E-01 & 1.05E-01 & 7.55E-02 & 5.28E-02 & 3.95E-02 & 2.90E-02 & 2.17E-02 \\ & $R_{q}$ & -- & 1.31 & 1.92 & 1.50 & 1.57 & 1.28 & 1.33 & 1.25 \\ & \texttt{CPU} & 0.01 & 0.01 & 0.18 & 0.59 & 1.73 & 5.37 & 15.83 & 44.14 \\ \hline eLSW(b) & \texttt{CPU} & 0.01 & 0.01 & 0.19 & 0.58 & 1.74 & 5.37 & 15.95 & 44.24 \\ \hline LSW & \texttt{CPU} & 0.00 & 0.01 & 0.18 & 0.57 & 1.71 & 5.35 & 15.80 & 43.88 \\ \hline \multirow{5}{*}{LPEW3} & $E_{u}$ & 2.59E-01 & 1.10E-01 & 2.72E-02 & 1.72E-02 & 1.11E-02 & 7.15E-03 & 4.43E-03 & 2.82E-03 \\ & $R_{u}$ & -- & 1.62 & 1.88 & 2.07 & 1.90 & 1.95 & 2.08 & 1.95 \\ & $E_{q}$ & 8.80E-01 & 4.32E-01 & 1.03E-01 & 7.36E-02 & 5.20E-02 & 3.92E-02 & 2.89E-02 & 2.16E-02 \\ & $R_{q}$ & -- & 1.35 & 1.93 & 1.50 & 1.52 & 1.25 & 1.33 & 1.25 \\ & \texttt{CPU} & 0.09 & 0.13 & 0.27 & 0.74 & 2.08 & 6.02 & 16.96 & 46.81 \\ \hline \multirow{5}{*}{MPFA-O} & $E_{u}$ & 6.27E-02 & 2.74E-02 & 5.68E-03 & 3.96E-03 & 2.38E-03 & 1.60E-03 & 9.68E-04 & 6.11E-04 \\ & $R_{u}$ & -- & 1.56 & 2.12 & 1.63 & 2.24 & 1.75 & 2.17 & 1.99 \\ & $E_{q}$ & 2.80E-01 & 1.56E-01 & 6.09E-02 & 4.86E-02 & 3.72E-02 & 2.96E-02 & 2.34E-02 & 1.84E-02 \\ & $R_{q}$ & -- & 1.11 & 1.26 & 1.01 & 1.17 & 1.01 & 1.02 & 1.03 \\ & \texttt{CPU} & 0.02 & 0.04 & 0.25 & 0.68 & 1.91 & 5.25 & 14.66 & 39.30 \\ \bottomrule \end{tabular} \end{table} } % Kershaw \begin{table}[!htpb] \newcommand{\MRc}[1]{\multirow{5}{*}{#1}} \newcommand{\TDnvi}[1]{\MRc{eLSW(#1)}} \newcommand{\TDew}{\MRc{LPEW3}} \newcommand{\TDmpfa}{\MRc{MPFA-O}} \centering \caption{算例\ref{sec:testmild}: Kershaw网格\texttt{D}上使用eLSW(b), eLSW(d), LSW, LPEW3的菱形格式以及MPFA-O计算结果.}\label{tab:mildmeshD} \begin{tabular}{cccccccc} \toprule \texttt{nu} & & 512 & 4096 & 32768 & 262144 & 2097152 & 16777216 \\ \midrule \multirow{5}{*}{eLSW(d)} & $E_{u}$ & 6.03E-02 & 3.08E-02 & 1.88E-02 & 8.68E-03 & 2.99E-03 & 8.45E-04 \\ & $R_{u}$ & -- & 0.97 & 0.71 & 1.11 & 1.54 & 1.82 \\ & $E_{q}$ & 6.54E-01 & 2.74E-01 & 1.31E-01 & 5.57E-02 & 1.92E-02 & 5.73E-03 \\ & $R_{q}$ & -- & 1.26 & 1.06 & 1.24 & 1.54 & 1.75 \\ & \texttt{CPU} & 0.03 & 0.23 & 3.05 & 35.20 & 335.11 & 3267.10 \\ \hline eLSW(b) & \texttt{CPU} & 0.03 & 0.22 & 3.08 & 34.85 & 335.30 & 3209.61 \\ \hline LSW & \texttt{CPU} & 0.02 & 0.20 & 2.83 & 33.24 & 321.15 & 3111.81 \\ \hline \multirow{5}{*}{LPEW3} & $E_{u}$ & 1.89E-01 & $\ast $ & & & & \\ & $R_{u}$ & -- & $\ast $ & & & & \\ & $E_{q}$ & 5.07E+00 & $\ast $ & & & & \\ & $R_{q}$ & -- & $\ast $ & & & & \\ & \texttt{CPU} & 0.056 & $\ast $ & & & & \\ \hline \multirow{5}{*}{MPFA-O} & $E_{u}$ & 6.24E-02 & 2.53E-02 & 7.49E-03 & 1.91E-03 & 4.78E-04 & 1.19E-04 \\ & $R_{u}$ & -- & 1.30 & 1.76 & 1.97 & 2.00 & 2.00 \\ & $E_{q}$ & 3.16E-01 & 1.47E-01 & 4.99E-02 & 1.34E-02 & 3.43E-03 & 8.65E-04 \\ & $R_{q}$ & -- & 1.10 & 1.56 & 1.89 & 1.97 & 1.99 \\ & \texttt{CPU} & 0.04 & 0.34 & 4.12 & 43.83 & 395.21 & 3877.67 \\ \bottomrule \end{tabular} \end{table} % Locally refined \begin{table}[!htpb] \newcommand{\MRc}[1]{\multirow{5}{*}{#1}} \newcommand{\TDnvi}[1]{\MRc{eLSW(#1)}} \newcommand{\TDew}{\MRc{LPEW3}} \newcommand{\TDmpfa}{\MRc{MPFA-O}} \centering \caption{算例\ref{sec:testmild}: 非匹配网格\texttt{H}上使用eLSW(b), eLSW(d)以及LSW的菱形格式计算结果.}\label{tab:mildmeshH} \begin{tabular}{ccccccc} \toprule \texttt{nu} & & 22 & 176 & 1408 & 11264 & 90112 \\ \midrule \multirow{5}{*}{eLSW(d)} & $E_{u}$ & 2.03E-01 & 7.14E-02 & 1.99E-02 & 5.16E-03 & 1.30E-03 \\ & $R_{u}$ & -- & 1.51 & 1.84 & 1.95 & 1.99 \\ & $E_{q}$ & 6.62E-01 & 2.09E-01 & 6.15E-02 & 1.82E-02 & 5.65E-03 \\ & $R_{q}$ & -- & 1.66 & 1.76 & 1.76 & 1.69 \\ & \texttt{CPU} & 0.02 & 0.02 & 0.08 & 1.25 & 36.89 \\ \hline eLSW(b) & \texttt{CPU} & 0.02 & 0.02 & 0.08 & 1.52 & 36.91 \\ \hline LSW & \texttt{CPU} & 0.00 & 0.00 & 0.06 & 1.16 & 36.21 \\ \bottomrule \end{tabular} \end{table} % random 0.2 \begin{table}[!htpb] \newcommand{\MRc}[1]{\multirow{5}{*}{#1}} \newcommand{\TDnvi}[1]{\MRc{eLSW(#1)}} \newcommand{\TDew}{\MRc{LPEW3}} \newcommand{\TDmpfa}{\MRc{MPFA-O}} \centering \caption{算例\ref{sec:testmild}: 随机扰动网格\texttt{R}(0.2)上的计算结果.}\label{tab:mildmeshR2} \begin{tabular}{ccccccc} \toprule \texttt{nu} & & 64 & 512 & 4096 & 32768 & 262144 \\ \midrule \multirow{5}{*}{eLSW(d)} & $E_{u}$ & 8.96E-02 & 2.57E-02 & 6.64E-03 & 1.67E-03 & 4.18E-04 \\ & $R_{u}$ & -- & 1.80 & 1.95 & 1.99 & 2.00 \\ & $E_{q}$ & 2.83E-01 & 7.87E-02 & 2.33E-02 & 7.99E-03 & 3.18E-03 \\ & $R_{q}$ & -- & 1.85 & 1.76 & 1.55 & 1.33 \\ & \texttt{CPU} & 0.00 & 0.02 & 0.20 & 3.45 & 37.64 \\ \hline eLSW(b) & \texttt{CPU} & 0.00 & 0.02 & 0.22 & 3.19 & 37.40 \\ \hline LSW & \texttt{CPU} & 0.02 & 0.02 & 0.19 & 2.83 & 35.34 \\ \hline \multirow{5}{*}{LPEW3} & $E_{u}$ & 9.20E-02 & 2.63E-02 & 6.79E-03 & 1.71E-03 & 4.28E-04 \\ & $R_{u}$ & -- & 1.81 & 1.95 & 1.99 & 2.00 \\ & $E_{q}$ & 2.70E-01 & 7.44E-02 & 2.23E-02 & 7.82E-03 & 3.14E-03 \\ & $R_{q}$ & -- & 1.86 & 1.74 & 1.51 & 1.31 \\ & \texttt{CPU} & 0.01 & 0.05 & 0.49 & 5.46 & 56.46 \\ \hline \multirow{5}{*}{MPFA-O} & $E_{u}$ & 3.53E-02 & 8.99E-03 & 2.22E-03 & 5.63E-04 & 1.41E-04 \\ & $R_{u}$ & -- & 1.97 & 2.02 & 1.98 & 2.00 \\ & $E_{q}$ & 7.52E-02 & 2.74E-02 & 1.12E-02 & 5.19E-03 & 2.54E-03 \\ & $R_{q}$ & -- & 1.45 & 1.30 & 1.11 & 1.03 \\ & \texttt{CPU} & 0.01 & 0.05 & 0.36 & 3.57 & 38.50 \\ \bottomrule \end{tabular} \end{table} \begin{figure}[!htpb] \centering \includegraphics[width=0.75\textwidth]{../img/ds3delsmildrandom.eps} \caption{算例\ref{sec:testmild}: 随机扰动网格\texttt{R}(0.3)与\texttt{R}(0.4)的计算结果.} \label{fig:mildrandomresults} \end{figure} \section{间断系数问题} \label{sec:discnttest} 我们将展示菱形格式在具有不连续扩散张量的问题上的表现. 此测试源自\parencite{Gao2011}, 并且也已被\parencite{Xie2021}测试过. 扩散系数和解析解的选择如下: \begin{equation*} \Lambda= \begin{cases}\left(\begin{array}{lll} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{array}\right), & x \leq 0.5, \\ \left(\begin{array}{lll} 10 & 3 & 0 \\ 3 & 1 & 0 \\ 0 & 0 & 1 \end{array}\right), & x>0.5,\end{cases} \end{equation*} 以及 \begin{equation*} u(x, y, z)= \begin{cases} -2 y^{2}+4 x y+6 x+2 y+z+1, & x \leq 0.5, \\ -2 y^{2}+1.6 x y-0.6 x+3.2 y+z+4.3, & x>0.5. \end{cases} \end{equation*} 注意到间断面处的网格顶点必须与平面$x=0.5$排列一致, 因此我们对于随机扰动网格取$\xi_x=0$当$x=0.5$, 并且我们对于Kershaw网格交换$x$和$y$坐标使得间断面与网格面重合. 在表\ref{tab:discntmildmeshD}-表\ref{tab:discntmildmeshR2}中, 我们展示网格\texttt{D}, \texttt{H}以及\texttt{R}(0.2)的结果. 图\ref{fig:discntmildrandommesh}展示扰动因子为$0.3$和$0.4$的随机扰动网格的测试结果. 这个算例在Kershaw网格上的计算是具有挑战性的, 随着网格加密, 使用eLSW(b)和eLSW(d)插值算法的菱形格式收敛率为$1.8$. 搭配LPEW3的菱形格式在Kershaw网格的第2级网格上计算失败. 对于Kershaw网格和随机扰动网格\texttt{R}(0.2), 经典的多点流格式MPFA-O表现最佳. 在随机扰动网格\texttt{R}(0.3)和\texttt{R}(0.4)上, 搭配LPEW3的菱形格式和MPFA-O格式都表现较差. 搭配经典最小二乘插值算法LSW的菱形格式在这个算例上达不到最优收敛阶, 因为这个算例的扩散系数有间断, 解析解的梯度有间断, 而LSW算法是在解析解光滑的情形下推导出来的, 当解析解不光滑, LSW就算法达不到预期的精度. 在这个算例的所有网格中, eLSW(b)和eLSW(d)的表现均优于LSW. eLSW(b)与eLSW(d)有几乎最优的收敛率, 而且相比于LSW有几乎相同的CPU时间. 我们还注意到, 在这个算例中, eLSW(b)与eLSW(d)在所有网格上计算结果相同, 这也验证了定理\ref{ch2:thm:pfdogdsafhqosx}. % Kershaw \begin{table}[!htpb] \newcommand{\MRd}[1]{\multirow{5}{*}{#1}} \newcommand{\TDnvi}[1]{\MRd{eLSW(#1)}} \newcommand{\TDVILS}{\MRd{LSW}} \newcommand{\TDew}{\MRd{LPEW3}} \newcommand{\TDmpfa}{\MRd{MPFA-O}} \centering \caption{算例\ref{sec:discnttest}: Kershaw网格\texttt{D}上的计算结果.}\label{tab:discntmildmeshD} \begin{tabular}{cccccccc} \toprule \texttt{nu} & & 512 & 4096 & 32768 & 262144 & 2097152 & 16777216 \\ \midrule \multirow{5}{*}{eLSW(d)} & $E_{u}$ & 1.16E-02 & 3.88E-03 & 1.87E-03 & 8.10E-04 & 2.69E-04 & 7.64E-05 \\ & $R_{u}$ & -- & 1.58 & 1.05 & 1.21 & 1.59 & 1.82 \\ & $E_{q}$ & 3.49E-01 & 1.54E-01 & 6.74E-02 & 2.64E-02 & 8.74E-03 & 2.66E-03 \\ & $R_{q}$ & -- & 1.18 & 1.19 & 1.35 & 1.59 & 1.72 \\ & \texttt{CPU} & 0.02 & 0.22 & 3.14 & 37.93 & 420.65 & 15010.85 \\ \hline \multirow{5}{*}{eLSW(b)} & $E_{u}$ & 1.16E-02 & 3.88E-03 & 1.87E-03 & 8.10E-04 & 2.69E-04 & 7.64E-05 \\ & $R_{u}$ & -- & 1.58 & 1.05 & 1.21 & 1.59 & 1.82 \\ & $E_{q}$ & 3.49E-01 & 1.54E-01 & 6.74E-02 & 2.64E-02 & 8.74E-03 & 2.66E-03 \\ & $R_{q}$ & -- & 1.18 & 1.19 & 1.35 & 1.59 & 1.72 \\ & \texttt{CPU} & 0.02 & 0.22 & 3.17 & 38.02 & 430.91 & 15398.36 \\ \hline \multirow{5}{*}{LSW}& $E_{u}$ & 1.59E-02 & 8.24E-03 & 4.77E-03 & 2.50E-03 & 1.22E-03 & 5.90E-04 \\ & $R_{u}$ & -- & 0.95 & 0.79 & 0.93 & 1.04 & 1.05 \\ & $E_{q}$ & 5.72E-01 & 3.22E-01 & 2.14E-01 & 1.45E-01 & 9.96E-02 & 6.96E-02 \\ & $R_{q}$ & -- & 0.83 & 0.59 & 0.56 & 0.54 & 0.52 \\ & \texttt{CPU} & 0.03 & 0.20 & 2.92 & 36.01 & 406.09 & 12571.71 \\ \hline \multirow{5}{*}{LPEW3}& $E_{u}$ & 3.87E-02 & $\ast $ & & & & \\ & $R_{u}$ & 0.00 & $\ast $ & & & & \\ & $E_{q}$ & 3.72E+00 & $\ast $ & & & & \\ & $R_{q}$ & 0.00 & $\ast $ & & & & \\ & \texttt{CPU} & 0.06 & $\ast $ & & & & \\ \hline \multirow{5}{*}{MPFA-O}& $E_{u}$ & 7.40E-03 & 2.23E-03 & 5.70E-04 & 1.42E-04 & 3.56E-05 & 8.90E-06 \\ & $R_{u}$ & -- & 1.73 & 1.97 & 2.00 & 2.00 & 2.00 \\ & $E_{q}$ & 6.66E-02 & 2.24E-02 & 6.37E-03 & 1.73E-03 & 4.63E-04 & 1.23E-04 \\ & $R_{q}$ & -- & 1.57 & 1.82 & 1.88 & 1.90 & 1.92 \\ & \texttt{CPU} & 0.04 & 0.33 & 4.02 & 44.41 & 458.71 & 5035.69 \\ \bottomrule \end{tabular} \end{table} % Locally refined \begin{table}[!htpb] \newcommand{\MRd}[1]{\multirow{5}{*}{#1}} \newcommand{\TDnvi}[1]{\MRd{eLSW(#1)}} \newcommand{\TDVILS}{\MRd{LSW}} \newcommand{\TDew}{\MRd{LPEW3}} \newcommand{\TDmpfa}{\MRd{MPFA-O}} \centering \caption{算例\ref{sec:discnttest}: 非匹配网格\texttt{H}上的计算结果.}\label{tab:discntmildmeshH} \begin{tabular}{ccccccc} \toprule \texttt{nu} & & 22 & 176 & 1408 & 11264 & 90112 \\ \midrule \multirow{5}{*}{eLSW(d)} & $E_{u}$ & 3.98E-02 & 9.46E-03 & 2.34E-03 & 5.87E-04 & 1.47E-04 \\ & $R_{u}$ & -- & 2.07 & 2.01 & 2.00 & 2.00 \\ & $E_{q}$ & 6.32E-02 & 2.81E-02 & 1.09E-02 & 4.25E-03 & 1.62E-03 \\ & $R_{q}$ & -- & 1.17 & 1.37 & 1.35 & 1.39 \\ & \texttt{CPU} & 0.00 & 0.00 & 0.06 & 1.50 & 42.79 \\ \hline \multirow{5}{*}{eLSW(b)} & $E_{u}$ & 3.98E-02 & 9.46E-03 & 2.34E-03 & 5.87E-04 & 1.47E-04 \\ & $R_{u}$ & -- & 2.07 & 2.01 & 2.00 & 2.00 \\ & $E_{q}$ & 6.32E-02 & 2.81E-02 & 1.09E-02 & 4.25E-03 & 1.62E-03 \\ & $R_{q}$ & -- & 1.17 & 1.37 & 1.35 & 1.39 \\ & \texttt{CPU} & 0.00 & 0.02 & 0.08 & 1.31 & 42.94 \\ \hline \multirow{5}{*}{LSW}& $E_{u}$ & 3.99E-02 & 1.18E-02 & 4.48E-03 & 1.67E-03 & 6.55E-04 \\ & $R_{u}$ & -- & 1.75 & 1.40 & 1.42 & 1.35 \\ & $E_{q}$ & 3.29E-01 & 2.79E-01 & 2.07E-01 & 1.50E-01 & 1.07E-01 \\ & $R_{q}$ & -- & 0.24 & 0.43 & 0.47 & 0.48 \\ & \texttt{CPU} & 0.00 & 0.00 & 0.06 & 1.53 & 41.79 \\ \bottomrule \end{tabular} \end{table} % random 0.2 \begin{table}[!htpb] \newcommand{\MRd}[1]{\multirow{5}{*}{#1}} \newcommand{\TDnvi}[1]{\MRd{eLSW(#1)}} \newcommand{\TDVILS}{\MRd{LSW}} \newcommand{\TDew}{\MRd{LPEW3}} \newcommand{\TDmpfa}{\MRd{MPFA-O}} \centering \caption{算例\ref{sec:discnttest}: 随机扰动网格\texttt{R}(0.2)上的计算结果.}\label{tab:discntmildmeshR2} \begin{tabular}{ccccccc} \toprule \texttt{nu} & & 64 & 512 & 4096 & 32768 & 262144 \\ \midrule \multirow{5}{*}{eLSW(d)} & $E_{u}$ & 1.18E-02 & 2.94E-03 & 7.49E-04 & 1.86E-04 & 4.62E-05 \\ & $R_{u}$ & -- & 2.00 & 1.97 & 2.01 & 2.01 \\ & $E_{q}$ & 2.92E-02 & 1.19E-02 & 4.84E-03 & 1.85E-03 & 7.51E-04 \\ & $R_{q}$ & -- & 1.30 & 1.29 & 1.38 & 1.30 \\ & \texttt{CPU} & 0.00 & 0.02 & 0.22 & 3.09 & 40.05 \\ \hline \multirow{5}{*}{eLSW(b)} & $E_{u}$ & 1.18E-02 & 2.94E-03 & 7.49E-04 & 1.86E-04 & 4.62E-05 \\ & $R_{u}$ & -- & 2.00 & 1.97 & 2.01 & 2.01 \\ & $E_{q}$ & 2.92E-02 & 1.19E-02 & 4.84E-03 & 1.85E-03 & 7.51E-04 \\ & $R_{q}$ & -- & 1.30 & 1.29 & 1.38 & 1.30 \\ & \texttt{CPU} & 0.00 & 0.46 & 0.20 & 3.12 & 40.20 \\ \hline \multirow{5}{*}{LSW}& $E_{u}$ & 1.61E-02 & 6.38E-03 & 2.86E-03 & 1.04E-03 & 4.01E-04 \\ & $R_{u}$ & -- & 1.33 & 1.16 & 1.46 & 1.37 \\ & $E_{q}$ & 2.95E-01 & 2.39E-01 & 1.79E-01 & 1.25E-01 & 9.36E-02 \\ & $R_{q}$ & -- & 0.31 & 0.41 & 0.51 & 0.42 \\ & \texttt{CPU} & 0.02 & 0.02 & 0.17 & 2.89 & 38.32 \\ \hline \multirow{5}{*}{LPEW3}& $E_{u}$ & 1.18E-02 & 2.95E-03 & 7.50E-04 & 1.86E-04 & 4.62E-05 \\ & $R_{u}$ & -- & 2.00 & 1.98 & 2.01 & 2.01 \\ & $E_{q}$ & 3.59E-02 & 1.43E-02 & 5.81E-03 & 2.24E-03 & 8.92E-04 \\ & $R_{q}$ & -- & 1.33 & 1.30 & 1.38 & 1.33 \\ & \texttt{CPU} & 0.01 & 0.05 & 0.51 & 5.61 & 60.99 \\ \hline \multirow{5}{*}{MPFA-O}& $E_{u}$ & 2.07E-03 & 5.36E-04 & 1.46E-04 & 3.81E-05 & 9.68E-06 \\ & $R_{u}$ & -- & 1.95 & 1.88 & 1.93 & 1.98 \\ & $E_{q}$ & 1.87E-02 & 7.60E-03 & 2.74E-03 & 9.82E-04 & 3.90E-04 \\ & $R_{q}$ & -- & 1.30 & 1.47 & 1.48 & 1.33 \\ & \texttt{CPU} & 0.01 & 0.04 & 0.33 & 4.08 & 50.32 \\ \bottomrule \end{tabular} \end{table} \begin{figure}[!htpb] \centering \includegraphics[width=0.65\textwidth]{../img/ds3delsdiscntmildrandom.eps} \caption{算例\ref{sec:discnttest}: 随机扰动网格上使用eLSW(b), eLSW(d)和LSW的菱形格式计算结果.} \label{fig:discntmildrandommesh} \end{figure} \section{强各向异性且有交叉间断面问题} \label{sec:crosstest} 我们考虑具有交叉间断面的强各向异性扩散问题. 该问题改编自\parencite{Edwards2011}, 并在\parencite{Xie2021}中进行了研究. 计算区域$\Omega=[0,1]^{3}$, 被分裂为四个子区域: \begin{align*} \Omega _{1} & = \{(x,y,z)\in \Omega ,\quad x\leq 0.5, z\leq 0.5\} , \\ \Omega _{2} & = \{(x,y,z)\in \Omega ,\quad x> 0.5, z\leq 0.5\} , \\ \Omega _{3} & = \{(x,y,z)\in \Omega ,\quad x> 0.5, z>0.5\} , \\ \Omega _{4} & = \{(x,y,z)\in \Omega ,\quad x\leq 0.5, z>0.5\} . \end{align*} 四个子区域的扩散系数和解析解为 \begin{equation*} \Lambda = \left (\begin{array}{ccc} 2464.36 \alpha _{i} & 0 & 1148.68\beta _{i} \\ 0 & 536.64 & 0 \\ 1148.68 \beta _{i} & 0 & 536.64\alpha _{i} \end{array} \right ) % ,\quad % \text{in } \Omega_{i} \end{equation*} 以及 \begin{equation*} u(x,y,z) = \sin (2\pi x) \sin (2\pi y) \sin (2\pi z)/\alpha _{i} % ,\quad % \text{in } \Omega_{i} \end{equation*} 其中$\alpha_{i}$和$\beta_{i}$由下表给出 \begin{center} \begin{tabular}{|c|c|c|c|c|} \hline $i$ & 1 & 2 & 3 & 4 \\ \hline $\alpha_{i}$ & 10 & 1 & 10 & 1 \\ \hline $\beta_{i}$ & 1 & -1 & 1 & -1 \\ \hline \end{tabular} \end{center} 对于这个算例使用的随机扰动网格, 我们取$\xi_{x}(x=0.5)=0$以及$\xi_{z}(z=0.5)=0$. 网格\texttt{H}和网格\texttt{R}(0.2)的测试结果见\ref{tab:crossmeshH}和表\ref{tab:crossmeshR2}. 在其他随机扰动网格上的表现如图\ref{fig:crossrandommesh}所示. 从这些结果中, 我们可以观察到eLSW(d)的性能与eLSW(b)相似, 并且都优于LSW. 扩展最小二乘插值算法eLSW在此测试中都获得了二阶精度的数值解. 搭配LPEW3的菱形格式和MPFA-O格式在这个算例表现较差. % Locally refined \begin{table}[!htpb] \newcommand{\MRd}[1]{\multirow{5}{*}{#1}} \newcommand{\TDnvi}[1]{\MRd{eLSW(#1)}} \newcommand{\TDVILS}{\MRd{LSW}} \newcommand{\TDew}{\MRd{LPEW3}} \newcommand{\TDmpfa}{\MRd{MPFA-O}} \centering \caption{算例\ref{sec:crosstest}: 非匹配网格\texttt{H}上的计算结果.}\label{tab:crossmeshH} \begin{tabular}{ccccccc} \toprule \texttt{nu} & & 22 & 176 & 1408 & 11264 & 90112 \\ \midrule \multirow{5}{*}{eLSW(d)} & $E_{u}$ & 1.43E+00 & 3.88E-01 & 7.08E-02 & 1.59E-02 & 3.97E-03 \\ & $R_{u}$ & -- & 1.88 & 2.45 & 2.15 & 2.00 \\ & $E_{q}$ & 4.87E-01 & 3.17E-01 & 1.16E-01 & 3.48E-02 & 9.97E-03 \\ & $R_{q}$ & -- & 0.62 & 1.46 & 1.73 & 1.80 \\ & \texttt{CPU} & 0.00 & 0.27 & 0.06 & 1.45 & 41.79 \\ \hline \multirow{5}{*}{eLSW(b)} & $E_{u}$ & 1.45E+00 & 3.88E-01 & 7.14E-02 & 1.60E-02 & 3.98E-03 \\ & $R_{u}$ & -- & 1.90 & 2.44 & 2.16 & 2.01 \\ & $E_{q}$ & 4.91E-01 & 3.16E-01 & 1.15E-01 & 3.48E-02 & 9.96E-03 \\ & $R_{q}$ & -- & 0.63 & 1.46 & 1.73 & 1.80 \\ & \texttt{CPU} & 0.00 & 0.00 & 0.06 & 1.74 & 41.85 \\ \hline \multirow{5}{*}{LSW}& $E_{u}$ & 1.48E+00 & 4.26E-01 & 1.03E-01 & 3.46E-02 & 1.33E-02 \\ & $R_{u}$ & -- & 1.80 & 2.05 & 1.58 & 1.38 \\ & $E_{q}$ & 4.79E-01 & 3.31E-01 & 1.55E-01 & 7.58E-02 & 4.45E-02 \\ & $R_{q}$ & -- & 0.53 & 1.09 & 1.03 & 0.77 \\ & \texttt{CPU} & 0.00 & 0.00 & 0.06 & 1.20 & 40.91 \\ \bottomrule \end{tabular} \end{table} % random 0.2 \begin{table}[!htpb] \newcommand{\MRd}[1]{\multirow{5}{*}{#1}} \newcommand{\TDnvi}[1]{\MRd{eLSW(#1)}} \newcommand{\TDVILS}{\MRd{LSW}} \newcommand{\TDew}{\MRd{LPEW3}} \newcommand{\TDmpfa}{\MRd{MPFA-O}} \centering \caption{算例\ref{sec:crosstest}: 随机扰动网格\texttt{R}(0.2)上的计算结果.}\label{tab:crossmeshR2} \begin{tabular}{ccccccc} \toprule \texttt{nu} & & 64 & 512 & 4096 & 32768 & 262144 \\ \midrule \multirow{5}{*}{eLSW(d)} & $E_{u}$ & 4.32E-01 & 8.78E-02 & 2.04E-02 & 5.11E-03 & 1.29E-03 \\ & $R_{u}$ & -- & 2.30 & 2.11 & 1.99 & 1.99 \\ & $E_{q}$ & 3.46E-01 & 1.27E-01 & 4.07E-02 & 1.30E-02 & 4.78E-03 \\ & $R_{q}$ & -- & 1.44 & 1.65 & 1.65 & 1.45 \\ & \texttt{CPU} & 0.02 & 0.02 & 0.20 & 3.05 & 40.83 \\ \hline \multirow{5}{*}{eLSW(b)} & $E_{u}$ & 4.32E-01 & 8.82E-02 & 2.04E-02 & 5.12E-03 & 1.29E-03 \\ & $R_{u}$ & -- & 2.29 & 2.11 & 2.00 & 1.99 \\ & $E_{q}$ & 3.47E-01 & 1.28E-01 & 4.08E-02 & 1.30E-02 & 4.78E-03 \\ & $R_{q}$ & -- & 1.44 & 1.64 & 1.65 & 1.45 \\ & \texttt{CPU} & 0.00 & 0.03 & 0.20 & 2.94 & 41.01 \\ \hline \multirow{5}{*}{LSW}& $E_{u}$ & 4.73E-01 & 1.19E-01 & 4.90E-02 & 1.86E-02 & 7.41E-03 \\ & $R_{u}$ & -- & 1.99 & 1.28 & 1.40 & 1.33 \\ & $E_{q}$ & 3.77E-01 & 2.14E-01 & 1.60E-01 & 1.18E-01 & 8.16E-02 \\ & $R_{q}$ & -- & 0.81 & 0.43 & 0.44 & 0.53 \\ & \texttt{CPU} & 0.00 & 0.02 & 0.19 & 2.70 & 39.03 \\ \hline \multirow{5}{*}{LPEW3}& $E_{u}$ & 4.51E-01 & 9.51E-02 & 2.31E-02 & 6.12E-03 & 1.59E-03 \\ & $R_{u}$ & -- & 2.24 & 2.04 & 1.91 & 1.95 \\ & $E_{q}$ & 3.65E-01 & 1.24E-01 & 3.67E-02 & 1.23E-02 & 4.92E-03 \\ & $R_{q}$ & -- & 1.56 & 1.76 & 1.57 & 1.33 \\ & \texttt{CPU} & 0.01 & 0.05 & 0.48 & 5.42 & 60.65 \\ \hline \multirow{5}{*}{MPFA-O}& $E_{u}$ & 9.12E-01 & 1.95E-01 & 8.53E-02 & 1.66E-01 & $\ast $ \\ & $R_{u}$ & -- & 2.23 & 1.19 & -0.96 & $\ast $ \\ & $E_{q}$ & 2.64E-01 & 1.34E-01 & 8.43E-02 & 2.55E-01 & $\ast $ \\ & $R_{q}$ & -- & 0.98 & 0.67 & -1.60 & $\ast $ \\ & \texttt{CPU} & 0.01 & 0.04 & 0.33 & 4.69 & $\ast $ \\ \bottomrule \end{tabular} \end{table} % \begin{figure}[!htpb] \centering \includegraphics[width=0.65\textwidth]{../img/ds3delscrossrandom.eps} \caption{算例\ref{sec:crosstest}: 随机扰动网格上的计算结果.} \label{fig:crossrandommesh} \end{figure} \section{变系数的强各向异性问题} \label{sec:stronghete} 我们研究由\parencite{Edwards2011}提出的一个变系数的强各向异性的扩散问题. 扩散张量为 \begin{equation*} \Lambda (x, y, z)=\frac{1}{x^{2}+y^{2}}\left ( \begin{array}{ccc} \varepsilon _{x} x^{2}+\varepsilon _{y} y^{2} & \left (\varepsilon _{x}- \varepsilon _{y}\right ) x y & 0 \\ \left (\varepsilon _{x}-\varepsilon _{y}\right ) x y & \varepsilon _{y} x^{2}+\varepsilon _{x} y^{2} & 0 \\ 0 & 0 & \varepsilon _{z}(z+1)\left (x^{2}+y^{2}\right ) \end{array} \right ), \end{equation*} 其中$\varepsilon_{x} = 1, \varepsilon_{y} = 10^{-6}$并且$\varepsilon_{z} = 10$. 解析解为 \begin{equation*} u(x,y,z) = \sin(2\pi x) \sin(2\pi y) \sin(2\pi z). \end{equation*} 这里, 在顶点插值算法中所使用的扩散张量取为 \begin{equation*} \Lambda_{i} = \lim_{\bm{x}\to\bm{x}_{\nu},\bm{x}\in K_{i}} \Lambda(\bm{x}), \end{equation*} 这也是文献\parencite{Miao2022}建议对于变系数扩散问题的处理方式. 在这种选择下, 对于这个变系数问题, eLSW(d)和eLSW(b)与LSW等价. 我们首先给出随机扰动网格\texttt{R}(0.2)上的结果, 见表\ref{tab:stronghetemeshR2}. 从表中可以看出, 两种扩展最小二乘插值算法的CPU时间仅存在细微差异. 我们发现MPFA-O格式不收敛对于这种强各向异性问题. 因此, 对于其他情况, 我们仅展示eLSW(d)和LPEW3的结果. 随着网格细化, 我们可以发现搭配扩展最小二乘顶点插值算法eLSW的菱形格式都达到了理想的精度. % random 0.2 \begin{table}[!htpb] \newcommand{\MRd}[1]{\multirow{5}{*}{#1}} \newcommand{\TDnvi}[1]{\MRd{eLSW(#1)}} \newcommand{\TDVILS}{\MRd{LSW}} \newcommand{\TDew}{\MRd{LPEW3}} \newcommand{\TDmpfa}{\MRd{MPFA-O}} \centering \caption{算例\ref{sec:stronghete}: 随机扰动网格\texttt{R}(0.2)上的计算结果.}\label{tab:stronghetemeshR2} \begin{tabular}{ccccccc} \toprule \texttt{nu} & & 64 & 512 & 4096 & 32768 & 262144 \\ \midrule \multirow{5}{*}{eLSW(d)} & $E_{u}$ & 2.89E-01 & 7.84E-02 & 1.92E-02 & 5.05E-03 & 1.40E-03 \\ & $R_{u}$ & -- & 1.88 & 2.03 & 1.93 & 1.86 \\ & $E_{q}$ & 1.95E-01 & 6.82E-02 & 2.08E-02 & 7.18E-03 & 2.97E-03 \\ & $R_{q}$ & -- & 1.51 & 1.72 & 1.53 & 1.27 \\ & \texttt{CPU} & 0.00 & 0.02 & 0.21 & 2.16 & 20.76 \\ \hline \multirow{5}{*}{eLSW(b)} & $E_{u}$ & 2.89E-01 & 7.84E-02 & 1.92E-02 & 5.05E-03 & 1.40E-03 \\ & $R_{u}$ & -- & 1.88 & 2.03 & 1.93 & 1.86 \\ & $E_{q}$ & 1.95E-01 & 6.82E-02 & 2.08E-02 & 7.18E-03 & 2.97E-03 \\ & $R_{q}$ & -- & 1.51 & 1.72 & 1.53 & 1.27 \\ & \texttt{CPU} & 0.00 & 0.02 & 0.20 & 2.17 & 20.84 \\ \hline \multirow{5}{*}{LSW}& $E_{u}$ & 2.89E-01 & 7.84E-02 & 1.92E-02 & 5.05E-03 & 1.40E-03 \\ & $R_{u}$ & -- & 1.88 & 2.03 & 1.93 & 1.86 \\ & $E_{q}$ & 1.95E-01 & 6.82E-02 & 2.08E-02 & 7.18E-03 & 2.97E-03 \\ & $R_{q}$ & -- & 1.51 & 1.72 & 1.53 & 1.27 \\ & \texttt{CPU} & 0.00 & 0.02 & 0.19 & 1.92 & 18.82 \\ \hline \multirow{5}{*}{LPEW3}& $E_{u}$ & 2.91E-01 & 7.82E-02 & 1.98E-02 & 5.23E-03 & 1.44E-03 \\ & $R_{u}$ & -- & 1.90 & 1.98 & 1.92 & 1.86 \\ & $E_{q}$ & 1.95E-01 & 6.79E-02 & 2.10E-02 & 7.35E-03 & 3.08E-03 \\ & $R_{q}$ & -- & 1.52 & 1.69 & 1.51 & 1.26 \\ & \texttt{CPU} & 0.01 & 0.05 & 0.48 & 4.64 & 41.71 \\ \bottomrule \end{tabular} \end{table} \begin{figure}[!htpb] \centering \includegraphics[width=0.65\textwidth]{../img/ds3delsstronghete.eps} \caption{算例\ref{sec:stronghete}: 搭配eLSW(d)和LPEW3的菱形格式计算结果.} \label{fig:strongheteothers} \end{figure} \newcommand{\NVW}{\texttt{vinw}} \section{测试离散极值原理} \label{sec:testdmp} 与局部守恒性同样重要, 离散极值原理(DMP)也是扩散方程数值离散时必须考虑的因素. 我们测试文献\parencite{FVCA6}的第3个算例展示搭配扩展最小二乘插值算法的菱形格式与DMP相关的性质. 扩散系数和解析解的选择如下 \begin{equation*} \Lambda = \begin{pmatrix} 1 &0 &0 \\ 0 &1 &0 \\ 0 &0 &10^{3} \end{pmatrix} \end{equation*} 以及 \begin{equation*} u(x, y, z)= \sin (2\pi x)\sin (2\pi y)\sin (2\pi z) . \end{equation*} 在这个算例中, 我们考虑Dirichlet边界条件. 我们统计出顶点插值权重为负的百分比, 记为\texttt{vinw}. 我们分别在四面体网格\texttt{B}以及Kershaw网格\texttt{D}测试, 计算结果见表\ref{tab:dmpmeshB}以及表\ref{tab:dmpmeshD}, 从这些结果可以看出, 对于这个问题, 搭配eLSW(d)的菱形格式不满足极值原理. % tet \begin{table}[!htpb] \newcommand{\MRc}[1]{\multirow{8}{*}{#1}} \newcommand{\TDnvi}[1]{\MRc{eLSW(#1)}} \newcommand{\TDew}{\MRc{LPEW3}} \newcommand{\TDmpfa}{\MRc{MPFA-O}} \centering\zihao{-5} \caption{算例\ref{sec:testdmp}: 四面体网格\texttt{B}上的计算结果.}\label{tab:dmpmeshB} \begin{tabular}{cccccccccc} \toprule \texttt{nu} & & 44 & 215 & 2003 & 3898 & 7711 & 15266 & 30480 & 61052 \\ \midrule \multirow{8}{*}{eLSW(d)} & $E_{u}$ & 6.36E-01 & 1.05E+00 & 2.30E-01 & 1.52E-01 & 9.70E-02 & 6.06E-02 & 3.83E-02 & 2.37E-02 \\ & $R_{u}$ & -- & -0.95 & 2.04 & 1.85 & 1.98 & 2.07 & 1.99 & 2.07 \\ & $E_{q}$ & 2.21E-01 & 5.58E-01 & 1.68E-01 & 1.23E-01 & 9.42E-02 & 7.37E-02 & 5.78E-02 & 4.49E-02 \\ & $R_{q}$ & -- & -1.75 & 1.62 & 1.40 & 1.17 & 1.08 & 1.06 & 1.09 \\ & \texttt{umin} & -1.316 & -1.657 & -1.185 & -1.084 & -1.064 & -1.070 & -1.025 & -1.019 \\ & \texttt{umax} & 1.296 & 1.303 & 1.096 & 1.118 & 1.067 & 1.048 & 1.021 & 1.021 \\ & \texttt{CPU} & 0.01 & 0.01 & 0.18 & 0.61 & 1.99 & 6.50 & 20.59 & 60.12 \\ & \texttt{vinw} & 0.00\% & 0.00\% & 0.54\% & 1.24\% & 0.80\% & 0.65\% & 0.85\% & 0.91\% \\ \bottomrule \end{tabular} \end{table} % kershaw \begin{table}[!htpb] \newcommand{\MRc}[1]{\multirow{8}{*}{#1}} \newcommand{\TDnvi}[1]{\MRc{eLSW(#1)}} \newcommand{\TDew}{\MRc{LPEW3}} \newcommand{\TDmpfa}{\MRc{MPFA-O}} \centering \caption{算例\ref{sec:testdmp}: Kershaw网格\texttt{D}上的计算结果.}\label{tab:dmpmeshD} \begin{tabular}{ccccccc} \toprule \texttt{nu} & & 512 & 4096 & 32768 & 262144 & 2097152 \\ \midrule \multirow{8}{*}{eLSW(d)} & $E_{u}$ & 2.82E-01 & 5.14E-02 & 1.33E-02 & 3.56E-03 & 9.70E-04 \\ & $R_{u}$ & -- & 2.46 & 1.95 & 1.90 & 1.88 \\ & $E_{q}$ & 1.37E-01 & 2.73E-02 & 6.90E-03 & 1.93E-03 & 5.86E-04 \\ & $R_{q}$ & -- & 2.33 & 1.98 & 1.84 & 1.72 \\ & \texttt{umin} & -1.125 & -1.055 & -1.009 & -1.003 & -1.002 \\ & \texttt{umax} & 1.125 & 1.055 & 1.009 & 1.003 & 1.002 \\ & \texttt{CPU} & 0.03 & 0.18 & 1.57 & 13.99 & 121.59 \\ & \texttt{vinw} & 57.14\% & 25.96\% & 12.35\% & 5.98\% & 2.95\% \\ \bottomrule \end{tabular} \end{table} % vim:ts=4:sw=4