Skip to content

Shimataka/kmc_calculator_python

Repository files navigation

tictac-calc

About

tictac-calc は、kinetic Monte Carlo (KMC) による計算を行うためのソフトウェアです。

Usage

python tictac-calc
# or
# uv run tictac-calc

Purpose

  • 多成分ガス供給($T$, $p$, ${y_i}$指定)下で、 吸着・脱離・表面反応を同時に扱う kinetic Monte Carlo (KMC) を、 半グランド等圧 $(NpT\Delta\mu)$ +表面グランドカノニカルの組み合わせで実装する。
  • 反応率は TST(Eyring–Polanyi) ベース、吸着は Hertz–Knudsenフラックス×付着率で与える。
  • 第一原理(DFT)由来の障壁・前因子・分配関数比を外部テーブルから注入。 DFTの更新がそのまま率へ反映される構造を目指す。

Scope

  • 単層吸着の格子モデル(site typesあり)。
  • 多成分 $A,B,C,...$ の気相と表面種($*A,*B,*C, \mathrm{vac}$)。
  • 反応:吸着/脱離/表面素過程(2体・3体)
  • 近接相互作用:最近接のクラスター項(Ising/CEの最小版)
  • 出力:被覆率時間発展、素過程別フラックス、生成速度、イベントログ、スナップショット

Symbols

  • 入力条件: 温度 $T$、 全圧 $p$、 気相モル分率 ${y_i}$、 基板面積 $A$(固定)、 サイト密度 $\sigma_s$
  • 分圧: $p_i = y_i p$
  • フガシティ: $f_i = \varphi_i(T,p,y) \cdot p_i$(理想なら $\varphi_i=1$
  • 化学ポテンシャル: $\mu_i(T,p,y)$ $= \mu_i^\circ(T,p^\circ) + k_B T \ln(f_i/p^\circ)$
  • 表面ハミルトニアン: $H_{\mathrm{surf}}(\text{配置}; \text{近接相互作用}J,...)$
  • 分配関数: $q$ は分子内部、$q^\ddagger$ は遷移状態(不安定モード除外)

Mathematical Points (Ensemble)

  • ガス相は装置条件 $(T,p,{y_i}) \rightarrow {\mu_i}$ を与える巨大リザーバ。
  • 表面は面積一定の格子グランド: $\Xi_{\mathrm{surf}}(T,{\mu_i})$ $= \sum_{\text{配置}} \exp[-\beta(H_{\mathrm{surf}} - \sum_i \mu_i N_i)]$
  • kMC率は以下で与える:
  • 吸着: $w_{\mathrm{ads}}^{(i)}$ $= s_i(\theta,\text{局所}) \cdot [p_i / \sqrt{2\pi m_i k_B T}] / \sigma_s$
  • 脱離: $w_{\mathrm{des}}^{(i)}$ $= (k_B T/h) \cdot (q_i^\ddag/q_i^{\mathrm{ads}}) \cdot$ $\exp(-E_a^{\mathrm{des}}/k_B T)$
  • 表面反応: $w_r$ $= (k_B T/h) \cdot (Q^\ddag/\prod Q_{\mathrm{react}})$ $\cdot \exp(-\Delta E^\ddag/k_B T)$
  • 平衡境界に置けば $w_{\mathrm{ads}}/w_{\mathrm{des}}$ $\rightarrow \exp[-(\Delta G_{\mathrm{ads}}-\mu_i)/k_B T]$ で詳細釣り合いが保証。

About

kinetic Monte Carlo法によるシミュレーションを行うツール

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages