非圧縮性流体の計算アルゴリズム-格子について レギュラー格子、スタガード格子、コロケート格子について

非圧縮性流体

前回、MAC法で方程式を導きました。ここで格子の考え方を理解しておかないと面倒なので、様々な格子について理解していきます。

MAC法での議論をするので、前回導いたMAC法の方程式を書いておきます。

$$
\begin{align}
&\frac{ \partial u_i^{n+1} }{ \partial x_i^{n+1} } = 0 \tag{1} \label{eq:scale-factor-1} \\\\
&\frac{ u_i^{n+1} – u_i^{n}}{ \Delta t} + \frac{ \partial u_i^n u_j^n }{ \partial x_j} = -\frac{1}{\rho} \frac{\partial P^{n+1}}{\partial x_i} + \nu \frac{\partial^2 u_i^n}{\partial x_j^2} \tag{2} \label{eq:scale-factor-2} \\\\
& \frac{\partial^2 P^{n+1}}{\partial x_i^2}  =  \frac{\rho}{\Delta t} \frac{\partial u_i^n}{\partial x_i} +  \rho \frac{\partial }{\partial x_i} \bigl( \nu \frac{\partial^2 u_i^n}{ \partial x_j^2} – \frac{\partial u_i^n u_j^n }{\partial x_j}  \bigr) \tag{3} \label{eq:scale-factor-3}
\end{align}
$$

ベクトル版。

$$
\begin{align}
& \nabla \cdot \mathbf{V^{n+1}} = 0 \tag{4} \label{eq:scale-factor-4} \\\\
&\frac{ \mathbf{V^{n+1}} – \mathbf{V^{n}} }{ \Delta t} + (\mathbf{V^n} \cdot \nabla) \mathbf{V^n} = -\frac{1}{\rho} \nabla p^{n+1} + \nu \nabla^2 \mathbf{V^n} \qquad \tag{5} \label{eq:scale-factor-5} \\\\
& \nabla \cdot \nabla p^{n+1} = \frac{1}{ \Delta t} \nabla \cdot \mathbf{V^{n}} + \rho \nabla \cdot \bigl( \nu \nabla^2 \mathbf{V^n} – ( \mathbf{V^n} \cdot \nabla) \mathbf{V^n} \bigr)
\tag{6} \label{eq:scale-factor-6}
\end{align}
$$

 

MAC法といえば、スタガード格子(他の格子でも適用はできる)であり、格子の種類について説明しないといけないので、進めていきます。

格子というのは空間の離散化の仕方のことで、流体には圧力と速度の2成分あるため、このあたりをどう扱うかで格子にいろんな種類が存在します。レギュラー格子、スタガード格子、コロケート格子といった3種類が代表的なものです。

 


レギュラー格子

レギュラー格子について解説をしていきます。

レギュラー格子はとてもシンプルで、格子点上に全ての値が乗っているという格子です。

こうなっています。もっともシンプルでわかりやすいのが特徴です。

しかし、いくつか問題点があります。簡単に問題点を言うと、圧力が一個離れた点の速度を元に計算しなければならない為、圧力解が滑らかにならない可能性があると言うことです。レギュラー格子で計算すると、本来満たすべき\(t^{n+1}\)時点での連続式を満たさない圧力解になってしまいます。

数式で説明していきます。ちょっとめんどくさいので、2次元のもので離散化を考えます。

まずは、移流項と粘性項を陽的に時間離散化し、連続の式を\(t^{n+1}\)で満足させて次の式を得ます。

$$
\begin{align}
&\frac{ \partial u_i^{n+1} }{ \partial x_i^{n+1} } = 0 \tag{7} \label{eq:scale-factor-7} \\\\
&\frac{ u_i^{n+1} – u_i^{n}}{ \Delta t} + \frac{ \partial u_i^n u_j^n }{ \partial x_j} = -\frac{1}{\rho} \frac{\partial P^{n+1}}{\partial x_i} + \nu \frac{\partial^2 u_i^n}{\partial x_j^2} \tag{8} \label{eq:scale-factor-8} \\\\
\end{align}
$$

また、前回導いたMAC法での圧力のポアソン方程式も書いておきます。

$$
\begin{align}
& \frac{\partial^2 P^{n+1}}{\partial x_i^2}  =  \frac{\rho}{\Delta t} \frac{\partial u_i^n}{\partial x_i} +  \rho \frac{\partial }{\partial x_i} \bigl( \nu \frac{\partial^2 u_i^n}{ \partial x_j^2} – \frac{\partial u_i^n u_j^n }{\partial x_j}  \bigr) \\\\
\tag{9} \label{eq:scale-factor-9}
\end{align}
$$

ここで、空間の離散化をレギュラー格子上の差分で近似します。
どういうことかと言うと、素直に圧力も速度も i-1, i+1等は隣の一個離れた点を使うと言うことです。

このような考え方で\eqref{eq:scale-factor-8}式を空間離散化します。テンソルの添字なのか、空間離散化の添字なのかわかりにくくなってきたので、テンソルを解放して、2次元なので2つの式で書きます。わかりやすくするために、\(u_1=u, u_2=v\)と書いて行きます。ここからは下の添字は空間離散化を表す添字です。

基本的に全ての定義点を使えるので素直に離散化していきます。

$$
\begin{align}
&\frac{ u_{i, j}^{n+1} – u_{i,j}^{n}}{ \Delta t} + u_{i,j} \frac{ u_{i+1, j}^n – u_{i-1, j}^n }{ 2 \Delta x} + \v_{i,j} \frac{ u_{i, j+1}^n – u_{i, j-1}^n }{ 2 \Delta y} \\\\
&= -\frac{1}{\rho} \frac{\partial P^{n+1}}{\partial x_i} + \nu \frac{\partial^2 u_i^n}{\partial x_j^2} \tag{8} \label{eq:scale-factor-10} \\\\
\end{align}
$$



[
前の記事へ]  [非圧縮性流体の目次へ]  [次の記事へ]