C++

【オブジェクト指向C++】2次元ナビエストークス方程式(キャビティ流れ)の数値計算

全体のコード

全体のコードがこちらです。

main.cpp

main.cpp(メインファイル)以外のコードはgithubにアップしています。

その他のヘッダーファイルは以下となります。

  • #include “Mesh.h” //メッシュ設定
  • #include “Fields.h” //場の定義
  • #include “Diff1d.h” //空間微分
  • #include “FileWriter.h” //ファイル出力
  • #include “creatFields.h” //場の定義
  • #include “Diff1d.h” //微分の離散化定義

結果はParaViewで確認すると以下のようになります。

まとめ

C++を使ってオブジェクト指向を意識してナビエストークス方程式を解くプログラムを組みました。
今回は「MAC(Marker And Cell)法」と呼ばれる非圧縮流体の解析手法のでナビエストークス方程式、およびナビエストークス方程式の発散と連続の式から得られる圧力方程式を連立して計算を行いました。
プログラムのメインは

のように離散化した後の方程式を直感的に計算できるようにしました。

main.cppのパラメータ設定の部分が少しぐちゃぐちゃになっているので改善の余地は十分にあるコードですが、全体を通すことでオブジェクト指向を意識したコーディングができたのではないかと思います。

参考書

1週間でC++の基礎が学べる本

1週間でC++の基礎が学べる本

亀田 健司
2,574円(11/21 15:26時点)
発売日: 2021/03/12
Amazonの情報を掲載しています
独習C++ 新版

独習C++ 新版

高橋 航平
3,346円(11/21 15:27時点)
発売日: 2019/11/11
Amazonの情報を掲載しています
江添亮のC++入門

江添亮のC++入門

江添 亮
5,500円(11/21 17:59時点)
Amazonの情報を掲載しています
1 2 3 4 5 6

COMMENT

メールアドレスが公開されることはありません。 が付いている欄は必須項目です