$Python$を使った数値流体解析#3
尊敬する「宇宙い入ったカマキリ」さんの
ブログをなぞり、Pythonを使い数値流体
解析を行います。
カマキリさんのURLはこちら↓↓↓
https://takun-physics.net/9538/
#3は「1次元の移流方程式Pythonで実装する」
①一次元の移流方程式の定義
$\frac{\partial u}{\partial t} +c \frac{\partial u}{\partial x} = 0 $
熱や物質が運ばれる現象を「移流」という。
$u = u(x,t) $は、求めるべき物理量を表す。
一次元の移流方程式の一般解
$u(x,t) = u(x-ct) $
$u(x-ct) $が一次元の移流方程式の一般解である事の確認
$ x-ct = D $とすると、$u(x-ct) = u(D) $
よって、
$\frac{\partial u}{\partial t} +c \frac{\partial u}{\partial x} = \frac{\partial u}{\partial D} \frac{\partial D}{\partial t}+c \frac{\partial u}{\partial D} \frac{\partial D}{\partial x} $
$\frac{\partial D}{\partial t} = -c $、$\frac{\partial D}{\partial x} = 1 $
ゆえに、
$\frac{\partial u}{\partial D} (-c)+c \frac{\partial u}{\partial D} (1) = 0$
②移流方程式の離散化
・第1項(時間微分の項)
$\frac{\partial u}{\partial t} \approx \frac{u(t + \Delta t) - u(t)}{\Delta t}$
・第2項(空間微分の項)
$\frac{\partial u}{\partial x} \approx \frac{u(x) - u(x - \Delta x)}{\Delta x}$
上記を移流方程式に加味し、「位置xを位置番号i、
時間tを計算のステップ数n」で置き換えて整理する。
$\frac{u^{n+1}_i - u^n_i}{\Delta t} + c \frac{u^n_i - u^n_{i-1}}{\Delta x} = 0$
$u^{n+1}_i$について解く
$u^{n+1}_i = u^n_i - c \frac{\Delta t}{\Delta x} (u^n_i - u^n_{i-1})$
今日はここまでです。
次は、上記式を$Python$ で実装し、
手を動かしていきます。
コメント
コメントを投稿