MateriApps
物質科学シミュレーションのポータルサイト

現在アプリ掲載数328件

お問合せ / アプリ掲載依頼
    • JP
    • EN
  • MateriApps について
  • レビュー募集
もっと詳しく探す
  • NEWS / 講習会・イベント
  • アプリ一覧
  • アプリ詳細検索
  • キーワード解説
  • レビュー
  • 事例
  • アプリコンシェルジュ
  • インストールしないでアプリを
    試せる「MateriApps LIVE!」

    詳細はこちら
  • MateriApps について
  • レビュー募集
  • プライバシーポリシー
  • お問合せ / アプリ掲載依頼
  • アプリ一覧
  • Phonopy

Phonopy

  • 公開度:3 ★★★
  • ドキュメント充実度:3 ★★★

第一原理計算ソフトウェアの計算結果から固体のフォノンに関連する物理量を計算するソフトウェア。VASPやWien2kといった第一原理計算ソフトウェアの計算結果を入力とし、フォノン分散、状態密度、比熱、グリュナイゼン定数などを計算することができる。

PhonopyとQuantum ESPRESSOを用いたNaClのフォノン計算
Last Update:2024/10/04
あなたはすでに投票済みです!

MateriApps開発チーム

1.はじめに

Phonopyは第一原理計算ソフトと組み合わせてフォノンの性質を抽出するポストプロセスプログラムです。VASPやWIEN2k, Quantum ESPRESSOなどの第一原理計算ソフトに対応しています。ここではDocker版のMateriApps LIVE!を利用して、PhonopyとQuantum ESPRESSOを組み合わせたNaClのフォノンの計算例を紹介します。Docker版のMateriApps LIVE!のインストール方法および使い方はここを参照してください。

2.下準備

まずDockerにログインし、phonopyをインストールします。

pip3 install phonopy

ローカルにインストールされるので、パスを通しておきます。

export PATH=$PATH:$HOME/.local/bin/

サンプルの入力ファイルを使うために、ソースコードもとってきておきます。(コンパイルの必要はありません。)

git clone https://github.com/phonopy/phonopy.git

作業用のディレクトリを作成し、入っておきます。

mkdir phonopy_test
cd phonopy_test

サンプルの入力ファイルをとってきます。

cp ../phonopy/example/NaCl-QE/NaCl.in .
cp ../phonopy/example/NaCl-QE/header.in .
cp ../phonopy/example/NaCl-QE/band.conf .

3.電子状態計算とフォノンのバンド図

Quantum ESPRESSOを用いた電子状態計算を実行しておきます。まずコピーしてきたheader.inを修正しておく必要があります。修正箇所は下記の通りです。

1.&controlセクションでpseudo_dir = ‘./’と変更

同じ修正をNaCl.inに対しても行っておきます。次に結晶の原子配置を少しだけ変化させた格子構造の入力ファイルを作成します。まずphonopyを実行しておきます。

phonopy --qe -d --dim="2 2 2" -c NaCl.in

これに共通部分のheader.inを付け加えて、入力ファイルを作成します。

for i in {001,002};do cat header.in supercell-$i.in >| NaCl-$i.in; done

計算の前に擬ポテンシャルをとってきます。ここからNa.pbe-spn-kjpaw_psl.0.2.UPFを、ここからCl.pbe-n-kjpaw_psl.0.1.UPFを、それぞれとってきます。shareフォルダを作成しておくとそこでDockerとのやりとりが可能になります。Dockerの外でダウンロードしたあと、shareにファイルを移動させて、さらにそのファイルを作業フォルダに移動させるといいでしょう。その後、Quantum ESPRESSOを実行します。

mpirun -np (並列数) pw.x -i NaCl-001.in |& tee NaCl-001.out
mpirun -np (並列数) pw.x -i NaCl-002.in |& tee NaCl-002.out

並列数の上限は計算環境によります。並列数を上げるほど計算は速くなります。これにより、NaCl-001.out, NaCl-002.outに計算結果が出力されるので、それを用いてphonopyで用いる入力ファイルFORCE_SETSを作成します。

