next up previous contents index
Next: 10.3 Calculation of Magnetic Up: 10 Computational Strategy(計算戦略) Previous: 10.1 Electronic State After


10.2 Structure Optimizarion under Constant Pressure(圧力一定のもとでの構造最適化)

It is considered that there are three methods to perform sturcture optimization under constant pressure. The first method is to perform molecular dynamics under constant pressure. The second method is to calculate energy and pressure in several structural parameters, for example, lattice constants, and analyze the computational result. The third method is combination of the first method and the second method. Because the first method requires to ensure larger unit cell, amount of calculation becomes larger, but many structural parameters are optimized simultaneously. This is able to be performed with ex_md.sh. The second method is used to optimize a few structural parameters with accuracy. This is able to be performed with some scripts, for example, ex_optl.sh, ex_omega.sh, et al. For the third method, a procedure that atomic positions in the unit cell are optimized with molecular dynamics and lattice constants are optimized with a tiny variation method is suitable. You can use ex_optls.sh.

The procedure of optimization with ex_optls.sh is discussed below. If there is no freedom of degree for the atomic positions in the unit cell, you have to set sskip to 1 in ex_optls.sh. Please refer to (1.3.21). You have to write commands shown below and perform calculation.

圧力一定のもとでの構造最適化には、一般的には、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
        .
        .
  (Repeat until the Completion of Convergence)
 (収束するまで繰り返し)
        .
        .

You have to specify celldm0 to a lattice constant which is close to desired pressure. Each script needs to be specified as in the past. Several things to note are described below. In point of ex_opts.sh, you have to check whether a file jobs is removed or not. In point of ex_pf.sh, you have to check whether mv is commented out or not and whether nbeg is specified to 0 or not. In ex_optls.sh, the pressure configuration parameter, et al, are specified. In point of these parameters, please refer to (1.3.21).

In solid oxygen at 114 GPa, values close to them shown below are specified.
press=114.0, hstep=0.0003, epspres=0.1,
foreps=0.0005, atpstep=0.01

In order to perform proper convergence, you have to adjust hstep which is used to alter lattice constants.If pressure calculated is not converged, you should reduce this parameter by sigle digit. The higher pressure becomes, you should specify smaller value as hstep. When press=1920.0, hstep=0.00005 is specified.

If a message which indicates the completion of the convergence is output to standard output of cpvo.sh, the calculation is terminated.

If the calculation is terminated without the completion of convergence, you should write only iterations of ex_optls.sh in exlist.sh as shown below and perform the calculation again.

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
        .
        .
  (Repeat until the Completion of Convergence)
 (収束するまで繰り返し)
        .
        .

In this case, you can speed up the progress of the convergence by modifying parameters in ex_optls.sh. You have to comment out cp of celldm0. Additionally, You have to comment out the performance of ex_opte.sh, ex_opts.sh and ex_pf.sh.

If the calculation is aborted along the way, you can continue the calculation by configuring a little complex settings. If you want to continue the calculation, you should save a set of files shown below.

である。このときex_optls.sh内のパラメータを修正して収束を速めることが可能である。celldm0cpex_opte.sh, ex_opts.sh, ex_pf.shの実行などをコメントにして動作しないようにしておく 必要がある。

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

celldm
ex_optls.sh
scr.pre
updatp.sh
updlat

If pressure tensors are converged, files shown above are not always required. But there are some cases when you have to increase computational precision, so you should save them.

If pressure tensors are converged, you should save res.optls.conv. If recalculation of electron system is performed in short amount of time, you don't always have to save wfs.optls.conv.

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

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


next up previous contents index
Next: 10.3 Calculation of Magnetic Up: 10 Computational Strategy(計算戦略) Previous: 10.1 Electronic State After
Copyright (C), Tatsuki Oda (oda@cphys.s.kanazawa-u.ac.jp, Kanazawa University)