0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Quantum ESPRESSOのinputをcifからpythonで半自動生成

Last updated at Posted at 2025-06-27

Quantum ESPRESSOをpythonで出来るだけ半自動化

リンク

概要

物理学科出身の大学(院)生です。
大学生時代に大量の物質について構造最適化を行う機会があり、
これは人間のやることじゃないと思ったためpythonで半自動化できるようにしました。
同じような境遇の人がいるかもしれないため、ちょっと手直しして、公開します。
所詮(当時)大学生が作ったもののため、信用の置けない面があると思いますが、
そういった方は以下なら信頼できると思います。

説明

Quantum Espressoで計算するためにはinputファイルが必要で、
これをある程度cifから自動的に作成するpythonスクリプト群です。
以下のような機能があります

  • cifからinputファイルを作成
  • relax, vc-relaxのoutputファイルから構造を読み取り、次のinputファイルを作成
  • relax, vc-relaxのoutputファイルから構造を読み取り、cifに変換
  • band, pdos などのplot

想定しているユースケースとしては、「一つの物質について計算が収束していて、
類似物質がたくさんあり、同条件で計算を回したい場合」です。
最初の一つの物質でも使えなくはないですが、
どちらかというと上手くいった条件を使い回すように作成されたスクリプトです。
そのため、templateとして収束したinputファイルを入れて、
物質固有の部分を変更するといった実装です。

使用方法

Make_QE_file/how_to_use/how_to_use_jp.mdにドキュメントもどきがあります。
想定している使用の流れは

  1. relax -> vc-relax
  2. 1 -> scf -> nscf -> projwfc -> dos
  3. 1 -> scf -> bands -> band_x
  4. plot

です(自分は数字ごとにディレクトリを分けてました)。
how_to_use/auto.pyでは上記の流れでの各関数の使用方法を書いています。

crystal_sgについて

原子位置の指定でATOMIC_POSITIONS {crystal_sg}を使用しています。
公式の説明は

crystal_sg :
原子位置は結晶座標、すなわち原始格子の相対座標で指定する。
この場合、対称性のない原子のみが与えられるので、このオプションは前のものと異なる。変数space_groupは、対称等価原子を見つけるために使われる空間群番号を示さなければならない。このオプションを制御する他の変数は uniqueb, origin_choice, rhombohedral である。

とのこと。
このためcifで_space_group_IT_number(or _symmetry_Int_Tables_number)が必要です。

crystal_sgがうまく展開してくれない

space_group = 129の物質を計算しているときに、outputをみるとやたら大きなセルに展開していました。
VESTAでみると明らかに間違っている。
色々調べると、origin_choiceを初期値の1から2に変更するとうまくいきました。
templateにはorigin_choice = 2を入れています。

お世話になったサイト

公式Doc

quantum ESPRESSO tutorial(東北大学物性理論研究室)

雑多な記録(QuantumESPRESSO)

Quantum ESPRESSO入力ファイル作成手順

QE用pythonコード

Quantum-Espressoの空間群入力

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?