OpenMX Ver.3.8 ではセル可変の構造最適化を拘束条件あり/なしの双方で使用可能となっています。 関連するキーワードは以下の通りです。

   MD.Type                     RFC5       # OptC1|OptC2|OptC3|OptC4|OptC5|RFC5
   MD.Opt.DIIS.History          3         # default=3
   MD.Opt.StartDIIS             5         # default=5
   MD.Opt.EveryDIIS            200        # default=200
   MD.maxIter                  100        # default=1
   MD.Opt.criterion          1.0e-4       # default=0.0003 (Hartree/Bohr)
上記のキーワードは「構造最適化」セクションとまったく同じものなので、セル可変の構造最適化は従来の構造最適化と同様に制御可能です。 セル可変の構造最適化は+U法も含めたコリニア計算のみに利用可能です。ただしDFT-D2法及びDFT-D3法によるvdW相互作用はサポートしていません。 セル可変の構造最適化は「MD.Type」によって指定し、以下のオプションが選択可能です。

目的に応じて上記のオプションを選択して下さい。将来的には、上記以外の拘束条件も実装予定です。

セル可変の構造最適化の例として、ダイヤモンド構造の格子ベクトルと内部座標の同時最適化を以下に示します。 計算は以下のコマンドによって行います。

     % mpirun -np 16 openmx Cdia-RFC5.dat > Cdia-RFC5.std &
  
入力ファイル「Cdia-RFC5.dat」は「work」ディレクトリに収められていますので、同じ計算を実施することが可能です。 この計算例では、初期構造は以下のように歪んでいます。
   Atoms.Number         2
   Atoms.SpeciesAndCoordinates.Unit   frac # Ang|AU
   <Atoms.SpeciesAndCoordinates
      1    C    0.10000000000000    0.00000000000000   -0.05000000000000     2.0     2.0
      2    C    0.25000000000000    0.25000000000000    0.25000000000000     2.0     2.0
   Atoms.SpeciesAndCoordinates>
   Atoms.UnitVectors.Unit             Ang # Ang|AU
   <Atoms.UnitVectors
     1.6400  1.6400  0.0000
     1.6400  0.0000  1.6400
     0.0000  1.6400  1.6400
   Atoms.UnitVectors>
クラスタ計算機(Intel Xeon of 2.6 GHz)では12回の最適化ステップに326秒を要しました。 全エネルギーと原子座標もしくは格子ベクトルに対する全エネルギーの最大勾配を「System.Name.out」にて確認できます。 この計算例の場合には、「Cdia-RFC5.out」にて以下の情報を得ることができます。
  ***********************************************************
  ***********************************************************
                  History of cell optimization
  ***********************************************************
  ***********************************************************

    MD_iter   SD_scaling     |Maximum grad|     Maximum step        Utot
                             (Hartree/Bohr)        (Ang)         (Hartree)

      1       1.25981732       0.16438857       0.10583545     -11.59621750
      2       1.25981732       0.08853079       0.05902052     -11.64994330
      3       1.25981732       0.04581934       0.03054622     -11.66453804
      4       1.25981732       0.02205339       0.01470226     -11.66928384
      5       3.14954331       0.01038370       0.01730616     -11.67121215
      6       3.14954331       0.00540550       0.00900916     -11.67332697
      7       3.14954331       0.00487464       0.01195765     -11.67421714
      8       3.14954331       0.00354038       0.02370089     -11.67479904
      9       3.14954331       0.00157490       0.00373198     -11.67534268
     10       3.14954331       0.00137813       0.00160463     -11.67537386
     11       3.14954331       0.00067980       0.00165877     -11.67538616
     12       3.14954331       0.00003708       0.00000000     -11.67538986

最大勾配の絶対値が速やか収束しており、閾値である$0.0003$ Hartree/bohrを下回っていることが見て取れます。

「work/cellopt_example」に、その他のセル可変構造最適化の例も含まれているのでご参照下さい。



2017-03-07