OpenMX Ver. 3.9はBoltzTraPとのインターフェースを提供します。 BoltzTraP [99]はKohn-Sham方程式のエネルギー固有値の波数依存性から、 ボルツマンの理論に基づき電子輸送係数を計算するプログラムです。 このインターフェース[100]を利用することで、 ゼーベック係数、電子伝導度、電子熱伝導度、ホール係数などの物理量の計算が可能になります。 この機能はコリニア計算のみならずノンコリニア計算にも対応しています。 本機能を用いて発表を行う際には、文献[100]を引用して頂けますと幸いです。 BoltzTraP2とのインターフェースは将来のリリースで公開予定です。
OpenMXとBoltzTraPを橋渡しするインターフェースを利用するには、 ディレクトリ「source」に収容されたMX_TRAP.shをディレクトリ「work」にコピーして下さい。 例として、非ドープ型シリコン固体の計算を紹介します。 ディレクトリ「work」中の入力ファイル「Si_BoltzTraP.dat」を用いて、SCF計算を以下のとおり実行します。
% mpirun -np 28 ./openmx Si_BoltzTraPSCF計算が正常に終了した後に、出力ファイル「Si_BoltzTraP.out」が得られます。 その後で、MX_TRAP.shを以下のように実行します。
% sh MX_TRAP.shすると、現在のディレクトリにあるoutファイルの名前が以下のように一覧で表示されます。
=========================Outputfile List========================== Si_BoltzTraP.out ================================================================== Please enter the outputfile name ; Outputfile name =「Outputfile name =」の後に、outファイルのファイル名を入力し、Enterキーを押して下さい。 計算例である「Si_BoltzTraP.out」を以下のように入力してください。
Please enter the output file name: Outputfile name = Si_BoltzTraP.outEnterキーを押すと、以下のメッセージが表示されます。
.. .... Nospin::kloop kx ky kz:1681/1686 Nospin::kloop kx ky kz:1682/1686 Nospin::kloop kx ky kz:1683/1686 Nospin::kloop kx ky kz:1684/1686 Nospin::kloop kx ky kz:1685/1686 Nospin::kloop kx ky kz:1686/1686 .energy file for BoltzTraP has been generated. .struct file for BoltzTraP has been generated. .intrans file for BoltzTraP has been generated. Conversion has been finished. Directory is Si_BoltzTraP
上記のメッセージが表示された後に、 「Si_BoltzTraP」と名付けられたディレクトリが生成されます。 以下のように四つのファイル 「Si_BoltzTraP.out」, 「Si_BoltzTraP.energy」, 「Si_BoltzTraP.intrans」, 「Si_BoltzTraP.struct」が ディレクトリ「Si_BoltzTraP」中に保存されます。
% cd Si_BoltzTraP % ls Si_BoltzTraP.out Si_BoltzTraP.energy Si_BoltzTraP.struct Si_BoltzTraP.intrans
「.out」ファイルは変換で得られた出力ファイルのコピーです。
「.energy」ファイルはエネルギー固有値のファイルです。
もし「.out」ファイルでのキーワード「scf.SpinPolarization」が「ON」ならば、
「.energyup」と「.energydn」の二つのファイルが出力されます。
他方、「.out」ファイルでのキーワード「scf. SpinPolarization」が「NC」ならば、
「.energyso」のファイルが出力されます。
「.struct」のファイルは単位格子ベクトルのファイルです。
単位は自動的に原子単位系に変換されます。
「.intrans」のファイルは電子輸送計算に必要な入力パラメタを記述します。
詳しくは、BoltzTraPパッケージに付属のPDFマニュアルを参照してください。
このファイルの第三行の第一項の数値の値はOpenMXで計算された化学ポテンシャル です(単位はRyd)。
第五行にある10の値はバンドのフーリエ補間の係数で、既定では10に設定されます。
第八行の数値の値はフェルミ分布の電子温度です。
第一項は最大温度です。
第二項は温度依存性を計算する際の温度間隔です。
もし温度依存性を計算したい場合には、第一項と同一の値を入力してください。
既定では、「.out」ファイルの「scf.ElectronicTemperature」で指定された温度が入力されています。
もし「scf.ElectronicTemperature」が指定された場合は、
が割り当てられます。
![]() |
次に、ディレクトリ「Si_BoltzTraP」に移動して、以下のとおりBoltzTraPとタイプしてください。 これ以降の手順は通常の BoltzTraP 計算と同一です。 それゆえ、詳細はBoltzTraP パッケージに付属のPDFマニュアルを参照してください。
% cd Si_BoltzTraP % 'path to BoltzTrap'/boltztrap-1.2.5/sr/x_trans BoltzTraP
エネルギー固有値を保存されたファイルが「.energyup」,「.energydn」,「.energyso」の際には x_trans BoltzTraPの後にそれぞれ「-up」,「'-dn」,「-so」をオプションとして付加して実行して下さい。 オプションで指定されたエネルギー固有値ファイルに対して電子輸送計算が実施されます。 計算が正常に完了すると、以下のメッセージが表示されます。
========================== BoltzTraP vs 1.2.5 ============= 99.786 u 0.076 s 1: 40.04 99.8\% 0 + 0 k 0 + 1612 0 io 0 pf + 0 w
,
,
軸上での電子輸送特性の平均値が「Si_BoltzTraP.trace」に記録されます。
他方、
,
,
軸の電子輸送特性は「Si_BoltzTraP.condtens」に記録されます。
図85にOpenMXとBoltzTraPによる電子輸送計算の計算手順を記載します。
図 86は非ドープ型シリコン固体の
ゼーベック係数
と電子伝導度
の化学ポテンシャル
依存性を示します。
計算に用いた入力ファイル「Si_BoltzTraP.dat」はディレクトリ「work」中に収容されています。
参考文献 [100]の補足資料には本機能を用いた大規模なベンチマーク計算の
結果が記載されています。このベンチマーク計算に含まれているGaCuS
固体の計算結果を
図 87に示します。この計算ではスピン軌道相互作用を考慮し、
ノンコリニア計算を実行しました。
本計算に用いた入力ファイル「GaCuS2_mp-5238_symmetrized_SOC.dat」はディレクトリ「work」中に
収容されています。
![]() |