Skip to content

Latest commit

 

History

History
87 lines (45 loc) · 1.71 KB

README.md

File metadata and controls

87 lines (45 loc) · 1.71 KB

偏微分方程式の数値計算サンプル

数値流体計算への橋渡し.偏微分方程式の解法の入門.

テーマは1次元での拡散方程式,移流方程式,移流拡散方程式,非線形移流方程式(非粘性バーガース方程式),バーガース方程式である.

可視化はお手軽なgnuplotを使用.

(学習コミュニティAPSでの教材に使用.)

変数名とかがかっこ悪いのはデフォ.

Sample001

拡散方程式

拡散方程式を差分法で解く(陽解法).

main.cppがサンプルコード.他はgnuplotで描画したサンプルコードになる.

Sample002

移流方程式

移流方程式を差分法で解く.中心差分を取ったもの.

スキームの不安定性を見る.

Sample003

移流方程式

風上差分法.

ここから, constexpr, template, class 等使っていきます.

適宜,BoostライブラリやSproutライブラリを使います.

Sample004

移流方程式

CIP法.(Constrained Interpolation Profile scheme.)

Sample005

移流拡散方程式

移流はCIP法.

Sample006

移流拡散方程式

単純な差分法(風上差分法,陽解法).

Sample007

移流方程式

Sample004のコードを少しだけ改善.

Sample008

非粘性バーガース方程式

移流部分は単純な風上差分法.

Sample009

バーガース方程式

Sample008に拡散項(散逸,粘性)を追加しただけ.

Sample010

バーガース方程式

移流部分はCIP法を適用.移流以外の拡散項など陽的解法.

精度の向上を図る.演算子分割法.

Sample011

KdV方程式