6.17. Solid ‣ OpenMX menu

Menu related to OpenMX.

6.17.1. Configure

Set the OpenMX calculation conditions. Click the Run button to execute the calculation immediately after setting, or the: guilabel:` OK` button to return to the main window.

See Run for behavior when clicking Run.

The Reset button returns to the default state. Click the OK button to reflect the settings and return to the main window. Cancel button closes the window without doing anything.

When calling this function, if the structure displayed in the main window can be changed to a primitive cell, Convert Lattice is automatically executed.


Select a settings preset.


Specify whether to perform parallel computation using MPI when running OpenMX. Enter the number of MPI processes in the horizontal column.

Use OpenMP

Specify whether to perform parallel computation using OpenMP when running OpenMX. Enter the number of OpenMP threads in the horizontal column.

SCF tab

Specify exchange correlation potential. You can specify “LDA”, “LSDA-CA”, “LSDA-PW”, or “GvG-PBE”. Here, “LSDA-CA” is the Ceperley-Alder local spin density function, and “LSDA-PW” is the Perdew-Wang local spin density function with zero density gradient in the GGA format. “GGA-PBE” is a GGA functional proposed by Perdew et al.


Specify non-spin polarization or spin polarization of the electron system. Specify“ ON ”to calculate spin polarization and“ OFF ”to calculate non-spin polarization. In addition to the above two options, specify the option “NC” for non-collinear DFT calculations.


Specify the calculation method for eigenvalue problems with “scf.EigenvalueSolver”. O (N) divide-and-conquer method is “DC”, O (N) Krylov subspace method is “Krylov”, numerically exact low-order scaling method is “ON2”, cluster calculation is “Cluster”, band calculation is specified “Band”.


In OpenMX, the first Brillouin zone in k-space is separated by an equidistant mesh. At that time, when “Band” is specified with the “scf.EigenvalueSolver” keyword, the number of grids (n1, n2, n3) for discretizing the first Brillouin zone in k-space must be specified with the “scf.Kgrid” keyword. Specify as “n1 n2 n3” to discretize the reciprocal lattice vector in k space.


Set the electronic temperature (K).


Specifies the cutoff energy that defines the integration grid spacing. This integration grid is used to calculate matrix elements for the difference electron Coulomb potential and exchange correlation potential, and to solve the Poisson equation using the Fast Fourier Transform (FFT).


Sets the maximum number of SCF iterations. The SCF iteration loop ends with the number of times specified by this keyword even if the convergence condition is not met.


Set the neutral atom potential VNA to” ON “when expanding with the projection operator, otherwise set to” OFF “. When set to” OFF “, the matrix elements of the VNA potential are calculated using a discrete grid in real space.


Specify the electron density mixing method to generate the electron density (or density matrix) that is input to the next iteration step of the SCF calculation. Simple mixing method (“Simple”), Guaranteed-Reduction Pulay method (“GR-Pulay”), RMM-DIIS method (“RM-DIIS”), Kerker method (“Kerker”), or RMM-DIISK method (“RMM- DIISK”) or RMM-DIISH method (“RM-DIISH”) can be specified. OpenMX’s simple mixing method has been improved to reference the convergence history to speed up the convergence. When using “GR-Pulay”, “RMM-DIIS”, “Kerker” or “RMM-DIISK”, the SCF calculation can be accelerated by paying attention to the following points. Some convergence is required before mixing begins in a way that conforms to the Pulay method. Therefore, use a slightly larger “scf.Mixing.StartPulay” value. A good value for “scf.Mixing.StartPulay” is 10-30. For metal systems, use a high “scf.ElectronicTemperature” value. When “scf.ElectronicTemperature” is small, numerically unstable behavior is often seen. Increase the value of “scf.Mixing.History”. In most cases, “scf.Mixing.History = 30” is a reasonable value. Among the mixing methods described above, “RMM-DIISK” is the most robust.


Specify the initial mixing ratio used in the Simple, GR-Pulay, RMM-DIIS, Kerker, RMM-DIISK, and RMM-DIISH methods. Valid range is 0 <Init.Mixing.Weight < 1


Specifies the lower limit of the mixing ratio in simple and Kerker mixing methods.


Specifies the upper limit of the mixing ratio in simple and Kerker mixing methods.


In the GR-Pulay method, RMM-DIIS method, Kerker method, RMM-DIISK method and RMM-DIISH method, the input electron density (Hamirutonian) in the next iteration step of SCF is estimated based on the electron density of the past SCF iteration (Hamiltonian). ). The “scf.Mixing.History” keyword specifies the number of past SCF iteration steps used for this estimation. For example, if “Mixing.History” is set to 3, the 6th SCF iteration takes into account the 5th, 4th, and 3rd step electron density in the past.


