学部・大学院区分
Undergraduate / Graduate
理・博前
時間割コード
Registration Code
2600021
科目区分
Course Category
データサイエンス科目群
Data Science Classes
科目名 【日本語】
Course Title
シミュレーション実習
科目名 【英語】
Course Title
Computer Simulation Tutorial
コースナンバリングコード
Course Numbering Code
担当教員 【日本語】
Instructor
川﨑 猛史 ○
担当教員 【英語】
Instructor
KAWASAKI Takeshi ○
単位数
Credits
1
開講期・開講時間帯
Term / Day / Period
春 月曜日 3時限
Spring Mon 3
授業形態
Course style
実験及び実習
学科・専攻
Department / Program
大学院理学研究科理学専攻
必修・選択
Required / Selected
選択


授業の目的 【日本語】
Goals of the Course(JPN)
本授業は、理学研究のあらゆる場面で必須となる計算機シミュレーションの実践的な知識および技能の修得を目的とする。目標達成の為に、C(C++)やPythonを用いた解析や作図に関する初歩的なプログラミングから、モンテカルロ法や分子動力学法に至る実践的な数値計算手法に関する、理学研究への幅広い応用を意識した講義および実習を行う。
授業の目的 【英語】
Goals of the Course
This course provides students with practical knowledge and skills in computer simulations, which are essential in all aspects of scientific research. The course includes lectures and training on practical numerical methods ranging from elementary programming using C (C++), Python, and others to a wide range of applications in scientific research, including Monte-Carlo simulations and molecular dynamics simulations.
到達目標 【日本語】
Objectives of the Course(JPN))
C(C++)やPythonなどを用いた初歩的な解析や作図に関するプログラミングから、理学研究で幅広く用いられるモンテカルロ法や分子動力学法に至る実践的な数値計算手法を身につけることを目標とする。
到達目標 【英語】
Objectives of the Course
Learn practical numerical methods, from elementary programming in C (C++) and Python to Monte Carlo and molecular dynamics simulations which are widely used in scientific research.
授業の内容や構成
Course Content / Plan
講義は全8回で構成され,以下の内容を扱う予定である。
1.導入
・数値計算の理念
・丸め誤差
・C(C++)やPythonを用いたデータ解析と作図

2.常微分方程式の数値解法:調和振動子を例に
・微分方程式の数値積分
・微分方程式の離散化:陽的・半陰的オイラー法
・微分方程式の無次元化
・解軌道の安定性:シンプレクティック性

3.1粒子ブラウン運動のモデル化(熱浴下での粒子運動)
・ランジュバン方程式(確率微分方程式)
・正規乱数の生成法(Box-Muller法とMarsaglia算法)
・オイラー・丸山法
・ブラウン運動する粒子の軌跡の図示
・拡散係数の計算
・グリーン・久保公式の確認

4.多粒子系のブラウン動力学シミュレーション(熱浴下での粒子運動)
・相互作用力の計算方法
・非平衡系のシミュレーション:相分離現象を例に

5.多粒子系の分子動力学シミュレーション
・速度ベルレ法
・多粒子系における保存則(運動量・エネルギー・角運動量)

6.モンテカルロ法
・統計力学の復習
・マルコフ連鎖モンテカルロ法
・メトロポリス判定法

7.相互作用計算の高速化
・ベルレの帳簿法
・自動帳簿更新法
・(余裕があれば)領域分割法

8.総括

The course consists of 8 lectures and covers the following topics
1. introduction
-- Principles of numerical simulations.
-- Rounding errors.
-- Data analysis and plotting using C(C++) and Python.

2. Numerical solution of ordinary differential equations: harmonic oscillator example.
-- Numerical integration of differential equations.
-- Discretisation of differential equations: Explicit and semi-implicit Euler methods.
-- Non-dimensionalisation of differential equations.
-- Stability of solution paths: symplecticity.

3. Modelling the Brownian motion of a particle (particle motion in a heat bath).
-- The Langevin equation (stochastic differential equation).
-- The algorithm for generating normal random numbers (the Box-Muller method and the Marsaglia polar method).
-- The Euler-Maruyama method for discretising the equations.
-- Drawing the trajectories of a particle in Brownian motion.
-- Calculate the diffusion coefficient.
-- Testing the Green-Kubo formula.

4. Brownian dynamics simulation of many particle systems (particle motion in a heat bath).
-- Implementation of interaction forces.
-- Simulate non-equilibrium systems (phase separation as an example).

5. Molecular dynamics simulation of many particle systems
-- The velocity Verlet algorithm.
-- Testing conservation laws for momentum and energy.

6. Monte Carlo simulations
-- A review of statistical mechanics.
-- Markov chain Monte Carlo simulations.
-- Metropolis algorithm for equilibration.

7. Speed-up of interaction calculations.
-- Verlet list algorithm.
-- Automatic list updating algorithm.
-- Cell list algorithm.

8. summary
履修条件
Course Prerequisites
物理学の知識があることが望まれるが,基本的に前提知識や技能は問わない。講義は原則日本語で行う.

A background in physics is preferred, but no prior knowledge or skills are required.
This course will be given basically in Japanese.
関連する科目
Related Courses
非平衡の科学
成績評価の方法と基準
Course Evaluation Method and Criteria
数値計算に関する中間・期末課題を出題する。また,各回ミニレポート課題を実施する。
原則課題の得点が6割以上を合格とする。
教科書・テキスト
Textbook
詳細な講義を配布します。
参考書
Reference Book
コンピュータ・シミュレーションの基礎
岡崎進・吉井範行著(化学同人)
ISBN: 9784759814750
課外学習等(授業時間外学習の指示)
Study Load(Self-directed Learning Outside Course Hours)
授業中の実習時間には限度があるので,毎回簡単な課題を出題する.各回の講義の冒頭で答え合わせをする。
注意事項
Notice for Students
講義の際,実習を行うので,各自PCを持参すること.OSは問わない。
他学科聴講の可否
Propriety of Other department student's attendance
他学科聴講の条件
Conditions of Other department student's attendance
該当なし。
レベル
Level
大学院レベル(物理学)
キーワード
Keyword
数値計算,分子動力学法,モンテカルロ法
履修の際のアドバイス
Advice
特になし。
授業開講形態等
Lecture format, etc.
基本対面講義とするが,毎回オンデマンド教材(講義資料+講義動画)を配布する。
遠隔授業(オンデマンド型)で行う場合の追加措置
Additional measures for remote class (on-demand class)
NUCTから詳細を知らせる。