平衡体積を求めるには,いくつかの異なる体積でポテンシャルエネルギーを計算し,横軸に体積,縦軸にエネルギーのプロットを描いて最も小さなエネルギーとなる体積を得る. そのプロットの曲率から体積弾性率を得ることもできる.

以下に計算手順を示す.

  1. シミュレーションセルを作る.単位胞のような小さな系で十分.必要であれば pmdini に変換する.
  2. in.pmd内で,num_iteration を 0 に設定する.もし構造緩和を行いたい場合は,num_iterationは有限の値にし,flag_dampingを適切に設定する.
  3. 一度 pmd を実行してみて,期待通りに動くことを確認する.
  4. 下記のコマンドを用いて,異なるサイズにおけるエネルギー計算を逐次行っていく.
    $ 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 をプロットすることで次のような図を得ることができる. image