流体力学をより深く理解するための【PythonでCFD】シリーズのご紹介

こんにちは!

この記事では、当ブログで公開している【PythonでCFD】シリーズの目的や概要、学習順序などを説明します。

本シリーズの目的

【PythoでCFD】シリーズの目的は以下の3つです。

  • Pythonを使いこなせるようになること
  • 流体力学のソルバー部分を理解する
  • 計算力学技術者試験の2級・1級に合格する

Pythonを使いこなせるようになること

Pythonの基本的な書き方から発展的なライブラリの使い方などを学び、効率よく自分の興味のある分野で活用できるようになる

私はPythonに出会って4,5年経ち、現在はFlaskでWebサーバーを立ち上げてサービスを運営しています。

こういわれると、何か凄そうな感じがしますが、全然そんなことはなく、作りも甘ければコードもぐちゃぐちゃで、改善点は多々あります。

ですが、ある程度形になるものを作れるくらいの力が備わってくると、欲しい機能はググってつなぎ合わせたり、もっと便利なライブラリがありそうなところを無理やりLoop文で作ってしまったりと、自分でもいい加減だなと思う機会が増えてきました。

このままでは、間違ったフォームのまま固まってしまい、今後のキャリアでPythonを活用していくことが難しくなりそうな瀬戸際に立たされています。

そこで、このシリーズを通じて、「誰かに説明をする」状況を作り、ある程度丁寧なコーディングのお作法を身に着けようと考えています。

私だけでなく読者の方も、このシリーズを通じて、Pythonの基本的な書き方から発展的なライブラリの使い方などを学び、効率よく自分の興味のある分野で活用していただきたいと思っています。

流体力学のソルバー部分を理解する

ブラックボックスと化した汎用流体解析ソフトを1つ1つ解体する

私は流体解析のエンジニアをやっていますが、類にもれず商用の流体解析ソフトを使っています。

これらの流体解析ソフトでは、どれも歴史が深く非常に多機能で、高性能です。

中でどんな計算が行われているか理解できなくても、メッシュを作って、境界条件を設定すれば、それっぽい結果を返してくれます。(だから歴の浅い新卒でも解析が出来てしまう)

ただ、それだけでは、出てきた結果が正しいのか、評価に値するのか、間違っているのかを判断することはできません。

ヘルプやドキュメントを見ても、乱流モデルは「LES」とか、輻射は「DO法」などの記載はありますが、別部署に説明するときに「LESでやりました。」と言っても「は?」となるのが普通です。

説明を受ける側は、それでもいいですが、解析専任者としてはそうはいきません。

これらをある程度かみ砕いて理解し、説明するためには、「自分で作ってみる」ことが一番です。

このシリーズを通じて、ブラックボックスと化した汎用流体解析ソフトを1つ1つ解体していきたいと考えています。

計算力学技術者試験の2級・1級に合格する

解体した結果を、対外的に示せるようになる

最後に、これは2つ目の「流体力学のソルバー部分を理解する」ことと重複しますが、このシリーズを通じて、計算力学者の登竜門(?)的存在の計算力学技術者試験の熱流体分野の試験対策ができるようにしていきたいと考えています。

「理解した」、「勉強になった」ことを最も簡単に示せるのが”資格”でしょう。

もちろん試験に合格することが全てではないですが、本シリーズで、手を動かしながら理解した内容は、実務に役立つことはもちろん、試験対策になるものだと確信しています。

(また、試験範囲に準拠した方が、何を学べば良いのかわかりやすいのもあります)

私は熱流体分野の2級こそ持っていますが、1級はまだまだ先の話です。

このシリーズを作成しながら合格を目指していきましょう。

シリーズ一覧と推奨する順序

本シリーズをまとめておきます。(予定も含む)

内容は可能な限り1記事で完結するように努めています。(まだ始めたばかりで記事が少ないですが…今後に期待…)

Pythoの基本

-更新予定–

数値計算の基本

–更新予定–

計算力学技術者2級-熱流体分野相当

–更新予定–

計算力学技術者1級-熱流体分野相当

–更新予定–

まとめ

この記事では、【PythonでCFD】シリーズの概要を説明しました。

走り始めたばかりのシリーズで恐縮ですが、1人でも多くの方が、このシリーズを通じて流体解析を理解してもらえるよう頑張ります!