
原子間ポテンシャルについて
原子間ポテンシャルの探し方、作り方
まず、ダウンロードしたLAMMPSのpotentialsディレクトリやInteratomic Potentials Repository(IPR)やOpenKIM"でLAMMPSでそのまま使えるポテンシャルファイルがあるかどうかをチェックする。ない場合は、論文等でポテンシャルがすでに作成されてあるかをチェックして、存在していればLAMMPSで読めるフォーマットのデータファイルを自分で作成する。データファイルのフォーマットはポテンシャルのタイプに依存しているので、詳細はLAMMPSのマニュアルを参照しなくてはならない。
材料研究で良く使われる原子間ポテンシャル
- Bond-orderポテンシャル(BOP)
$\sigma$および$\pi$結合による量子力学に基づいたポテンシャル。Al、Cu、Ga、Zn等の純金属や合金のポテンシャルが利用可能。potentialsディレクトリやIPRでbopの拡張子がついているものがBOPのフォーマットのデータファイルである。BOPの枠組みのポテンシャル計算は現在のところGPUで加速できない。
- Embedded Atom Method(EAM)ポテンシャル
EAMポテンシャルは金属材料研究でもっとも使用頻度が高いポテンシャルである。このコースでもこのタイプのポテンシャルを使った。全エネルギーは以下の式から計算される。
$E_i = F_\alpha \left(\sum_{j \neq i}\ \rho_\beta (r_{ij})\right) +
\frac{1}{2} \sum_{j \neq i} \phi_{\alpha\beta} (r_{ij})$
最初の項は埋め込みエネルギーの項で電子密度$\rho$の関数で、第2項は2体原子間ポテンシャルである。合金の場合には混合に関する情報を扱えるeam/alloyフォーマットを利用する。また、Finnis-Sinclair型のポテンシャルはeamタイプの1つで全エネルギーを以下の式で計算する。
$E_i = F_\alpha \left(\sum_{j \neq i}\
\rho_{\alpha\beta} (r_{ij})\right) +
\frac{1}{2} \sum_{j \neq i} \phi_{\alpha\beta} (r_{ij})$
上の式と違うところは、$\rho$が2つの元素$\alpha$と$\beta$に依存しているところで、異なった元素の影響をモデルに反映できるようになっている。
また、Concentration-dependent EAMモデル(pair_style eam/cdコマンドで選択)はeam/alloyの拡張版で、合金元素の局所濃度によってモデルを変化させ、より正確なポテンシャルになるように改良されたものである。
EAM族でGPUで利用可能なのはeam、eam/alloy、eam/fsの3つのポテンシャルタイプ。eam/cdにはFe-Cr系でよく使われるポテンシャルがあるが、これは現在のところGPUで加速できない。
- Angular Dependentポテンシャル(ADP)
上記のEAMの式に局所的な原子環境の歪みを考慮する項を加えたポテンシャルタイプ。MishinらのAl-Cuポテンシャル等が利用可能。ADPは現在のところGPUで加速できない。
機械学習ポテンシャル(Machine Learning Potential: MLP)
人工知能を用いて非常に正確なポテンシャルを作ることができる枠組みで、現在最も注目を集めている原子間ポテンシャル作成方法である。
- aenet: Behlar-Parrinello法に基づいたArtificial Neural Network(ANN)による作成ツール
これを用いて作られたポテンシャルには、Mori&OzakiによるBCC鉄やArtrithによるTiO2などがある。MoriのライブラリをLAMMPSに追加すればaenetで作成されたポテンシャルを使用できる。まだGPUでの実行はできない。eam/fsと比較し約500倍の計算時間。
- n2p2:Artificial Neural Network(ANN)による作成ツール
Behlar-Parrinello法のツール。LAMMPSでの実行環境が公開されているが詳細は未調査。
- Gaussian Approximation Potential (GAP)
3次元の原子の近傍密度のバイスペクトル(自己相関関数をフーリエ変換したもの)と機械学習の一つであるガウス過程回帰を応用したポテンシャル作成法。調整パラメータが多いのでツールに慣れるのが大変とされている。すでにDoragoniらによるBCC鉄やByggmaestarらによるWのポテンシャルが作られている。QUIPパッケージによりLAMMPSで実行が可能。詳細は未調査。
- Spectral Neighbor Analysis Potential(SNAP)
上記GAPではガウス過程回帰を用いた機械学習法を使うが、SNAPでは線形回帰を用いる。これによりGAPより堅牢で計算コストが低いポテンシャル作成法を目指している。LAMMPSの供給元サンディア国立研究所で作成ツールが開発され、LAMMPSとの相性は良い。すでにTa、W、W-Beポテンシャル等が開発された。
照射損傷MDのためのポテンシャル
このMDには通常Ziegler-Biersack-Littmark (ZBL)モデルが使用される。照射損傷をモデル化するの講座でこのモデルが使われた。この時は、eam/fsポテンシャルと繋ぐことによって作成したデータファイルを使用した。
$\begin{split}E^{ZBL}_{ij} & = \frac{1}{4\pi\epsilon_0} \frac{Z_i Z_j \,e^2}{r_{ij}} \phi(r_{ij}/a)+ S(r_{ij})\\
a & = \frac{0.46850}{Z_{i}^{0.23} + Z_{j}^{0.23}}\\
\phi(x) & = 0.18175e^{-3.19980x} + 0.50986e^{-0.94229x} + 0.28022e^{-0.40290x} + 0.02817e^{-0.20162x}\\\end{split}$
通常は、短距離相互作用をZBL、長距離相互作用をeam/fsで計算する方法が取られる。これを実現するには間の中距離部分を2つのポテンシャルがなめらかにつながるようにしておけば良い。具体的には、pair_style eam/fsコマンドでeam/fsの枠組みを使い、2体ポテンシャルの短距離部分をZBLから計算したもの、中距離部分を以下の適切な接続ポテンシャルから計算された値で上書きする。
$\phi_{join}(r) = exp(B_{0}+B_{1}r+B_{2}r^{2}+B_{3}r^{3})$
ただし、$B_{i}$(i=0...3)はzbl部分とeam/fs部分がなめらかに接続するように決定する。
より簡単な方法は、LAMMPSの中ですでに定義されているpair_style zblコマンドを使うことである。LAMMPSのマニュアルによれば、GPUでの加速計算も可能なバージョンもある。
目次へ 前はGPUを利用する