OpenMX Ver.3.9 ではセル可変の構造最適化を拘束条件あり/なしの双方で使用可能となっています。 関連するキーワードは以下の通りです。
MD.Type RFC5 # OptC1|OptC2|OptC3|OptC4|OptC5 # OptC6|OptC7|RFC5|RFC6|RFC7 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)上記のキーワードは「構造最適化」セクションとまったく同じものなので、 セル可変の構造最適化は従来の構造最適化と同様に制御可能です。 セル可変の構造最適化はplus U法を含めたコリニア計算のみに利用可能です。 ただしDFT-D2法及びDFT-D3法によるvdW相互作用はサポートしていません。 セル可変の構造最適化は「MD.Type」によって指定し、以下のオプションが選択可能です。
初期内部座標を維持したまま、格子ベクトルに拘束をかけずに最適化を行います。 最適化は、最急降下法によって行われます。
初期内部座標を維持したまま、格子ベクトル間の角度を初期値に固定して最適化を行います。 従って、格子ベクトルの長さのみが最適化されます。 最適化は、最急降下法によって行われます。
初期内部座標を維持したまま、格子ベクトル間の角度を初期値に固定し、格子ベクトルの長さも 互いに等しい状態を保ったまま最適化を行います: 。 従って、格子ベクトルの長さのみが最適化されます。 最適化は、最急降下法によって行われます。
初期内部座標を維持したまま、格子ベクトル間の角度を初期値に固定し、格子ベクトルの長さを 以下の拘束条件のもとで最適化します: 。 従って、格子ベクトルの長さのみが最適化されます。 最適化は、最急降下法によって行われます。
格子ベクトル、内部座標ともに拘束をかけずに同時に最適化を行います。 最適化は、最急降下法によって行われます。
格子ベクトルを固定したまま、格子ベクトルと内部座標ともに同時に最適化を行います。 最適化は、最急降下法によって行われます。
格子ベクトルとを固定したまま、格子ベクトルと内部座標ともに同時に最適化を行います。 最適化は、最急降下法によって行われます。
格子ベクトル、内部座標ともに拘束をかけずに同時に最適化を行います。 このオプションでは、RF法 [64] とDIIS法 [62]の混合による内部座標の最適化が、 BFGS法[65] を用いたヘシアン行列の更新と共に行われます。 初期ヘシアン行列は「MD.Opt.Init.Hessian」によって「iden」もしくは「Schlegel」で指定し、デフォルトでは 「Schlegel」が設定されています(詳細は「構造最適化」の章をご参照下さい)。
格子ベクトルを固定したまま、格子ベクトルと内部座標ともにを同時に最適化を行います。 最適化はRFC5と同じ方法で行われます。
格子ベクトルとを固定したまま、格子ベクトルと内部座標ともにを同時に最適化を行います。 最適化はRFC5と同じ方法で行われます。
セル可変の構造最適化の例として、ダイヤモンド構造の格子ベクトルと内部座標の同時最適化を以下に示します。 計算は以下のコマンドによって行います。
% mpirun -np 16 openmx Cdia-RFC5.dat > Cdia-RFC5.std &入力ファイル「Cdia-RFC5.dat」は「work/cellopt_example」ディレクトリに収められていますので、同じ計算を実施することが可能です。 この計算例では、初期構造は以下のように歪んでいます。
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 force| Maximum step Utot Enpy Volume (Hartree/Bohr) (Ang) (Hartree) (Hartree) (Ang^3) 1 1.25981732 0.16438857 0.10583545 -11.59621750 -11.59621750 8.82188800 2 1.25981732 0.08853079 0.05902053 -11.64994330 -11.64994330 9.81261691 3 1.25981732 0.04581932 0.03054622 -11.66453803 -11.66453803 10.28662955 4 1.25981732 0.02205340 0.01470227 -11.66928384 -11.66928384 10.56026328 5 3.14954331 0.01336972 0.02228286 -11.67121215 -11.67121215 10.73689973 6 3.14954331 0.00678359 0.01130598 -11.67332696 -11.67332696 11.04288573 7 3.14954331 0.00487464 0.01195765 -11.67421713 -11.67421713 11.13669753 8 3.14954331 0.00354039 0.02370087 -11.67479906 -11.67479906 11.18107598 9 3.14954331 0.00157491 0.00373195 -11.67534267 -11.67534267 11.29495641 10 3.14954331 0.00137813 0.00160469 -11.67537385 -11.67537385 11.34330266 11 3.14954331 0.00067979 0.00165878 -11.67538616 -11.67538616 11.37836604 12 3.14954331 0.00003708 0.00000000 -11.67538985 -11.67538985 11.39519327