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 で実装し、
手を動かしていきます。
コメント
コメントを投稿