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 [32,33,34,35,36], and pseudo-atomic
localized basis functions [41]. 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 bulk materials, surfaces, interfaces, liquids, and low-dimensional materials.
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() methods implemented in OpenMX if several thousands CPU 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, it is expected 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 version 3 (GPLv3) [102], and they are
downloadable from http://www.openmx-square.org/

Features and capabilities of OpenMX Ver. 3.9 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
- DFT+U methods [20]
- norm-conserving pseudopotentials [2,33,34,36]
- variationally optimized pseudo-atomic basis functions [41]
- fully and scalar relativistic treatment within pseudopotential scheme [12,32,16]
- non-collinear DFT [8,9,10,11]
- constraint DFT for non-collinear spin and orbital orientation [13]
- macroscopic polarization by Berry's phase [15]
- O() divide-conquer (DC) method [50]
- O() divide-conquer with localized natural orbitals (DC-LNO) method [51]
- O() Krylov subspace method [43]
- parallel eigensolver by ELPA [39]
- simple, RMM-DIIS [58], GR-Pulay [57], Kerker [59], RMM-DIIS with Kerker's metric [58], and RMM-DIIS for Hamiltonian matrix [58] charge mixing schemes
- exchange coupling parameter [17,18]
- effective screening medium (ESM) method [125,128]
- scanning tunneling microscope (STM) simulation [71]
- DFT-D2 and DFT-D3 method for vdW interaction [135,136,137]
- unfolding method for band structures [142]
- nudged elastic band (NEB) method [72]
- calculations of absolute binding energies of core levels in bulks [88]
- optical conductivity and dielectric function [98]
- 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 [73]
- construction of maximally localized Wannier functions
- NVE ensemble molecular dynamics
- NVT ensemble molecular dynamics by a velocity scaling [30] and the Nose-Hoover methods [31]
- 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 with BoltzTrap [100,101]
- interface with Wannier90 [145]
- interface with XCrySDen for visualizing data such as charge density [105]
- 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 [39] 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. The variable cell optimization and band unfolding method are available. As new important features of OpenMX Ver. 3.9, it is worth mentioning that we release a novel O() method based on divide-conqure approach and localized natural orbitals, and calculations of absolute binding energies of core levels in bulks, which can be directly compared to binding energies observed in X-ray photoemission spectroscopy (XPS). We are continuously working toward development. Motivated contributors who want to develop the open source codes are always welcome.