The variable cell optimizations with/without constraints are supported in OpenMX Ver. 3.8. The relevant keywords for the variable cell optimizations are listed below:
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)
Cell vectors are optimized without any constraint, while keeping the initial fractional coordinates. The optimization is performed by a steepest decent method with a variable prefactor.
Cell vectors are optimized with a constraint that angles between cell vectors are fixed at the initial values, while keeping the initial fractional coordinates. Thus, only the length of cell vectors is optimized during the optimization. The optimization is performed by a steepest decent method with a variable prefactor.
Cell vectors are optimized with a constraint that angles between cell vectors are fixed at the initial values and the length of cell vectors is equivalent to each other: , while keeping the initial fractional coordinates during the optimization. Thus, only the length of cell vectors is optimized. The optimization is performed by a steepest decent method with a variable prefactor.
Cell vectors are optimized with a constraint that angles between cell vectors are fixed at the initial values and the length of cell vectors is optimized under a condition: , while keeping the initial fractional coordinates. Thus, only the length of cell vectors is optimized during the optimization. The optimization is performed by a steepest decent method with a variable prefactor.
Cell vectors and internal coordinates are simultaneously optimized without any constraint by using a steepest decent method with a variable prefactor.
Cell vectors and internal coordinates are simultaneously optimized without any constraint by using a combination scheme of the rational function (RF) method [48] and the direct inversion iterative sub-space (DIIS) method [46] with a BFGS update [49] for the approximate Hessian. The initial Hessian is given by an identity matrix or a model Hessian by Schlegel [50], which can be specified by the keyword 'MD.Opt.Init.Hessian' in the same way as in the geometry optimization. See the details for the section 'Geometry optimization'.
As an example of the variable cell optimization, we show the simultaneous optimization of cell vectors and internal coordinates for the diamond primitive cell below. The calculation can be performed by
% mpirun -np 16 openmx Cdia-RFC5.dat > Cdia-RFC5.std &where the input file 'Cdia-RFC5.dat' can be found in the directory 'work', so that you can trace the same calculation. As an illustration the initial structure is distorted as shown below:
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>Using a cluster machine consisting of Intel Xeon of 2.6 GHz, the elapsed time of the calculation was 326 sec., which corresponds to 12 optimization steps. The history of the total energy and the maximum gradients of the total energy with respect to atomic coordinates or cell vectors can be confirmed in 'System.Name.out'. You may find the following information in 'Cdia-RFC5.out' for the case.
*********************************************************** *********************************************************** 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
Other examples (input and output files) for the variable cell optimization can be found in a directory 'work/cellopt_example'.
2016-04-03