$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$ で実装し、

手を動かしていきます。

コメント

人気の投稿