next up previous contents index
Next: 10.3 磁気異方性エネルギーの計算 Up: 10 計算戦略 Previous: 10.1 原子位置構造最適化後の電子状態


10.2 圧力一定のもとでの構造最適化

圧力一定のもとでの構造最適化には、一般的には、3つ計算方法が考えられる。 第1の方法は、圧力一定の分子動力学を行う方法であり、第2の方法は、いくつかの 格子定数等の構造パラメータにて、エネルギーや圧力を計算して、それらの計算結果 を解析する方法である。この前者と後者を何らかの形で併用した方法が、第3の方法 である。第1の方法は、実際的には計算の単位胞を大きくとることが必要になってくる ため、計算量が多いが、多くの構造パラメータを同時に最適化することができる。 ex_md.shにて実行することが可能である。 第2の方法は、小数の構造パラメータを精度よく最適化するのに使用される。 ex_optl.sh,ex_omega.shなど、いくつかのスクリプトで可能である。 第3の方法としては、単位胞内の原子位置を分子動力学を用いて最適化し、 格子定数については、静的に少しずつずらす方法で最適化する手続きが よいと考えられる。 ex_optls.shを使用することができる。

ここでは、ex_optls.sh を用いた構造最適化の手順を説明する。単位胞の原子位置について 自由度がない場合は、ex_optls.sh中で指定するパラメータsskipを 1に指定する(1.3.21参照)。 exlist.shに次のようなコマンド群を記述し計算を行う。

#-------------------------------------------------------------------------
# for task calculation
# edit
#-------------------------------------------------------------------------

cp ${rundir}/celldm0 ${rundir}/celldm

#
# optimization of lattice constants and atomic positions
#
${rundir}/ex_opte.sh
${rundir}/ex_opts.sh
${rundir}/ex_pf.sh
${rundir}/ex_optls.sh
${rundir}/ex_optls.sh
${rundir}/ex_optls.sh
        .
        .
  (収束するまで繰り返し)
        .
        .
celldm0にはなるべく目的の圧力に近い格子定数を指定する。 それぞれのスクリプトは、これまで通り設定する必要がある。 いくつかの注意すべき点を次に挙げる。 ex_opts.shに関連して、ファイルjobsが消去されているか どうかを確認する。 ex_pf.shでは、mvコマンドのコメントを付けてあるか、 およびnbeg=0と指定しているかを確認する。 ex_optls.shでは、設定圧力パラメータなどを指定する。 (パラメータに設定については、1.3.21を参照。) 固体酸素では、114GPaのとき
press=114.0, hstep=0.0003, epspres=0.1,
foreps=0.0005, atpstep=0.01
程度の値が指定された。 適切な収束には、格子定数を変化させる刻hstepを調整する。 計算する圧力があばれるときは、この値を1桁小さくするとよい。 また、高圧になるに従い、hstepとして小さな値を指定 するとよい。press=1920.0のときは, hstep=0.00005 程度が指定された。

収束したことを示すメッセージがcpvo.shの標準出力へ出力されば 計算終了である。

収束せず計算が最後までいったときは、スクリプトexlist.shex_optls.shの繰り返しだけを記述して、計算を行えばよい。 例えば、

#-------------------------------------------------------------------------
# for task calculation
# edit
#-------------------------------------------------------------------------
#
# optimization of lattice constants and atomic positions
#
${rundir}/ex_optls.sh
${rundir}/ex_optls.sh
${rundir}/ex_optls.sh
        .
        .
  (収束するまで繰り返し)
        .
        .
である。このときex_optls.sh内のパラメータを修正して 収束を速めることが可能である。celldm0cpex_opte.sh, ex_opts.sh, ex_pf.shの実行など をコメントにして動作しないようにしておく必要がある。

途中で計算が失敗したたときは、少々複雑な再設定を行った後、計算を 続行することが可能である。 計算を継続するには、以下のファイルを1セットで残しておけばよい。

celldm
ex_optls.sh
scr.pre
updatp.sh
updlat
圧力テンソルが収束したならば上記のファイルは必ずしも必要ないが、 計算精度を上げる必要がある場合があるので残しておくとよい。

圧力テンソルが収束したら、ファイルres.optls.convを残して おけばよい。電子系の再計算が短時間で可能ならば波動関数wfs.optls.conv は必ずしも残しておく必要はない。


next up previous contents index
Next: 10.3 磁気異方性エネルギーの計算 Up: 10 計算戦略 Previous: 10.1 原子位置構造最適化後の電子状態
Copyright (C), Tatsuki Oda (oda@cphys.s.kanazawa-u.ac.jp, Kanazawa University)