付録A. 参照要素と実数要素の基本的な計算
体積積分
次式で与えられます.
\[\int_T f(x)\ dx = \int_{\widehat{T}} \widehat{f}(\widehat{x})
|\mbox{vol}\left(
\frac{\partial\tau(\widehat{x})}{\partial \widehat{x}_0};
\frac{\partial\tau(\widehat{x})}{\partial \widehat{x}_1};
\ldots;
\frac{\partial\tau(\widehat{x})}{\partial \widehat{x}_{P-1}}
\right)|\ d\widehat{x}.\]
\(J_{\tau}(\widehat{x})\) は Jacobian を意味します
\[\fbox{$ J_{\tau}(\widehat{x}) :=
|\mbox{vol}\left(
\frac{\partial\tau(\widehat{x})}{\partial \widehat{x}_0};
\frac{\partial\tau(\widehat{x})}{\partial \widehat{x}_1};
\ldots;
\frac{\partial\tau(\widehat{x})}{\partial \widehat{x}_{P-1}}
\right)| =
(\mbox{det}(K(\widehat{x})^T K(\widehat{x})))^{1/2}$,}\]
最終的に以下のように表されます.
\[\fbox{$\int_T f(x)\ dx = \int_{\widehat{T}} \widehat{f}(\widehat{x}) J_{\tau}(\widehat{x})\ d\widehat{x}$.}\]
\(P = N\) のときJacobianの式は \(J_{\tau}(\widehat{x}) = |\mbox{det}(K(\widehat{x}))|\) のようになります.
面積分
\(\Gamma\) を実数要素である \(T\) の境界の一部, \(\widehat{\Gamma}\) を参照要素 \(\widehat{T}\) 上の対応する境界とすると次式で表されます.
\[\fbox{$\int_{\Gamma} f(x)\ d\sigma =
\int_{\widehat{\Gamma}}\widehat{f}(\widehat{x}) \|B(\widehat{x})\widehat{n}\| J_{\tau}(\widehat{x})\ d\widehat{\sigma}$,}\]
ここで, \(\widehat{n}\) は \(\widehat{\Gamma}\) 上の \(\widehat{T}\) の法線です.同様に次式が成り立ちます.
\[\fbox{$\int_{\Gamma} F(x)\cdot n\ d\sigma =
\int_{\widehat{\Gamma}} \widehat{F}(\widehat{x})\cdot(B(\widehat{x})\cdot\widehat{n}) J_{\tau}(\widehat{x})\ d\widehat{\sigma}$,}\]
\(n\) は \(\Gamma\) 上の \(T\) に対する単位法線です.
微分計算
次式で与えられます.
\[\nabla f(x) = B(\widehat{x})\widehat{\nabla} \widehat{f}(\widehat{x}).\]
2階微分計算
使用するのは次の
\[\nabla^2 f =
\left[\frac{\partial^2 f}{\partial x_i \partial x_j}\right]_{ij},\]
\(N \times N\) 行列と
\[\widehat{X}(\widehat{x}) =
\sum_{k = 0}^{N-1}\widehat{\nabla}^2\tau_k(\widehat{x})\frac{\partial f}{\partial x_k}(x) =
\sum_{k = 0}^{N-1}\sum_{i = 0}^{P-1}
\widehat{\nabla}^2\tau_k(\widehat{x})B_{ki}\frac{\partial \widehat{f}}{\partial \widehat{x}_i}(\widehat{x}),\]
\(P \times P\) 行列,そして
\[\widehat{\nabla}^2 \widehat{f}(\widehat{x}) = \widehat{X}(\widehat{x}) + K(\widehat{x})^T \nabla^2 f(x) K(\widehat{x}),\]
です.したがって展開すると次式になります.
\[\nabla^2 f(x) = B(\widehat{x})(\widehat{\nabla}^2 \widehat{f}(\widehat{x}) - \widehat{X}(\widehat{x})) B(\widehat{x})^T.\]
基本行列の計算を一様な方法で計算するために,Hessianの成分は \(\frac{\partial^2 f}{\partial x^2_0}, \frac{\partial^2 f}{\partial x_1\partial x_0},\ldots, \frac{\partial^2 f}{\partial x^2_{N-1}}\) である列ベクトル \(H f\) として計算されます.また, \(B_2\) は \(P^2 \times P\) 行列で次のように定義されます.
\[\left[B_2(\widehat{x})\right]_{ij} =
\sum_{k = 0}^{N-1}
\frac{\partial^2 \tau_k(\widehat{x})}{\partial \widehat{x}_{i / P} \partial \widehat{x}_{i\mbox{ mod }P}}
B_{kj}(\widehat{x}),\]
\(B_3\) は \(N^2 \times P^2\) 行列で次式のように定義されています
\[\left[B_3(\widehat{x})\right]_{ij} =
B_{i / N, j / P}(\widehat{x}) B_{i\mbox{ mod }N, j\mbox{ mod }P}(\widehat{x}),\]
次式で表されます.
\[\fbox{$H f(x) = B_3(\widehat{x})
\left(\widehat{H}\ \widehat{f}(\widehat{x}) - B_2(\widehat{x})\widehat{\nabla} \widehat{f}(\widehat{x})\right)$.}\]
基本的な行列の例
基本的な "行列" を計算する場合を想定します.
\[t(i_0, i_1, \ldots, i_7) =
\int_{T}\varphi_{i_1}^{i_0}
\partial_{i_4}\varphi_{i_3}^{i_2}
\partial^2_{i_7/ P, i_7\mbox{ mod } P}\varphi_{i_6}^{i_5}\ dx,\]
参照要素に対して行われる計算は次式
\[\widehat{t}_0(i_0, i_1, \ldots,i_7) =
\int_{\widehat{T}}(\widehat{\varphi})_{i_1}^{i_0}
\partial_{i_4}(\widehat{\varphi})_{i_3}^{i_2}
\partial^2_{i_7 / P, i_7\mbox{ mod } P}(\widehat{\varphi})_{i_6}^{i_5} J(\widehat{x})\ d\widehat{x},\]
と次式です.
\[\widehat{t}_1(i_0, i_1, \ldots, i_7) =
\int_{\widehat{T}}(\widehat{\varphi})_{i_1}^{i_0}
\partial_{i_4}(\widehat{\varphi})_{i_3}^{i_2}
\partial_{i_7}(\widehat{\varphi})_{i_6}^{i_5} J(\widehat{x})\ d\widehat{x},\]
これらの2つのテンソルは,幾何変換が線形の場合,( \(J(\widehat{x})\) が一定であるため),参照要素全体で一度計算できます.幾何変換が非線形である場合,格納されるべきものは各積分点の値です.実数要素上の積分を計算するには,いくつかの低減が必要です.
最初の項 (\(\varphi_{i_1}^{i_0}\)) については何もしません.
第2項 (\(\partial_{i_4}\varphi_{i_3}^{i_2}\)) は行列 \(B\) を使って \(i_4\) とします.
Concerning the third term (\(\partial^2_{i_7 / P, i_7\mbox{ mod }P}
\varphi_{i_6}^{i_5}\)) a reduction of \(\widehat{t}_0\) with respect to \(i_7\)
with the matrix \(B_3\) and a reduction of \(\widehat{t}_1\) with respect also
to \(i_7\) with the matrix \(B_3 B_2\)
幾何変換が非線形である場合には,各積分点に対して低減を行います.これらの低減が行われると,それらの縮約の結果として生じるすべてのテンソルが(幾何変換が非線形である場合,各積分点の負荷に等しい因子で)追加されます.
有限要素が \(\tau\)- 等価でない場合,結果のテンソルを行列 \(M\) で補助的に低減しなければなりません.