Specify the SCF step that starts the GR-Pulay, RMM-DIIS, Kerker, RMM-DIISK, and RMM-DIISH methods. SCF steps up to the start of these methods use simple or Kerker mixing.


Specify the convergence condition for the SCF calculation (in Hartree). The SCF iteration ends when the condition dUele < scf.criterion is met. Here dUele is the absolute difference in band energy between the current SCF iteration and the previous iteration. The default value is 1.0e-6 (Hartree units).

SCF.Hubbard tab

Set to“ ON ”for LDA + U and GGA + U calculations.


In the LDA + U method, you can choose from three occupancy operators: “onsite”, “full” and “dual”.

OrderN tab

Defines the radius (Å) of the sphere centered on each atom. In the DC method and the O (N) Krylov subspace method, a cluster is formed by selecting the atoms contained in this sphere.


Specifies the Krylov subspace dimensions for the Hamiltonian of each cut cluster.


If you set” Exact.Inverse.S = off “in the keyword below, the inverse matrix of the overlap integral is approximated using the Krylov subspace method. At this time, specify the dimension of the Krylov subspace method of the overlap matrix for each cut cluster.


When set to” on “, the inverse of the overlap matrix of each clipped cluster is evaluated strictly. Please refer to the keyword” KrylovS.order “above when setting to” off “.


If set to” on “, the buffer matrix is recalculated for each SCF iteration. If” off “, the buffer matrix is calculated in the first SCF step and fixed in subsequent SCF iterations.


When set to” on “, the core region consists of atoms in a sphere with a radius of 1.2×rmin. Where rminis the distance between the central atom and the nearest neighbor. This core region defines the set of vectors used in the first step when generating the Krylov subspace. If” off “, the central atom is considered the core region.

MD tab

Specifies the type of molecular dynamics calculation or structure optimization. Currently available options are: No MD (“ Nomd ”), structural optimization of atomic coordinates (“ Opt ”), Structural optimization (“RFC5”), including unit cell flexibility, NVE Ensemble MD (“NVE>”), NVT ensemble MD (“NVT_VS”) by speed scaling method, NVT ensemble MD (“NVT_NH”) by the Nose-Hoover method.


Specify the maximum number of iterations for MD and structural optimization calculations.


Specify time step (fs).


If you choose a structure optimization method with the” Type “keyword, set the convergence condition (Hartree/Bohr) with the keyword” Opt.criterion “. Structural optimization ends when the maximum absolute value of the force applied to the atom is smaller than the value specified here.


When performing structure optimization using “DIIS”, “EF”, or “RF”, the “Opt.DIIS.History” keyword is used to specify the past step number to be referred to for structure optimization.


Specify the step to start structural optimization with “DIIS”, “EF”, and “RF” with the “Opt.StartDIIS” keyword. The steepest descent method is used in the previous steps before starting the DIIS-type structural optimization.


If you select “NVT_NH” for the “Type” keyword, this keyword sets the mass of the heat bath. Units are unified atomic mass units (units where the mass of the main isotope of a carbon atom is 12.0).


Specify the temperature of atomic motion in MD and NVT ensembles. If” NVT_VS “is selected, the temperature of atomic motion can be controlled as shown in the example below.

  100   2  1000.0  0.0
  400  10   700.0  0.4
  700  40   500.0  0.7

The description starts with “<MD.TempControl” and ends with “MD.TempControl>” .The first number “3” indicates the number of lines for the temperature specification that follows. There are three lines in the example. The first column of the following row indicates the number of MD steps, and the second column specifies the MD step interval for speed scaling. In the example, speed scaling is performed every 2 steps up to the 100th step, every 10 steps between 100 and 400 steps, and every 40 steps between 400 and 700 steps. Columns 3 and 4 specify temperature (K) and scaling parameter alpha, respectively. For details, refer to the “Molecular Dynamics” chapter. On the other hand, for NVT_NH, the temperature of atomic motion can be controlled with the following description.

  1    1000.0
  100  1000.0
  400   700.0
  700   600.0

The description starts with “<MD.TempControl” and ends with “MD.TempControl>”. The first number “4” refers to the number of lines that follow the temperature specification. In this example, there are 4 lines. The first and second columns of the subsequent rows specify the number of MD steps and the temperature of the atomic motion, respectively. The temperature between the specified MD steps is linearly complemented.

File tab

Specify the level of output information to the standard output. If” 0 “is specified, the minimum information is output. If “1”, additional information is output in addition to the minimum output. “2” is an option for developers.


Specify the level of output information to the output file. If “0” is specified, the minimum information is output (no Gaussian cube and grid file output). “1” is the standard output information level. If “2”, additional information is output in addition to the standard output.

Bands/DOS tab

Set to“ ON ”to evaluate band dispersion.


