物性研スパコンohtakaを用いたSiの誘電関数計算
Last Update:2025/10/03
1. はじめに
SALMONは、物質に電磁場が入射された際の電子ダイナミクスを非線形応答まで考慮して計算できるアプリです。ここでは、物性研スパコンのohtakaにプリインストールされているSALMON-v.2.2.0を使用し、Si結晶の誘電関数を線形応答によって計算するチュートリアル( https://salmon-tddft.jp/webmanual/v_2_2_2/html/exercises.html#crystalline-silicon-periodic-solids )を実行してみます。(MateriAppsに掲載されている他レビュー記事も参考になります。)
2. 実行方法
まずテストディレクトリを作成し、すでに用意されている「samples」ディレクトリをテストディレクトリにコピーします。その後、テストディレクトリに移動します。このテストディレクトリに、すでに用意されているSALMONのサンプルディレクトリをコピーします。
mkdir test
cd test
cp -r /home/issp/materiapps/oneapi_compiler_classic-2023.0.0--openmpi-4.1.5/salmon/salmon-2.2.0-0/samples .
コピー後にディレクトリ内を見ると、samplesという名前のディレクトリがあり、この中にいくつかのエクササイズが用意されています。今回行うSiの誘電関数の計算は、Exercise-05に対応していますが、この計算を行うためには、Exercise-04を実行してSi結晶の基底状態の計算結果が必要となります。samplesディレクトリ内の「exercise_04_bulkSi_gs」に移動し、計算を実行します。今回計算に使用したjob scriptの例をここで示します。job script作成の際には、/home/issp/materiapps/oneapi_compiler_classic-2023.0.0–openmpi-4.1.5/
salmon/sample_jobscriptの下のsalmon.shが参考になりました。
#!/bin/sh
#SBATCH -p i8cpu
#SBATCH -N 1
#SBATCH -n 4
#SBATCH -c 32
#SBATCH -t 00:10:00
set -e
source /home/issp/materiapps/oneapi_compiler_classic-2023.0.0--openmpi-4.1.5/salmon/salmonvars.sh
module list
srun salmon < Si_gs.inp > Si_gs.out
この計算は、数十秒で終了します。出力は以下の通り。
Si_gs.out Si_eigen.data Si_k.data variables.log PS_Si_KY_n.dat Si_info.data data_for_restart
この中の「data_for_restart」というディレクトリには、基底状態の実時間計算に使用した擬ポテンシャルのファイルが含まれており、これがExercise-05の計算に必要です。このディレクトリをsamplesディレクトリ内の「exercise_05_bulkSi_lr」ディレクトリにコピーします。この時、コピーするディレクトリの名前を「restart」に変更しないと正常に計算を実行してくれないので注意が必要です。
cp -R exercise_04_bulkSi_gs/data_for_restart exercise_05_bulkSi_lr/restart/
これで全ての準備が整いました。あとは、exercise_05_bulkSi_lrディレクトリに移動し計算を実行します。計算で使用したjob scriptの例を以下に示します。
#!/bin/sh
#SBATCH -p i8cpu
#SBATCH -N 1
#SBATCH -n 4
#SBATCH -c 32
#SBATCH -t 00:10:00
set -e
source /home/issp/materiapps/oneapi_compiler_classic-2023.0.0--openmpi-4.1.5/salmon/salmonvars.sh
module list
srun salmon < Si_rt_response.inp > Si_rt_response.out
こちらの計算も数十秒で終了します。
3. 実行結果
以下に計算結果をgnuplotを用いて可視化した画像を示します。
出力されるSi_response.dataの13行目がz方向の誘電関数の虚部の計算結果となっています。

1 [eV]より小さいデータは不正確なのでここでは表示していません。Siの直接バンドギャップエネルギー2.4 [eV]よりも大きい領域で、誘電関数の虚部が有限の値を持つようになることがわかる。
4. 終わりに
今回は、SALMONを用いた具体的な物理量の計算例を紹介しました。SALMONにはこの他にも、マルチスケール計算、第一原理MD、FDTD等、多くの機能を備わっております。samplesディレクトリにそれらのインプットファイルがございますので、ご興味があればお試しください。また、https://salmon-tddft.jp/documents.html に各バージョンのマニュアルや過去の講習会資料がまとめられていますので、ぜひご参照ください。
