キネティックモンテカルロ(KMC)法入門
参考ドキュメント
- 泉 聡志, 「Kinetic Monte Carlo法の基礎」 東京大学 工学系研究科 機械工学専攻 講義資料
https://www.fml.t.u-tokyo.ac.jp/~izumi/CMS/MC/Intro_kMC.pdf - 泉 聡志, 「Kinetic Monte Carlo シミュレータの基礎」 講義ノート
https://www.fml.t.u-tokyo.ac.jp/~izumi/CMS/MC/MCMS_Lecture_note_kmc.pdf - キネティックモンテカルロ:粒子の動きを研究する新しい方法 https://scisimple.com/ja/articles/2025-07-23-kineteitsukumontekaruroli-zi-nodong-kiwoyan-jiu-suruxin-shiifang-fa--a37werj
- Lindsay et al., Kinetic Monte Carlo methods for three-dimensional diffusive capture problems in exterior domains https://arxiv.org/pdf/2406.13644
1. kinetic MC 法とは何か
- kinetic Monte Carlo(kMC, キネティックモンテカルロ)法は、
- 「個々の事象(イベント)に対して発生確率(速度)を与え、
- その事象の発生を乱数で逐次サンプリングしながら
- 系の時間発展を追跡する」モンテカルロ法である。
- 通常の平衡 MC(Metropolis 法など)が
- 「平衡分布のサンプリング」が主目的であるのに対して、
- kMC は
- 拡散・反応・吸着・スイッチングなどの離散的な過程の時間スケールを扱うことが主目的となる。
2. 通常の MC / MD との違い
2.1 分子動力学(MD)との比較
- MD:
- ニュートンの運動方程式を数値積分し、原子の位置・速度を連続的に追う。
- fs〜ps オーダーの時間ステップが必要で、長時間スケールを追うには計算量が膨大。
- kMC:
- 「原子がジャンプする」「欠陥が移動する」「スピンが反転する」など、 現象を離散イベントとして扱い、
- イベント間の時間間隔を確率的にサンプリングすることで、 ns〜秒、さらにはそれ以上の長時間スケールを効率的に追える。
2.2 平衡 MC(Metropolis 法など)との比較
- 平衡 MC:
- エネルギー差に基づく受理・棄却で、ボルツマン分布をサンプリング。
- 「何ステップで何秒相当か」という実時間との対応は原則あいまい。
- kMC:
- 各イベントに物理的な速度定数 $ R_i $ を与え、
- その合計から「次のイベントまでの時間
」を計算することで、 - 実時間スケールに対応づけたシミュレーションが可能になる。
3. 基本アルゴリズム(正攻法)
典型的な格子拡散型 kMC のアルゴリズムは以下のとおりである。
- 初期配置を作成
- 格子点上に原子・空孔・不純物などを配置する。
- 現在取りうる「事象(イベント)」をすべてリストアップ
- 例:
- 原子の最近接サイトへの拡散ジャンプ
- クラスタの分解
- 粒子の生成・消滅(インプラント、トラップ、反応)など。
- 例:
- 各イベント
に対し、「速度(レート)」 を与える - 典型的には Arrhenius 型:
:試行頻度(attempt frequency) :活性化エネルギー
- 典型的には Arrhenius 型:
- 全イベントの総レート
を計算する。 - 一様乱数
を発生させる。 - イベントの選択
- 累積和
が を初めて超えるイベント を選ぶ
(「ルーレット選択」)。
- 累積和
- 時間の更新
- 次のイベントまでの時間間隔を
でサンプリングし、シミュレーション時間 を進める。
- 次のイベントまでの時間間隔を
- 選ばれたイベント
を実行(原子をジャンプさせる、欠陥を生成・消滅させる等)。 - 状態が変化したため、影響を受けるイベントのレート
を更新。 - に戻り、観測したい時間まで繰り返す。
この流れにより、「どのイベントがどの順番で起こるか」「その間隔はどれくらいか」を確率的に決めながら、系の時間発展を追跡する。
4. 代表的な応用例
4.1 格子欠陥の拡散とクラスタリング
- 金属・半導体中の
- 空孔(vacancy)
- 自己格子間原子(self-interstitial)
- 合金元素
などの移動・反応を、格子上のジャンプとしてモデル化。
- kMC によって、
- 欠陥の移動・トラップ・再結合・クラスタリング、
- 析出物の成長、ループ形成
等を ns〜s スケールで追うことができる。
- 原子炉圧力容器鋼の照射損傷解析などでは、
- 欠陥と転位・転位ループとの相互作用を含んだ kMC により、
- 長時間照射下での微細構造進化をモデル化する事例が報告されている。
4.2 表面拡散と薄膜成長
- 結晶成長・エピタキシャル成長・CVD などの表面プロセスでは、
- 表面上での原子の拡散、
- ステップへの取り込み、
- クラスタ形成・分解
をイベントとして扱い、島成長やモーフォロジーの時間発展を kMC で解析できる。
- 格子ガスモデルと組み合わせることで、
- 2D 表面の粗さ、
- 成長フロントのフラクタル性、
- 成長条件(フラックス・温度)依存性
などを評価可能になる。
4.3 バイオフィルムや粒子集積の時間発展
- バイオフィルムや汚染層の成長を、
- 「粒子の生成・付着・成長・剥離」といったイベントとしてモデル化し、
- 流体計算から得たせん断応力などと組み合わせて kMC で時間発展を追う応用もある。
- このように、連続体スケールで扱いたい現象を、
- 「粒子の離散イベント集合」に落として時間発展を記述するのが kMC の典型的な考え方である。
4.4 磁化反転・スイッチング現象への応用
- 垂直磁気記録媒体の結晶粒の熱活性化反転では、
- 各粒子の「磁化反転率」を Arrhenius 型レートとして定義し、
- kMC によって粒ごとの反転イベントと反転時間をサンプリングする手法が用いられる。
- ここでは、
- 有限温度の LLG シミュレーションなどから得たエネルギー障壁や有効レートを入力として、
- 長い時間スケールでの磁気記録ビットの安定性を評価する。
5. kinetic MC モデル構築のポイント
5.1 イベントとレートの定義
- kMC の核心は、
- 「どのようなイベントを定義し、そのレート
をどう与えるか」である。
- 「どのようなイベントを定義し、そのレート
- レートの決め方の例:
- ab initio / MD から得られたエネルギー障壁
を用いる。 - 実験から得られた拡散係数
などから逆算する: - 経験式・半経験的モデルから推定する。
- ab initio / MD から得られたエネルギー障壁
5.2 有効モデル vs 詳細モデル
- 詳細にしすぎるとイベント数が膨大になり、計算が重くなる。
- 少なすぎると重要な物理過程を見落とす。
- したがって、
- 対象とする時間・長さスケール、
- 知りたい物理量(拡散係数・析出速度・寿命など)
に応じて、レベル・オブ・ディテールの設計が重要となる。
5.3 マルチスケール連成
- 典型的な流れ:
- DFT / MD → エネルギー障壁・試行頻度の評価 → それをレートとして kMC に渡す → 得られた微細構造を FEM / 連続体モデルに渡す
というマルチスケール連成がよく行われる。
- DFT / MD → エネルギー障壁・試行頻度の評価 → それをレートとして kMC に渡す → 得られた微細構造を FEM / 連続体モデルに渡す
6. まとめ
- kinetic MC 法は、
- 「イベント+レート」の記述に基づいて
- 系の時間発展を確率論的に追う手法であり、
- 分子動力学が苦手とする
- 長時間スケール(ns〜s 以上)の希な現象
- 欠陥の蓄積・析出・成長
を扱うのに適している。
- 材料研究では、
- 格子欠陥拡散・照射損傷・析出・薄膜成長・磁化反転など、
- 「離散イベント+エネルギー障壁」で記述できる現象に幅広く用いられている。
- 実際に適用する際は、
- イベント集合の設計、
- レートの物理的根拠、
- 他スケールとの連成
を明示的に整理したうえでモデル構築することが重要である。