数値シミュレーションを学ぼう!

「数値シミュレーションを学ぼう!」と題して,noteで数値シミュレーションを,丁寧に,…

数値シミュレーションを学ぼう!

「数値シミュレーションを学ぼう!」と題して,noteで数値シミュレーションを,丁寧に,わかりやすく,なるべく体系的に解説していきます.特に,個人的な経験から境界条件にこだわって解説していきます.Pythonコードも提供していますので,効果的に学習を進められると思います.

最近の記事

  • 固定された記事

数値シミュレーションを学ぼう!

数値シミュレーションについて学ぼうとしてもなかなか良い本がありません.これは,数値シミュレーションを学ぼうと志す方々に対して非常に残念な状況です.私はそんな状況を少しでも変えたいと思い,「数値シミュレーションを学ぼう!」と題して,noteで数値シミュレーションを解説していこうと思い立ちました.私が今まで学んだことや実践したことをたくさん盛り込んで初心者の方にもわかりやすく説明していく予定です.特に,教科書や論文などで疎かにされている「境界条件」の扱いに力を入れていきたいです.

    • 1次元熱伝導方程式を差分法で解く(陽解法)

      はじめに今回は1次元熱伝導方程式を差分法で解きます.時間発展は陽解法(explicit method)で行います.陽解法とは,現在の時間ステップの値だけで次の時間ステップの値を決める時間発展の仕方のことです. 支配方程式まず,1次元の熱伝導方程式と境界条件,初期条件を示します.未知数を温度と考えると熱伝導方程式になりますし,未知数を濃度と考えると拡散 方程式と考えることもできます.また,微分方程式を考える際は,境界条件と初期条件が重要なので常に注意して下さい.境界条件と初期

      • 4階微分の差分表現

        はじめに 今回は差分法で用いる,4階微分の差分表現を導出します.kuramoto-sivashinsky方程式の離散化などで使います.導出に2階微分の差分表現を使います.こちらで解説しています. 差分を求める $${u}$$を未知数,$${x}$$を空間座標とします.空間に適当な離散点を設けます.ここでは簡単のため,$${0 \leq x \leq L}$$の領域に等間隔で$${N}$$個の点を設けます.するとノードとノードの間隔は$${\Delta x = \frac

        • 3階微分の差分表現

          はじめに 今回は差分法で用いる,3階微分の差分表現を導出します.KdV方程式の離散化などで使います.導出に1階微分と2階微分の差分表現を使います.こちらで解説しています. 差分を求める $${u}$$を未知数,$${x}$$を空間座標とします.空間に適当な離散点を設けます.ここでは簡単のため,$${0 \leq x \leq L}$$の領域に等間隔で$${N}$$個の点を設けます.するとノードとノードの間隔は$${\Delta x = \frac{L}{N-1}}$$と

        • 固定された記事

        数値シミュレーションを学ぼう!

          1階微分と2階微分の差分表現

          はじめに 今回は差分法で用いる,1階微分と2階微分の差分表現を導出します.今後何回も用いるので覚えてしまいましょう. 差分を求める $${u}$$を未知数,$${x}$$を空間座標とします.空間に適当な離散点を設けます.ここでは簡単のため,$${0 \leq x \leq L}$$の領域に等間隔で$${N}$$個の点を設けます.するとノードとノードの間隔は$${\Delta x = \frac{L}{N-1}}$$となります.次に,$${i}$$番目のノードの$${x}

          1階微分と2階微分の差分表現

          差分法とは何だろう?

          はじめに 数値的に微分方程式を解く手法としては,差分法,有限要素法,有限体積法,粒子法,スペクトル法,格子ボルツマン法,境界要素法など様々な手法があります.今回は,さまざまな数値計算手法の基礎となっている差分法について解説します.差分法(Finite Difference Method,FDM)とは,微分方程式における微分を差分で置き換え,代数方程式(差分方程式)に帰着する方法です.空間に離散点(節点,ノード,node)を設け,微分を対応する差分に置き換えるだけなのでわかり