物理シミュレーション

科目基礎情報

学校 熊本高等専門学校 開講年度 令和02年度 (2020年度)
授業科目 物理シミュレーション
科目番号 AE1113 科目区分 専門 / 選択
授業形態 授業 単位の種別と単位数 学修単位: 2
開設学科 電子情報システム工学専攻 対象学年 専1
開設期 前期 週時間数 2
教科書/教材 W.H.Press他著「Numerical Recipes in C」(2nd Edition)
担当教員 藤本 信一郎

到達目標

1.数値計算法のアルゴリズムを理解し,説明することができる.2.数値計算における誤差を理解し,説明することができる.3.物理学と関連した具体的な課題を数値計算できる.

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
効率的なプログラム開発を理解、説明できる。最適化手法やデバッガの使い方を理解し、効率的なプログラム開発を実践できる。最適化手法やデバッガの使い方を説明できる。最適化手法やデバッガの使い方を説明できない。
代数方程式の数値解法を理解し、説明できる。代数方程式の数値解法を収束性の観点から説明でき、プログラム言語を用いて、数値解法を実装できる。代数方程式の数値解法を収束性の観点から説明できる。代数方程式の数値解法を収束性の観点から説明できない。
数値積分法を理解し、説明できる。数値積分アルゴリズムを数値誤差、演算速度の観点から説明でき、プログラム言語を用いて、数値積分アルゴリズムを実装できる。数値積分アルゴリズムを数値誤差、演算速度の観点から説明できる。数値積分アルゴリズムを数値誤差、演算速度の観点から説明できない。
数値微分法を理解し、説明できる。数値微分アルゴリズムを数値誤差、演算速度の観点から説明でき、プログラム言語を用いて、数値微分アルゴリズムを実装できる。数値微分アルゴリズムを数値誤差、演算速度の観点から説明できる。数値微分アルゴリズムを数値誤差、演算速度の観点から説明できない。

学科の到達目標項目との関係

教育方法等

概要:
近年計算機性能の向上に伴い,コンピュータ・シミュレーションの重要性が増してきている.本講義では,シミュレーションに必要な様々な数値計算方法を学習する.数値計算を簡単化する様々なツールが開発されているが本講義ではその基礎となるC言語を用いた数値計算プログラミングを行う.物理学への応用の一例として、量子力学を取り上げ、シュレディンガー方程式を数値的に解く.
授業の進め方・方法:
代数方程式の解法、数値積分法などいくつかの数値計算法に関して、個々の手法に対して複数のアルゴリズムを取り上げ、アルゴリズムの基礎だけでなく個々のアルゴリズムの計算精度・計算時間および利点・欠点を説明する.
なお教科書は平易な英語で書かれている.該当範囲のPDFファイルを事前に印刷し予習しておくことが望ましい.
注意点:
本講義ではC言語の文法などについては解説しない.各自本科で行った内容を復習しておくこと.
また教科書で紹介されたプログラムの使用言語はC言語であるが、演習課題に関しては特に言語を制限しない.
参考書として下記を紹介する。
1、W.H.Press他著「ニューメリカルレシピ・イン・シー日本語版―C言語による数値計算のレシピ」技術評論社(原著第1版の日本語訳) 戸川隼人他著
2、「よくわかる数値計算―アルゴリズムと誤差解析の実際」日刊工業新聞社,高橋大輔著「数値計算」岩波書店
なお本科目は,2単位の学修科目である.規定授業時間は30時間であり,1単位あたり30時間程度の自学学習が求められる.

授業計画

授業内容 週ごとの到達目標
前期
1stQ
1週 ガイダンス
Guidance
本講義の目的,概要,評価方法を理解する.
2週 C言語による効率的なプログラミング
Effective Programing in C
コンパイラオプションによるcodeの最適化,gdbによるデバッグの基礎,ライブラリを理解し,説明することができる.
3週 数の取扱い,誤差論
Floating Points and Errors
浮動小数点数の表現,丸め誤差、桁落ち、情報落ちを理解し,説明することができる.
4週 非線型代数方程式の数値解法
Root Finding of Nonlinear Sets of Equations
Newton-Raphson法,二分法などを理解し,説明することができる.
5週 非線型代数方程式の数値解法
Root Finding of Nonlinear Sets of Equations
Newton-Raphson法,二分法などを理解し,説明することができる.
6週 数値積分法
Numerical Integration of Functions
台形公式,Simpsonの公式など数値積分アルゴリズムを理解し,説明することができる.
7週 数値積分法
Numerical Integration of Functions
台形公式,Simpsonの公式など数値積分アルゴリズムを理解し,説明することができる.
8週 常微分方程式の数値解法
Numerical Integration of Ordinary
Differential Equations
微分と差分、常微分方程式の数値解法であるEuler法、Ruge-Kutta法を理解し,説明することができる.
2ndQ
9週 常微分方程式の数値解法
Numerical Integration of Ordinary
Differential Equations
微分と差分、常微分方程式の数値解法であるEuler法、Ruge-Kutta法を理解し,説明することができる.
10週 常微分方程式の数値解法
Numerical Integration of Ordinary
Differential Equations
微分と差分、常微分方程式の数値解法であるEuler法、Ruge-Kutta法を理解し,説明することができる.
11週 量子力学概説
Introduction to Quantum Mechanics
シュレディンガー方程式およびそれから帰結される量子力学の物理的意味付け(量子・確率解釈など)を理解し,説明することができる.
12週 シュレディンガー方程式の解析解法
Analytical Solution to a Schrödinger Equation
シュレディンガー方程式を解析的に解くことができる例である井戸型ポテンシャルの場合の解法を理解し,説明することができる.
13週 シュレディンガー方程式の数値解法
Numerical Solution to a Schrödinger Equation
10週までで学習した数値アルゴリズムを活用した数値解法 (Runge-Kutta法、Numerov法、固有値問題の行列解法) による井戸型ポテンシャルに対するシュレディンガー方程式の数値解析を理解し説明することができる.
14週 シュレディンガー方程式の数値解法
Numerical Solution to a Schrödinger Equation
10週までで学習した数値アルゴリズムを活用した数値解法 (Runge-Kutta法、Numerov法、固有値問題の行列解法) による井戸型ポテンシャルに対するシュレディンガー方程式の数値解析を理解し説明することができる.
15週 シュレディンガー方程式の数値解法
Numerical Solution to a Schrödinger Equation
10週までで学習した数値アルゴリズムを活用した数値解法 (Runge-Kutta法、Numerov法、固有値問題の行列解法) による井戸型ポテンシャルに対するシュレディンガー方程式の数値解析を理解し説明することができる.
16週 答案返却
答案を返却する

モデルコアカリキュラムの学習内容と到達目標

分類分野学習内容学習内容の到達目標到達レベル授業週

評価割合

試験レポート合計
総合評価割合60400000100
基礎的能力4010000050
専門的能力2030000050
分野横断的能力0000000