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)

As confirmed, the keywords listed above are exactly the same as in the section 'Geometry optimization'. Thus, the variable cell optimization can be controlled just like the geometry optimization. The variable cell optimization is supported for only the collinear calculations including the plus U method, while, however, the cell optimization for the DFT-D2 and DFT-D3 methods for vdW interaction is not supported. By the keyword 'MD.Type', a method for the variable cell optimization is specified. When you perform the variable cell optimization, you can choose the following option for the keyword 'MD.Type':

- OptC1
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.

- OptC2
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.

- OptC3
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.

- OptC4
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.

- OptC5
Cell vectors and internal coordinates are simultaneously optimized without any constraint by using a steepest decent method with a variable prefactor.

- RFC5
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 '

*********************************************************** *********************************************************** 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

It can be seen that the absolute value of the maximum gradient rapidly converged, and dropped to below the criterion of Hartree/bohr.

Other examples (input and output files) for the variable cell optimization can be found in a directory 'work/cellopt_example'.

2016-04-03