OpenMX (Open source package for Material eXplorer) is a software package for
nano-scale material simulations based on density functional theories (DFT) [1],
norm-conserving pseudopotentials [21,22,23,24,25], and pseudo-atomic
localized basis functions [30]. The methods and algorithms used in OpenMX and their implementation
are carefully designed for the realization of large-scale *ab initio* electronic structure calculations
on parallel computers based on the MPI or MPI/OpenMP hybrid parallelism.
The efficient implementation of DFT enables us to investigate electronic, magnetic, and geometrical structures
of a wide variety of materials such as biological molecules, carbon-based materials, magnetic materials, and
nanoscale conductors. Systems consisting of 1000 atoms can be treated using the conventional diagonalization
method if several hundreds cores on a parallel computer are used.
Even *ab initio* electronic structure calculations for systems consisting of more than 10000 atoms are
possible with the O() method implemented in OpenMX if several thousands cores on a parallel computer are available.
Since optimized pseudopotentials and basis functions, which are well tested, are provided for many elements,
users may be able to quickly start own calculations without preparing those data by themselves.
Considerable functionalities have been implemented for calculations of physical properties such as magnetic, dielectric,
and electric transport properties. Thus, we expect that OpenMX can be a useful and powerful theoretical tool for
nano-scale material sciences, leading to better and deeper understanding of complicated and useful materials based on
quantum mechanics. The development of OpenMX has been initiated by the Ozaki group in 2000, and from then onward
many developers listed in the top page of the manual have contributed for further development of the open source
package.
The distribution of the program package and the source codes follow the practice of
the GNU General Public License (GPL) [63], and they are
downloadable from http://www.openmx-square.org/

Features and capabilities of OpenMX Ver. 3.8 are listed below:

- total energy and forces by cluster, band, O(), and low-order scaling methods
- local density approximation (LDA, LSDA) [2,3,4] and generalized gradient approximation (GGA) [5] to the exchange-correlation potential
- LDA+U methods [18]
- norm-conserving pseudopotentials [2,22,23,25]
- variationally optimized pseudo-atomic basis functions [30]
- fully and scalar relativistic treatment within pseudopotential scheme [12,21,15]
- non-collinear DFT [8,9,10,11]
- constraint DFT for non-collinear spin and orbital orientation [13]
- macroscopic polarization by Berry's phase [14]
- divide-conquer (DC) method [39] and Krylov subspace method for O() eigenvalue solver
- parallel eigensolver by ELPA [28]
- simple, RMM-DIIS [42], GR-Pulay [41], Kerker [43], RMM-DIIS with Kerker's metric [42], and RMM-DIIS for Hamiltonian matrix [42] charge mixing schemes
- exchange coupling parameter [16,17]
- effective screening medium (ESM) method [86,89]
- scanning tunneling microscope (STM) simulation [56]
- DFT-D2 and DFT-D3 method for vdW interaction [91,92,93]
- unfolding method for band structures [98]
- nudged elastic band (NEB) method [57]
- charge doping
- uniform electric field
- orbitally decomposed total energy
- fully and constrained geometry optimization
- fully and constrained variable cell optimization
- electric transport calculations by a non-equilibrium Green's function (NEGF) method [58]
- construction of maximally localized Wannier functions
- NVE ensemble molecular dynamics
- NVT ensemble molecular dynamics by a velocity scaling [19] and the Nose-Hoover methods [20]
- Mulliken, Voronoi, and ESP fitting analysis of charge and spin densities
- natural population analysis [7]
- analysis of wave functions and electron (spin) densities
- dispersion analysis by the band calculation
- density of states (DOS) and projected DOS
- flexible data format for the input
- Interface to XCrySDen for visualizing data such as charge density [66]
- completely dynamic memory allocation
- parallel execution by Message Passing Interface (MPI)
- parallel execution by OpenMP
- useful user interface for developers

The collinear and non-collinear (NC) DFT methods are implemented including scalar and fully relativistic pseudopotentials, respectively. The constraint NC-DFT is also supported to control spin and orbital magnetic moments. These methods will be useful to investigate complicated NC magnetic structures and the effect of spin-orbit coupling. The diagonalization of the conventional calculations is performed by a ELPA based parallel eigensolver [28] and ScaLAPACK which scales up to several thousands cores. The feature may allow us to investigate systems consisting of 1000 atoms using the conventional diagonalization. Not only the conventional diagonalization scheme is provided for clusters, molecules, slab, and solids, but also linear scaling and a low-order scaling methods are supported as eigenvalue solver. With a proper choice for the eigenvalue solvers, systems consisting of more than 10000 atoms can be treated with careful consideration to balance between accuracy and efficiency. As one of new important features of OpenMX Ver. 3.8, it is worth mentioning that the variable cell optimization and band unfolding method are supported. We are continuously working toward development. Motivated contributors who want to develop the open source codes are always welcome.

2016-04-03