Quantum ESPRESSO を使い始めると、K_POINTS automatic で何を入れればよいのか迷いやすいです。特に最初は、
- 小さいセルでは細かい
k点が必要と言われる - 大きい supercell では
Gamma onlyでもよいことがある - 金属ではさらに注意が必要
といった話が一度に出てくるので、判断基準がつかみにくいところです。
この記事では、Quantum ESPRESSO の k 点設定を「どんな場合にどんな設定から始めるか」という実務目線で整理します。細かい理論をすべて追わなくても、小さいセルほど密に、大きい supercell ほど疎にし、最後は収束試験で確認するという流れを押さえておけば、出発点としては十分です。
k点は何を調整しているのか
k 点は、Brillouin zone の中で電子状態をどれくらい細かくサンプリングするかを決める設定です。小さいセルでは Brillouin zone が広いため、多めの k 点で平均を取る必要があります。逆に大きい supercell では Brillouin zone が縮むため、少ない k 点でも同程度の分解能を確保できます。
このため、k 点の数そのものを見るよりも、そのセルサイズに対して過不足がないかを考える方が実務的です。small cell で Gamma only を使うと粗すぎることがありますが、大きい supercell では Gamma only が十分実用になることがあります。
まずはこの早見表から始める
最初の設定としては、次のように考えると大きく外しにくいです。
| 系のタイプ | まず試す設定 |
|---|---|
| 3D バルクの primitive cell、絶縁体・半導体 | 4x4x4 から 8x8x8 |
| 3D バルクの primitive cell、金属 | 8x8x8 以上 |
| 欠陥・界面・固溶体などの大きい supercell | Gamma only または 2x2x2 |
| 表面・スラブ | Nx x Ny x 1 |
| 2D 物質 | Nx x Ny x 1 |
| 1D 鎖・ナノワイヤ | 1 x 1 x Nz |
| 分子・孤立クラスター | Gamma only |
ここで大事なのは、周期方向だけを刻むことです。たとえばスラブや 2D 物質では真空方向に k 点を増やしても効果が薄いため、通常は 1 にします。
どういう基準で決めればよいか
迷ったときは、次の順番で考えると整理しやすいです。
1. まず周期方向を決める
3D バルクなのか、2D スラブなのか、1D 鎖なのか、孤立分子なのかで、必要な k 点の方向が変わります。真空方向は刻まず、周期方向だけに点を置くのが基本です。
2. primitive cell か supercell かを見る
small cell では Brillouin zone が広いため、細かい k 点が必要になりやすいです。逆に大きい supercell では Brillouin zone が縮むので、Gamma only や粗い mesh が候補になります。
このとき重要なのは、「大きいセルでは粗くてよい」のではなく、サンプリングすべき BZ の範囲そのものが小さくなっているという点です。したがって、大きい supercell に small cell と同じ密度の k 点をそのまま入れると、精度向上より計算コスト増の方が大きくなりやすいです。
3. 金属か絶縁体かを分ける
金属ではフェルミ準位近傍の状態が k 点に敏感なので、絶縁体よりも細かい mesh が必要です。small cell の金属で k 点を減らしすぎると、全エネルギー、力、応力、SCF 安定性が崩れやすくなります。
一方で絶縁体系は比較的鈍感ですが、それでも primitive cell では収束確認を省かない方が安全です。
4. 計算目的を考える
構造最適化や第一原理 MD では、DOS や精密なエネルギー差を求める場合ほど厳密な k 点は要求されません。特に大きい low-symmetry cell の MD では、Gamma only が実用になる場面があります。
QE 公式の INPUT_PW でも、nosym=.true. が useful な場面として low-symmetry large cells や MD simulations が挙げられています。 QE公式: INPUT_PW
収束試験は何をすればよいか
k 点は、最終的には収束試験で決めるのが基本です。やることは難しくありません。同じ構造、同じ擬ポテンシャル、同じ cutoff を使い、k 点だけを変えた計算列を数本用意します。
たとえば 3D バルクなら、
4x4x46x6x68x8x8
のように順に計算します。supercell なら Gamma only、2x2x2、必要なら 3x3x3 のように比較します。
ここで見るべき量は、全エネルギーだけではありません。
- 構造最適化なら力と応力
- 相安定性や吸着ならエネルギー差
- AIMD なら力
- DOS や金属物性ならフェルミ準位近傍の挙動
を優先して確認します。
考え方としては、より密な k 点を暫定的な基準とみなし、それに十分近い最小の設定を選ぶでよいです。絶対的な真値を当てにいくというより、k 点を増やしても結論がほとんど変わらなくなったところを採用します。
Quantum ESPRESSO ではどう指定するのか
Quantum ESPRESSO の pw.x では、一様な Monkhorst-Pack mesh を使うときは K_POINTS automatic、Gamma 点のみにするときは K_POINTS gamma を使います。K_POINTS automatic が Monkhorst-Pack 形式であること、K_POINTS gamma が Gamma 専用の最適化を使うことは、QE 公式の INPUT_PW に書かれています。 QE公式: INPUT_PW
たとえば、
K_POINTS automatic
6 6 6 0 0 0
は 3D バルクの一様 mesh です。一方、
K_POINTS gamma
は Gamma only 計算です。QE 公式では、Gamma 専用のコードではメモリと CPU 要求がだいたい半分になると説明されています。large supercell の構造最適化や AIMD で Gamma only がよく使われるのは、この計算コスト面の利点も大きいです。 QE公式: INPUT_PW
なお、DOS やバンド図では SCF と同じ k 点設定をそのまま使わないことも多いです。QE User’s Guide でも、DOS 用の一様 mesh や、band structure 用の点列は別計算として扱う流れが説明されています。 QE公式: PW User’s Guide node10
よくある失敗
実務上よくあるのは、small cell と large supercell で同じ感覚の k 点を使ってしまうことです。
- small cell に
Gamma onlyを入れて粗すぎる設定にしてしまう - large supercell に dense mesh を入れて計算だけ重くしてしまう
- DOS やバンド図でも SCF と同じ設定のまま進めてしまう
small cell で k 点が少なすぎると、広い Brillouin zone の平均が取れず、エネルギーや力、応力に誤差が出やすくなります。逆に large supercell で k 点が多すぎる場合は、縮んだ Brillouin zone を過剰に細かく刻んでいるだけになりやすく、主に計算時間が増えます。
まとめ
Quantum ESPRESSO の k 点設定は、「多ければよい」ではありません。小さいセルでは広い Brillouin zone を平均するために細かい mesh が必要で、大きい supercell では縮んだ Brillouin zone を見るだけなので粗い mesh や Gamma only が候補になります。
迷ったときは、
- 周期方向だけを刻む
- primitive cell か supercell かを見る
- 金属なら 1 段階細かくする
- 最後は
k点だけを変えた収束試験で確認する
という流れで考えると、設定の理由と実務上の判断を結び付けやすくなります。
コメント