Set to ON to evaluate the total density of states (DOS) and projected partial density of states (PDOS).


Specify the energy range (lower limit and upper limit) for DOS calculation separated by single-byte spaces.


Specify (n1, n2, n3) grid points to discretize the first Brillouin zone for DOS calculations.

MO tab

If you want to output molecular orbitals to a file, specify “ON”.


Specify the number of highest occupied molecular orbitals (HOMO) to output.


Specify the number of lowest unoccupied molecular orbitals (LUMOs) to output.


If “fileout”is set to “ON” and “EigenvalueSolver” in the SCF tab is set to “Band”, specify the number of k points to output MO with the “Nkpoint” keyword.

Species tab


Specify the name of the atomic species.


Specify the number of primitive trajectories and the number of reduced trajectories.


Specify the file name without extension of pseudo-atomic base orbit.


Specify file name without pseudopotential extension.


Specify the unit of the atomic coordinate.

6.17.2. Run

Execute OpenMX

The following files are generated upon execution. As an example, the file/folder name when the input file is: file:` dia.mxin` and System.Name is wm is shown.



bat file

A batch file for running OpenMX. Run dia.sh via CygwinWM.

sh file

A shell script file for running OpenMX.

log file

log file of dia.sh

mxout file

Calculation output file. A copy of wm.out in the working folder.

Working folder
Working folder

The following files are generated in the working folder. Only the main files are shown here.



File to specify calculation conditions. A copy of dia.mxin.
This is a redirected file of OpenMX standard output.
History of SCF calculation and structure optimization, Mulliken charge, total energy and dipole moment are preserved.
The final geometric structure obtained by MD or structural optimization is preserved.
“scf.EigenvalueSolver = Band” will output the atomic coordinates including the copied cell atoms.
Atomic coordinates for each MD step are saved.
Atomic coordinates in the last MD step are saved. An atom is specified using the specified atomic species symbol.
Calculated values for each MD step are saved. The contents of each saved value can be checked in the“ iterout.c ”routine.
Band dispersion data file is saved.
Eigenvalue data file for calculating density of states.
Eigenvector data file for calculating density of states.
The total electron density in Gaussian cube format is stored.
The spin electron density is preserved when spin polarization calculations are performed using “LSDA-CA”, “LSDA-PW”, “GGA-PBE”.
The difference electron density calculated based on the superposition of the electron density of the isolated atoms of the constituent atoms is stored.
Kohn-Sham potential is preserved except for non-local potential of upspin.
Kohn-Sham potential is excluded except for non-local potential of downspin in spin polarization calculations.
The difference electron Hartree potential resulting from the difference electron density is preserved.


**Working folder**

  • A working folder is a folder with the suffix of the name of the file opened in the main window.

    • ** The suffix depends on the type of solver. **

    • For example, for Gromacs, if the file opened in the main window is aaa.gro and the suffix is _gmx_tmp, the name of the working folder is aaa_gmx_tmp.

  • It must be on the same level as the file opened in the main window.

  • Although processing continues in the working folder with the same name for continued jobs, by default, a backup of the working directory of the previous job is created immediately before the continuous job is executed.

    • The name of the backup will be the lowest number in the range where there are no duplicate names. For example, if your working folder is aaa_gmx_tmp, it will be aaa_gmx_tmp1.

    • ** Unnumbered directories are always up to date. **

Job is run through Winmostar Job Manager.

6.17.3. Open Log File (mxout)

Open the log file with a text editor.

6.17.4. Animation (md)

Create and display animations such as structure optimization and molecular dynamics calculations from md file information.

Please refer to Animation operation area for how to operate the animation. From the animation operation area, you can calculate the radial distribution function, self-diffusion coefficient, mean-square displacement, and displacement of each atom.

6.17.5. Analyses Density/Spin/Energy Distribution

Specify the cube file and display the electron density, spin density, and energy distribution.

See Surface Setup / Cubgen window for how to operate subwindows. Band Structure

Specify the working folder (dia_mx_data\) and display the band structure.

Calculation must be completed with Band.dispersion=on Density of of States

Specify the working folder ( dia_mx_data\) and display the density of states.

Calculation must be completed with Dos.fileout = on

Please refer to How to operate the graph for how to operate the graph drawing area. Partial DOS

Specify the working folder ( dia_mx_data\) and display the partial density of states (PDOS).

Calculation must be completed with Dos.fileout = on

Please refer to How to operate the graph for how to operate the graph drawing area. Fermi Surface

Specify the working folder ( dia_mx_data\) and display the fermi surface.

Use FermiSurfer <https://mitsuaki1987.github.io/fermisurfer/index_ja.html> to display the Fermi surface. In # of K Points, specify the number of k-point divisions when calculating bands, and press the Calc button to display the Fermi surface.