User Tools

Site Tools


quantumespresso:構造緩和

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
quantumespresso:構造緩和 [2018/02/22 20:36]
koudai [金属の場合]
quantumespresso:構造緩和 [2018/11/25 19:03]
koudai [注意]
Line 31: Line 31:
 / /
 &electrons &electrons
 +   conv_thr = 1.0d-8
 / /
 &ions &ions
Line 44: Line 45:
  
 構造緩和計算では、calculation='relax'を指定します。 関連するオプションの意味は次の通りです。 構造緩和計算では、calculation='relax'を指定します。 関連するオプションの意味は次の通りです。
-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計算の際は&ionsという項目が必要です。 ここに必要に応じて構造緩和計算のオプションを書き加えますが、今はデフォルトのままとします。 また、relax計算の際は&ionsという項目が必要です。 ここに必要に応じて構造緩和計算のオプションを書き加えますが、今はデフォルトのままとします。
  
-原子位置について、原点にあるSiは動いてほしくないので、座標の最後に0 0 0を付け加えます。 他にも動いてくな原子があれば、同様に書き加えます。+原子位置について、原点にあるSiは動いてほしくないので、座標の最後に0 0 0を付け加えます。 
 +第3成分だけ動いてしい場合は0 0 1とします。 
 +何も指定していなければ1 1 1となります(すべての方向に動ける) 
  
 実行は次のようにします。 実行は次のようにします。
Line 75: Line 79:
 ====== 格子定数の構造緩和 ====== ====== 格子定数の構造緩和 ======
  
-今度は格子定数の構造緩和を行います。 Siの格子定数はボーア半径単位で10.2程度ですが、ここから少しずらして構造緩和をさせてみます。+今度は格子定数の構造緩和を行います。 
 +先に原子位置の緩和を行ってください。 
 + 
 +Siの格子定数はボーア半径単位で10.2程度ですが、ここから少しずらして構造緩和をさせてみます。
  
 <file - si.vc-relax.in> <file - si.vc-relax.in>
Line 91: Line 98:
 / /
 &electrons &electrons
 +   conv_thr = 1.0d-8
 / /
 &ions &ions
Line 135: Line 143:
 </file> </file>
  
-もともと基本並進ベクトルが格子定数を単位としてa(1)=(-0.5, 0, 0.5)だったのが(-0.510132378, 0.000000000, 0.510132378)に拡大しています。 そのため、構造緩和によって得られた格子定数はボーア半径を単位として10.0*0.510132378/0.5=10.20・・・となります。+もともと基本並進ベクトルが格子定数を単位としてa(1)=(-0.5, 0, 0.5)だったのが(-0.510132378, 0.000000000, 0.510132378)に拡大しています。 
 +そのため、構造緩和によって得られた格子定数はボーア半径を単位として 10.0 * 0.510132378 / 0.5 = 10.20... となります。
  
 ===== 注意 ===== ===== 注意 =====
  
-  * 実はvc-relax計算は原子位置の緩和も同時に行っています。ほとんどの場合はうまくいかないので、先にrelax計算を行ってからvc-relaxを実行しましょう。 +  * vc-relax計算は原子位置の緩和も同時に行っています。ほとんどの場合は同時緩和はうまくいかないので、先にrelax計算を行った上でvc-relaxを実行しましょう。 
-  * vc-relax計算で構造緩和を行うとき、計算に必要なパラメータは最初の格子定数と原子位置の計算から出したものを使い続けます。計算が正しいか確認するため力ファイルを得られたパラメータでもう一度vc-relax計算をすと良いでしょう。+  * vc-relax計算で構造緩和を行うとき、計算に必要なパラメータは最初の格子定数と原子位置の計算から出したものを使い続けます。収束するまでvc-relax計算を繰り返てくださ。 
 +  * conv_thrが大きいと力ファイルに"SCF correction compared to forces is large: reduce conv_thr to get better values"と注意が出てく小さくしましょう。
   * 構造緩和の結果、結晶が別の対称性になってしまう場合、プログラムが以下のエラーを出して止まってしまいます。その場合は&systemに対称性を考慮しないというオプションnosym=.true.を加えてください。   * 構造緩和の結果、結晶が別の対称性になってしまう場合、プログラムが以下のエラーを出して止まってしまいます。その場合は&systemに対称性を考慮しないというオプションnosym=.true.を加えてください。
- 
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       Error in routine checkallsym (2):       Error in routine checkallsym (2):
       not orthogonal operation       not orthogonal operation
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 +
  
  
quantumespresso/構造緩和.txt · Last modified: 2024/03/30 23:58 by koudai