数値計算によって方程式を解き、現象を理解するための基礎知識と技術、注意点等を講義する。
実際のプログラミングを通じ、現代の推奨されるプログラミング作法を教える。
その上で、物理学における計算機の役割の一端を担う、微分方程式の数値的な解法や、初歩的なデータ解析の手法について講義する。
【到達目標】現代物理学において実験・理論と並び主要な方法となっている数値計算の基礎を学び、実際のプログラム作成を通じて応用する力を身につける。
【テーマ】プログラミング言語、数値積分、微分方程式の数値解法、データ処理といったテーマを扱う。
プログラミング言語、数値積分、微分方程式の数値解法、データ処理、数値シミュレーション
✔ 専門力 | 教養力 | コミュニケーション力 | ✔ 展開力(探究力又は設定力) | ✔ 展開力(実践力又は解決力) |
各講義の1/3程度は、概念や必要知識等、講義のポイントとなる部分の解説にあてる。残り2/3は実習にあてる。
授業計画 | 課題 | |
---|---|---|
第1回 | 計算環境の準備 | 自身の計算機あるいはTSUBAME上に計算環境を整える。 |
第2回 | Unix/Fortran入門 | Unixの基礎知識を習得する。簡単なFortranプログラムを作成し、基本的な動作を確認する。 |
第3回 | 差分法の導入:1次元拡散方程式 | 差分法によってどのように微分方程式を解くのか、その原理を理解する。 |
第4回 | 差分法と数値精度 I:1次元移流方程式 | 様々な差分スキームに対する計算の精度と安定性について理解する。 |
第5回 | 差分法と数値精度 II:1次元移流方程式 | 1次元移流方程式を数値的に解き、様々な差分スキームの精度と計算の安定性を分析する。 |
第6回 | 数値流体力学への招待 I:渦度方程式とカルマン渦列 | 数値流体力学(CFD)の基本知識を習得する。渦度方程式を理解する。 |
第7回 | 数値流体力学への招待 II:渦度方程式とカルマン渦列 | 2次元の渦度方程式を数値的に解き、カルマン渦列を生成する。 |
第8回 | 時間に依存しないシュレーディンガー方程式の数値解法 I:ヌメロフ法 | 水素原子の電子波動関数を記述するシュレーディンガー方程式とヌメロフ法を理解する。 |
第9回 | 時間に依存しないシュレーディンガー方程式の数値解法 II:ヌメロフ法 | ヌメロフ法を用いて動径方向のシュレーディンガー方程式を数値的に解き、水素原子の電子波動関数を求める。 |
第10回 | 時間に依存しないシュレーディンガー方程式の数値解法 III:行列対角化 | シュレーディンガー方程式の行列表示を理解する。 |
第11回 | 時間に依存しないシュレーディンガー方程式の数値解法 IV:行列対角化 | LAPACKを用いてハミルトニアン行列を数値的に対角化し、1次元のシュレーディンガー方程式に対する固有値と固有ベクトルを求める。 |
第12回 | 時間依存シュレーディンガー方程式の数値解法:テイラー展開法 | 時間依存シュレーディンガー方程式に対するテイラー展開法を理解する。 |
第13回 | 時間依存シュレーディンガー方程式の数値解法:テイラー展開法 | テイラー展開法を用いて1次元時間依存シュレーディンガー方程式を数値的に解き、ポテンシャルに散乱される波束の時間発展を求める。 |
第14回 | 量子流体力学への招待 I:時間依存グロス・ピタエフスキー方程式 | 超流動体の基本的な性質と量子渦の原理を理解する。 |
第15回 | 量子流体力学への招待 II:時間依存グロス・ピタエフスキー方程式 | 2次元時間依存グロス・ピタエフスキー方程式を数値的に解き、カルマン渦列を生成する。 |
学修効果を上げるため,教科書や配布資料等の該当箇所を参照し,「毎授業」授業内容に関する予習と復習(課題含む)をそれぞれ概ね100分を目安に行うこと。
担当教員が配布するもの。
特に指定しない。
月一回程度のレポートによる
履修の条件を設けない。
関澤一之
sekizawa at phys.titech.ac.jp
2463
メールで事前予約すること。