This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
quantumespresso:構造緩和 [2018/02/22 20:22] koudai |
quantumespresso:構造緩和 [2018/02/25 22:30] koudai [原子位置の構造緩和] |
||
---|---|---|---|
Line 44: | Line 44: | ||
構造緩和計算では、calculation=' | 構造緩和計算では、calculation=' | ||
- | etot_conv_thr 構造緩和の各ステップで、エネルギーの変化がこの値よりも小さくなったときに収束したと判断する。デフォルトは1.d-4だが、経験的にはもう少し厳しいほうが良い。 | ||
- | forc_conv_thr 構造緩和の各ステップで、原子に加わる力の変化がこの値よりも小さくなったときに収束したと判断する。デフォルトは1.d-3だが、経験的にはもう少し厳しいほうが良い。 | ||
- | エネルギーのカットオフecutwfcは普段よりも多めにとっておきます。 | + | |etot_conv_thr|構造緩和の各ステップで、エネルギーの変化がこの値よりも小さくなったときに収束したと判断する。デフォルトは1.d-4だが、経験的にはもう少し厳しいほうが良い。| |
+ | |forc_conv_thr|構造緩和の各ステップで、原子に加わる力の変化がこの値よりも小さくなったときに収束したと判断する。デフォルトは1.d-3だが、経験的にはもう少し厳しいほうが良い。| | ||
また、relax計算の際は& | また、relax計算の際は& | ||
- | 原子位置について、原点にあるSiは動いてほしくないので、座標の最後に0 0 0を付け加えます。 | + | 原子位置について、原点にあるSiは動いてほしくないので、座標の最後に0 0 0を付け加えます。 |
+ | 第3成分だけ動いて欲しい場合は0 0 1とします。 | ||
+ | 何も指定していなければ1 1 1となります(すべての方向に動ける)。 | ||
実行は次のようにします。 | 実行は次のようにします。 | ||
- | | + | |
結果は次のようになります。 | 結果は次のようになります。 | ||
- | | + | <file - si.relax.out> |
(略) | (略) | ||
Begin final coordinates | Begin final coordinates | ||
Line 69: | Line 70: | ||
End final coordinates | End final coordinates | ||
(略) | (略) | ||
+ | </ | ||
原子位置が(0.25, | 原子位置が(0.25, | ||
- | ↑ | ||
- | 格子定数の構造緩和 † | ||
- | 今度は格子定数の構造緩和を行います。 Siの格子定数はボーア半径単位で10.2程度ですが、ここから少しずらして構造緩和をさせてみます。 | ||
- | si.vc-relax.in | + | ====== 格子定数の構造緩和 ====== |
+ | 今度は格子定数の構造緩和を行います。 Siの格子定数はボーア半径単位で10.2程度ですが、ここから少しずらして構造緩和をさせてみます。 | ||
+ | |||
+ | <file - si.vc-relax.in> | ||
& | & | ||
| | ||
Line 103: | Line 105: | ||
K_POINTS automatic | K_POINTS automatic | ||
6 6 6 1 1 1 | 6 6 6 1 1 1 | ||
+ | </ | ||
今度はcalculation=' | 今度はcalculation=' | ||
Line 108: | Line 111: | ||
実行は次のようにします。 | 実行は次のようにします。 | ||
- | | + | |
結果は次のとおりです。 | 結果は次のとおりです。 | ||
- | | + | <file - si.vc-relax.out> |
(略) | (略) | ||
| | ||
Line 133: | Line 135: | ||
End final coordinates | End final coordinates | ||
(略) | (略) | ||
+ | </ | ||
もともと基本並進ベクトルが格子定数を単位としてa(1)=(-0.5, | もともと基本並進ベクトルが格子定数を単位としてa(1)=(-0.5, | ||
- | ↑ | ||
- | 注意 † | ||
- | | + | ===== 注意 ===== |
- | vc-relax計算で構造緩和を行うとき、計算に必要なパラメータは最初の格子定数と原子位置の計算から出したものを使い続けます。計算が正しいか確認するため、入力ファイルを得られたパラメータでもう一度vc-relax計算をすると良いでしょう。 | + | |
- | 構造緩和の結果、結晶が別の対称性になってしまう場合、プログラムが以下のエラーを出して止まってしまいます。その場合は& | + | * 実はvc-relax計算は原子位置の緩和も同時に行っています。ほとんどの場合はうまくいかないので、先にrelax計算を行ってからvc-relaxを実行しましょう。 |
+ | | ||
+ | * 結果がエネルギーのカットオフやk点数に対してちゃんと収束しているか必ず確認しましょう(得られた構造に対してエネルギーのカットオフやk点数を増やしてもう一度構造緩和してみる)。 | ||
+ | * 構造緩和の結果、結晶が別の対称性になってしまう場合、プログラムが以下のエラーを出して止まってしまいます。その場合は& | ||
+ | |||
+ | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | ||
+ | Error in routine checkallsym (2): | ||
+ | not orthogonal operation | ||
+ | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | ||
+ | |||
+ | |||
+ | |||
+ | ====== 金属の場合 ====== | ||
+ | |||
+ | 金属の場合はFermi面の情報が必要ですので、 | ||
+ | |||
+ | occupations=' | ||
- | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | + | を使用してください。 |
- | Error in routine checkallsym (2): | + | このときのk点は、原点を含む |
- | not orthogonal operation | + | |
- | | + | |
+ | などとします。 | ||
+ | * http:// | ||