phonopy -f NaCl-001.out NaCl-002.out

いったんFORCE_SETSができてしまえば、phonopyでさまざまな計算ができるようになります。例えば、フォノンのバンド図を表示させるには、以下のコマンドを実行します。

phonopy --qe -c NaCl.in -p band.conf

以下のようなフォノンのバンド図が出力されれば成功です。

4.長距離相互作用による補正

上述の計算では、離れた原子間に働くクーロン相互作用の効果が十分に取り入れられていません。特にNaClのようなイオン性結晶では、長距離相互作用を適切に考慮するとガンマ点付近の光学フォノンのバンドが影響を受けます(これは長波長の光学フォノンが電気分極を生じ、それによる長距離クーロン相互作用エネルギーがフォノンのエネルギーに大きな影響を及ぼすためです)。この効果を取り入れた計算を行うには、Quantum ESPRESSOの通常の計算を行い、イオンの有効電荷と誘電率を求めておく必要があります。まず、コピーしてあったNaCl.inの入力ファイルを使って、Quantum ESPRESSOによる電子状態計算をします。

mpirun -np (並列数) pw.x < NaCl.in |& tee NaCl.out

次に入力ファイルNaCl.ph.inをコピーしておきます。

cp ../phonopy/example/NaCl-QE/NaCl.ph.in .

このファイルの内容は以下のようになっています。

&inputph
  tr2_ph = 1.0d-14,
  epsil = .true.
 /
0 0 0

これを用いて、Quantum ESPREESOのph.xを実行します。

mpirun -np (並列数) ph.x -i NaCl.ph.in |& tee NaCl.ph.out

この計算は時間がかかります(数時間程度)。計算が終わったら、NaCl.ph.outの中身をみてましょう。

cat NaCl.ph.out

でてきた出力ファイルの内容にDielectric constant, Effective chargesなどの出力項目があるはずです。

Dielectric constant in cartesian axis 
          (       2.472962895       0.000000000       0.000000000 )
          (       0.000000000       2.472962895       0.000000000 )
          (       0.000000000       0.000000000       2.472962895 )
(中略)
Effective charges (d Force / dE) in cartesian axis without acoustic sum rule applied (asr)

           atom      1   Na Mean Z*:        1.09891
      Ex  (        1.09891        0.00000        0.00000 )
      Ey  (        0.00000        1.09891        0.00000 )
      Ez  (        0.00000        0.00000        1.09891 )
	 (中略)
          atom      5   Cl Mean Z*:       -1.10236
      Ex  (       -1.10236        0.00000        0.00000 )
      Ey  (        0.00000       -1.10236        0.00000 )
      Ez  (        0.00000        0.00000       -1.10236 )

この結果をみて、BORNというファイルを作成します。どのように作成しても構いませんが、例えば

emacs BORN

として、以下の内容をタイプしてセーブしておき、emacsを抜けます。

default value
2.472962895 0 0 0 2.472962895 0 0 0 2.472962895
1.10 0 0 0 1.10 0 0 0 1.10
-1.10 0 0 0 -1.10 0 0 0 -1.10

ファイルができたらphonopyを–nacオプションを付けて実行します。

phonopy --qe --nac -c NaCl.in -p band.conf

以下のような図が出力されたら成功です。ガンマ点付近の光学フォノンのバンドの様子が変わっていることがみてとれます。

04 / 06

  • 01基本情報
  • 02事例・論文
  • 03講習会
  • 04レビュー
  • 05開発者の声
  • 06このアプリ情報に
    ついてのお問い合わせ
TOP

MateriApps
物質科学シミュレーションのポータルサイト

  • NEWS / 講習会・イベント
  • アプリ一覧
  • アプリ詳細検索
  • キーワード解説
  • 事例
  • アプリコンシェルジュ
  • プライバシーポリシー
お問合せ / アプリ掲載依頼
  • 東京大学 物性研究所 The Institute for Solid State Physics
  • 東京大学 The University of Tokyo
  • CDMSI
  • CCMS

© MateriApps, 2013-2025. All rights reserved.