tictac-calc
は、kinetic Monte Carlo (KMC) による計算を行うためのソフトウェアです。
python tictac-calc
# or
# uv run tictac-calc
- 多成分ガス供給($T$,
$p$ ,${y_i}$ 指定)下で、 吸着・脱離・表面反応を同時に扱う kinetic Monte Carlo (KMC) を、 半グランド等圧$(NpT\Delta\mu)$ +表面グランドカノニカルの組み合わせで実装する。 - 反応率は TST(Eyring–Polanyi) ベース、吸着は Hertz–Knudsenフラックス×付着率で与える。
- 第一原理(DFT)由来の障壁・前因子・分配関数比を外部テーブルから注入。 DFTの更新がそのまま率へ反映される構造を目指す。
- 単層吸着の格子モデル(site typesあり)。
- 多成分
$A,B,C,...$ の気相と表面種($*A,*B,*C, \mathrm{vac}$)。 - 反応:吸着/脱離/表面素過程(2体・3体)
- 近接相互作用:最近接のクラスター項(Ising/CEの最小版)
- 出力:被覆率時間発展、素過程別フラックス、生成速度、イベントログ、スナップショット
- 入力条件:
温度
$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$ は遷移状態(不安定モード除外)
- ガス相は装置条件
$(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]$ で詳細釣り合いが保証。