平衡体積を求めるには,いくつかの異なる体積でポテンシャルエネルギーを計算し,横軸に体積,縦軸にエネルギーのプロットを描いて最も小さなエネルギーとなる体積を得る. そのプロットの曲率から体積弾性率を得ることもできる.
以下に計算手順を示す.
- シミュレーションセルを作る.単位胞のような小さな系で十分.必要であれば
pmdini
に変換する. in.pmd
内で,num_iteration
を 0 に設定する.もし構造緩和を行いたい場合は,num_iteration
は有限の値にし,flag_damping
を適切に設定する.- 一度
pmd
を実行してみて,期待通りに動くことを確認する. - 下記のコマンドを用いて,異なるサイズにおけるエネルギー計算を逐次行っていく.
この例では,$ python /path/to/nap/nappy/energy_vs_size.py -n 20 3.1 3.3
pmdini
の最初の値(格子定数)を 3.1 から 3.3 まで,20個のデータ点で変化させながらpmd
を実行する.画面には次のように出力される.3.1000 804.3570 -455.5304887 3.1100 812.1662 -457.0570473 3.1200 820.0259 -458.4111792 3.1300 827.9360 -459.6000610 3.1400 835.8969 -460.6305856 3.1500 843.9086 -461.5093734 3.1600 851.9714 -462.2420295 3.1700 860.0854 -462.8289708 3.1800 868.2507 -463.2688466 3.1900 876.4675 -463.5607352 3.2000 884.7360 -463.7041313 3.2100 893.0563 -463.6989250 3.2200 901.4287 -463.5453811 3.2300 909.8532 -463.2441193 3.2400 918.3300 -462.7960993 3.2500 926.8594 -462.2027522 3.2600 935.4414 -461.4659414 3.2700 944.0761 -460.5877459 3.2800 952.7639 -459.5704416 3.2900 961.5048 -458.4164932 3.3000 970.2990 -457.1285461 plsq= [ 1.8861122 1.58686615 888.41535225 -463.71506645] =============================== RESULTS ================================ Lattice constant = 3.2044 Ang. Cohesive energy = -8.587 eV Bulk modulus = 302.16 GPa ================================ OUTPUT ================================ * out.Ecoh-vs-size * log.Ecoh-vs-size.eps
out.energy_vs_size
をプロットすることで次のような図を得ることができる.