偏微分方程式
Important
この章を読む前に
この章を読むには、以下の章を先に読んでおく必要があります。
現実の物理現象の多くは、時間だけでなく空間( )にも依存する偏微分方程式 (Partial Differential Equation, PDE) として記述されます。
偏微分方程式の分類
物理学で現れる主要なPDEは、数学的な性質から以下の3つに分類されます。
-
放物型 (Parabolic)
- 例:拡散方程式(熱伝導方程式)
- 時間とともに情報が広がり、平滑化される現象。
-
双曲型 (Hyperbolic)
- 例:波動方程式
- 情報が波として有限の速度で伝播する現象。
-
楕円型 (Elliptic)
- 例:ポアソン方程式
- 静的な場の分布を記述し、領域全体の境界条件によって解が決定される。
本章の構成
-
差分法の基礎 偏微分を格子点上の差分で近似する基本的な考え方と、安定性の概念について学びます。
-
拡散方程式 時間発展を追う放物型方程式の解法(陽解法と陰解法)を学びます。
-
波動方程式 波の伝播をシミュレーションする双曲型方程式の扱い方を学びます。
-
楕円型方程式 静的なポテンシャル分布を求める手法(反復法など)を学びます。
作業テーマ
作業ディレクトリは ~/rust-computational-physics-work/ からの相対パスです。
ユニットテストで確認する具体的なケースは、解析解、境界条件、許容誤差の観点からAI coding agentと相談して決めます。
| テーマ | 作業ディレクトリ | 構造化するコード | ユニットテスト演習 | 拡張演習 |
|---|---|---|---|---|
| 差分法の基礎 | pde/finite-difference | idx, central_diff, laplacian_1d | 小さい格子でstencilを手計算と比較する | 境界条件を切り替えられる形にする |
| 拡散方程式 | pde/diffusion | step_ftcs, check_cfl, mass | 安定条件と質量保存の目安を確認する | 時間発展をCSVに出力する |
| 波動方程式 | pde/wave | step_wave, energy, apply_boundary | 小さい格子で初期ステップを確認する | 反射境界と固定境界を比較する |
| 楕円型方程式 | pde/elliptic | jacobi_step, residual, apply_boundary | 既知境界の小さい問題で残差を確認する | residual履歴をCSVに出力する |
検証と実装の観点
偏微分方程式では、数値スキームだけでなく、格子、境界条件、添字の対応が 正しいかを確認します。境界の1点のずれが、安定性や保存量に大きく影響します。
- 小さい格子で、stencil、boundary、linear indexを手計算と比較する。
- 拡散方程式や波動方程式では、CFL条件と刻み幅依存性を確認する。
- 楕円型方程式では、反復回数だけでなくresidualと境界条件を確認する。
- grid shape、spacing、time step、boundary conditionをmetadataとして保存する。