quantumespresso:構造緩和
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| quantumespresso:構造緩和 [2020/06/27 15:14] – [原子位置の構造緩和] koudai | quantumespresso:構造緩和 [2024/03/30 23:58] (current) – koudai | ||
|---|---|---|---|
| Line 10: | Line 10: | ||
| 以下ではケイ素を例に構造緩和計算を行います。 | 以下ではケイ素を例に構造緩和計算を行います。 | ||
| + | |||
| + | |||
| + | ===== 注意 ===== | ||
| + | |||
| + | * 現在(2024年3月)のところ、noncolin=.true.のときは原子に加わる力の計算ができません | ||
| + | |||
| ====== 原子位置の構造緩和 ====== | ====== 原子位置の構造緩和 ====== | ||
| Line 15: | Line 21: | ||
| 格子定数はそのままに、単位胞内の原子の位置を緩和させます。 Siの単位胞内における原子の位置は、格子定数を単位として安定な構造で(0, | 格子定数はそのままに、単位胞内の原子の位置を緩和させます。 Siの単位胞内における原子の位置は、格子定数を単位として安定な構造で(0, | ||
| - | <file - si.relax.in> | + | <file - Si.relax.in> |
| & | & | ||
| | | ||
| - | | + | |
| - | | + | |
| - | | + | |
| | | ||
| | | ||
| Line 59: | Line 65: | ||
| 実行は次のようにします。 | 実行は次のようにします。 | ||
| - | $ pw.x < si.relax.in > si.relax.out | + | $ pw.x < Si.relax.in > Si.relax.out |
| 結果は次のようになります。 | 結果は次のようになります。 | ||
| - | <file - si.relax.out> | + | <file - Si.relax.out> |
| (略) | (略) | ||
| Begin final coordinates | Begin final coordinates | ||
| Line 83: | Line 89: | ||
| Siの格子定数はボーア半径単位で10.2程度ですが、ここから少しずらして構造緩和をさせてみます。 | Siの格子定数はボーア半径単位で10.2程度ですが、ここから少しずらして構造緩和をさせてみます。 | ||
| + | Si.relax.inをコピーしてSi.vc-relax.inを作成します。 | ||
| + | 以下の変更を行います | ||
| + | * calculation=' | ||
| + | * < | ||
| + | * (任意)press_conv_thrを指定 | ||
| - | <file - si.vc-relax.in> | + | <file - Si.vc-relax.in> |
| & | & | ||
| | | ||
| - | | + | |
| - | | + | |
| - | | + | |
| | | ||
| | | ||
| Line 103: | Line 114: | ||
| / | / | ||
| &cell | &cell | ||
| + | press_conv_thr = 0.1 | ||
| / | / | ||
| ATOMIC_SPECIES | ATOMIC_SPECIES | ||
| Line 113: | Line 125: | ||
| </ | </ | ||
| - | 今度はcalculation=' | + | ^変数^初期値^説明^ |
| + | |press_conv_thr|0.5 (kbar)|構造緩和の各ステップで、単位胞に加わる力がこの値よりも小さくなったときに収束したと判断する| | ||
| 実行は次のようにします。 | 実行は次のようにします。 | ||
| - | $ pw.x < si.vc-relax.in > si.vc-relax.out | + | $ pw.x < Si.vc-relax.in > Si.vc-relax.out |
| 結果は次のとおりです。 | 結果は次のとおりです。 | ||
| - | <file - si.vc-relax.out> | + | <file - Si.vc-relax.out> |
| (略) | (略) | ||
| | | ||
| Line 148: | Line 161: | ||
| ===== 注意 ===== | ===== 注意 ===== | ||
| - | * vc-relax計算は原子位置の緩和も同時に行っています。ほとんどの場合は同時緩和はうまくいかないので、先にrelax計算を行った上でvc-relaxを実行しましょう。 | + | * vc-relax計算は原子位置の緩和も同時に行っています。同時緩和はうまくいかないことがあるので、先にrelax計算を行った上でvc-relaxを実行しましょう。 |
| * vc-relax計算で構造緩和を行うとき、計算に必要なパラメータは最初の格子定数と原子位置の計算から出したものを使い続けます。結果が変わらなくなるまでvc-relax計算を繰り返してください。 | * vc-relax計算で構造緩和を行うとき、計算に必要なパラメータは最初の格子定数と原子位置の計算から出したものを使い続けます。結果が変わらなくなるまでvc-relax計算を繰り返してください。 | ||
| + | * ecutwfcやk点数は多めに必要ですので、これらのパラメタについて収束を確認するようにします。 | ||
| * conv_thrが大きいと、出力ファイルに" | * conv_thrが大きいと、出力ファイルに" | ||
| - | * 構造緩和の結果、結晶が別の対称性になってしまう場合、プログラムが以下のエラーを出して止まってしまいます。その場合は& | + | * 構造緩和の結果、結晶が別の対称性になってしまう場合、プログラムが以下のエラーを出して止まってしまいます。その場合は& |
| < | < | ||
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | ||
| Line 164: | Line 178: | ||
| ====== 金属の場合 ====== | ====== 金属の場合 ====== | ||
| - | 金属の場合はフェルミ面の情報が必要ですので、& | + | 金属の場合はフェルミ準位の情報が必要ですので、& |
| - | occupations=' | + | occupations=' |
| を追加してください。 | を追加してください。 | ||
| + | degaussの値はk点数に応じて適切な値を入れてください。 | ||
| + | |||
| + | また、k点数が十分たくさんとれる場合は | ||
| + | |||
| + | occupations=' | ||
| + | |||
| + | を使用することもできます。 | ||
| + | |||
| * http:// | * http:// | ||
| Line 176: | Line 198: | ||
| ====== 擬ポテンシャルについて ====== | ====== 擬ポテンシャルについて ====== | ||
| - | 一般に構造最適化で得られた格子定数は、PZ型などのLDA計算では過小評価され、PBE型などのGGA計算では過大評価されます。 | + | * 一般に構造最適化で得られた格子定数は、PZ型などのLDA計算では過小評価され、PBE型などのGGA計算では過大評価されます。 |
| - | 最近ではPBEを改善したPBESOLという交換相関ポテンシャルが実験の格子定数をよく再現するということで、構造最適化計算に使われることが多いです。 | + | |
| + | * 格子定数を求めるのはいろいろな困難があるので、実際の運用では格子定数は測定値を使用し、内部座標についてのみ最適化を行うことも多いです。 | ||
quantumespresso/構造緩和.1593238497.txt.gz · Last modified: 2021/06/27 22:00 (external edit)
