简介
OpenMX是材料模拟程序包,用于实现基于密度泛函理论的大标度从头计算。在DFT计算中有三个部分是相当耗时的:求解哈密顿矩阵元素,求解泊松方程,以及对角化广义久期方程。而在OpenMX中,根据计算量和内存,几乎可以用O(N)标度完成每一步。此外对于大标度的计算,还支持用MPI共享内存的并行计算,每个节点都是动态分配内存。因此OpenMX是涵盖生物材料和复合材料的纳米尺度材料科学中,有用而强大的工具。计算使用赝原子轨道和赝势,它们由ADPACK原子密度泛函程序计算产生。
功能
团簇、能带的总能量,O(N)标度计算。
用Fourier变换求解双中心积分。
用固定实空间网格求解三中心积分。
用FFT求解泊松方程。
交换-相关项使用局域密度近似(LDA, LSDA)和广义梯度近似(GGA)。
模守恒赝势。
非共线DFT。
使用赝势方案的标量相对论(Darwin和速率项)和完全相对论处理(Darwin和速率项 + SOC)。
O(N)标度“分而治之”方法和广义的分而治之方法,求解本征值问题。
交换耦合参数。
光传导率。
电荷掺杂。
均衡电场。
完全的和束缚的几何优化。
NEV系综分子动力学。
变分优化的赝原子基轨道。
电荷和自旋密度的Mulliken,Voronoi和ESP拟合分析。
波函和电子自旋密度的分析。
通过能带计算进行扩散分析。
态密度和投影态密度。
动态内存分配和MPI并行。
OpenMX 3.0新增功能:
1. 空原子。
2. 稳定的DIIS几何优化和电荷混合。
3. 重新开始计算。
4. Krylov子空间线性标度方法。
5. 轨道磁矩。
6. LDA+U。
7. 非共线自旋方向的约束DFT。
8. Berry相的宏观极化。
9. 用非平衡格林函数方法计算分子、纳米线和超点阵结构的电子疏运特性。
———————————————————————————————————————————————
1:
Three calculation parts in OpenMX are mainly
time-consuming:1:_ruation of Hamiltonian matrix elements.2:Solution
of Poisson’s equation.3:Diagonalization of the generalized secular
equation
For the first and
second parts, the computational time always scales as O(N) and
O(Nlog(N)) for any eigenvalue solver, where N is
the number of atoms, basis functions, or grid points. When
the conventional diagonalization scheme (cluster
and band methods) is used, the computational
time for 3 the third part scales
as O(N3). On the other hand, the O(N) methods can solve the
eigenvalue problem in O(N) operation in exchange
for accuracy.
2:
This
input file has a flexible data format, in which a
parameter is given behind a keyword, the order of keywords is
arbitrary, and a blank and a comment can be
also described freely. For the
keywords and options, both capital, small letters,
and the mixture are acceptable.
3:
Here we introduce an abbreviation of the basis
orbital we used as H4.0-s11p11, where H4.0
indicates the file name of the
pseudo-atomic DATA/PAO’, s11 means that one optimized orbitals
are constructed from one primitive orbitals for the s-orbital,
which means no contraction. Also,
in case of s11, corresponding to no
contraction, you can use a simple notation ’s1’
instead of ’s11’. Thus, ’H4.0-s1p1’ is equivalent to
’H4.0-s11p11’. It can be possible to assign
as the different atomic species for
the same atomic element by specifying the
different basis orbitals and pseudopotentials. For example,
you can define the atomic species as follows:
<Definition.of.Atomic.Species
H1 H4.0-s1p1 H_TM
H2 H4.0-s2p2d1 H_TM_PCC
C1 C4.5-s2p2 C_TM
C2 C4.5-s2p2d2 C_TM_PCC
Definition.of.Atomic.Species>
The
flexible definition may be useful for the decrease of computational
eforts, in which only
high level basis functions are used for atoms
belonging to the essential part which determines the
electric properties in the system, and lower level
basis functions are used for atoms in the other inert
parts.
4:
Ang—Angstrom, AU—atomic
unit, FRAC—fractional coordinate.In the fractional coordinates, the coordinates can
range from -0.5 to 0.5, and the coordinates beyond
its range will be automatically adjusted after reading the input
file.
5:
Currently, ’LDA’, ’LSDA-CA’,’LSDA-PW’, and ’GGA-PBE’ are
available, where ’LSDA-CA’ is the local spin density functional
of Ceperley-Alder, ’LSDA-PW’ is the local spin
density functional of Perdew-Wang. Note: ’LSDA-CA’ is faster than
’LSDA- PW’.