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

手を動かしていきます。

コメント

人気の投稿