1.介绍
一、OpenMX 是什么?
OpenMX(Open source package for Material eXplorer)
是一个用于材料模拟的 第一性原理电子结构计算程序包,基于 密度泛函理论(DFT)。
它由日本东京大学 T. Ozaki 教授团队开发,使用 数值原子轨道(NAO, Numerical Atomic Orbitals) 作为基函数,可以计算:
- 原子、分子、表面、固体的基态性质;
- 能带结构、态密度;
- 电荷密度与自旋密度;
- 分子动力学(MD);
- 输运性质(NEGF 方法);
- 光学性质;
- 含范德华修正(DFT-D, DFT-D3)等。
官方网址: https://www.openmx-square.org
二、OpenMX 的主要特点
| 特点 | 说明 |
|---|---|
| 基函数类型 | 使用数值原子轨道 (NAO),局域化、紧凑、计算量小 |
| 并行计算 | 支持 MPI、OpenMP 混合并行 |
| 开源免费 | 完全开源,可以自由修改与分发 |
| 支持输运 | 内置非平衡格林函数 (NEGF) 方法,能计算纳米器件输运性质 |
| 易于扩展 | C/Fortran 代码结构清晰,适合研究者二次开发 |
| 轻量化 | 计算资源要求相对较低,适合中小型体系或集群计算 |
2. 原子轨道基和平面波的区别
“原子轨道基(atomic orbital basis)” 和 “平面波基(plane wave basis)” 是两种最常用的 电子结构计算基组类型,它们在 思想、优缺点、适用场景 上都很不一样。
我们来详细对比一下👇
🧬 一、什么是“基组”?
在密度泛函理论(DFT)或量子化学计算中,我们要把电子波函数 ψ(r)\psi(\mathbf{r})ψ(r) 展开在一组“基函数”上:
ψ(r)=∑iciϕi(r)\psi(\mathbf{r}) = \sum_i c_i \phi_i(\mathbf{r})ψ(r)=i∑ciϕi(r)
这些 ϕi\phi_iϕi(称为“基函数”)可以是不同的形式,而不同的程序(如 VASP、OpenMX、Gaussian)使用的基组类型不同。
⚛️ 二、原子轨道基(Atomic Orbital Basis)
代表软件:OpenMX、Gaussian、ORCA
特点
- 基函数是 局域化的原子轨道(如 s、p、d 型),
形状和范围接近原子本征轨道。 - 在 OpenMX 中,这些是 **数值原子轨道 (NAO)**,
即在径向上离散化、非解析形式。
优点 🌟
- 基函数数量少 → 计算量小,内存需求低。
- 矩阵稀疏(局域性强)→ 更高效地处理大体系。
- 物理直观:容易解释电子在原子间的局域性、化学键。
- 容易用于分子、团簇、纳米器件(如 NEGF 输运)。
缺点 ⚠️
- 精度依赖于基组选择,不同基组结果可能差异较大。
- 系统性收敛较难控制(不像平面波那样能通过 cutoff 直接控制精度)。
- 不太适合周期性大晶体或金属体系(收敛慢)。
🌊 三、平面波基(Plane Wave Basis)
代表软件:VASP、Quantum ESPRESSO、ABINIT
特点
- 基函数是形如 eiG⋅re^{i\mathbf{G}\cdot\mathbf{r}}eiG⋅r 的 平面波;
- 在周期性体系(晶体)中最自然,因为平面波满足周期性边界条件。
优点 🌟
- 收敛可控:只需调节一个能量截断值(cutoff energy)。
- 对原子类型不敏感:统一的基组处理各种元素。
- 非常适合周期性体系(晶体、表面、固体)。
- 可与赝势(PAW、USPP)结合,高精度且稳定。
缺点 ⚠️
- 基函数数目非常多(动辄几万个),计算量大;
- 占内存大,对计算资源要求高;
- 不直观,难以进行化学键或局域电荷分析;
- 不适合孤立分子或真空较大的体系。
⚔️ 四、对比总结
| 特性 | 原子轨道基 (NAO) | 平面波基 (PW) |
|---|---|---|
| 代表软件 | OpenMX, Gaussian, ORCA | VASP, QE, ABINIT |
| 基函数形式 | 局域化原子轨道(原子中心) | 全局平面波 |
| 是否局域化 | ✅ 局域(只在原子附近非零) | ❌ 非局域(整个空间都有) |
| 矩阵特性 | 稀疏矩阵(高效) | 稠密矩阵(耗内存) |
| 适合体系 | 分子、簇、器件、非周期体系 | 固体、表面、周期性晶体 |
| 计算资源 | 低(轻量) | 高(重型) |
| 精度控制 | 依赖基组类型 | 可通过 cutoff 收敛控制 |
| 输运计算 | ✅ 可自然结合 NEGF | ❌ 需额外接口 |
| 扩展性(自定义基组) | 高 | 低 |
| 直观化 | 易于解释局域性质 | 难以直观理解 |
3. 基组和赝势
在量子化学或第一性原理计算中,“原子轨道基组(PAO)” 和 “赝势(VPS)” 是两个完全不同但相互配合的部分。
简单来说,一个定义电子“能住在哪”,另一个定义电子“受什么势场约束”。
⚛️ 一、赝势(VPS, Virtual Pseudo Potential)
🧩 作用:
- 赝势用来简化原子核与内层电子的相互作用。
- 在实际计算中,我们只关心价电子的行为(化学键、反应、导电等),
而不需要显式计算所有核和深层电子的波函数。
因此赝势通过“近似替代”核 + 内层电子的作用:
把“真实的核+内层电子势”换成一个平滑的有效势能函数,
使得价电子波函数在原子外部区间与真实波函数一致,但在核附近不再剧烈振荡。
🔬 举例:
真实势:电子波函数在核附近急剧震荡,很难收敛
赝势:用一个平滑函数替代,使数值计算容易、成本低
⚙️ 在 OpenMX 里:
赝势文件通常是
.vps,例如:C_CA19.vps Fe_PBE19.vps不同的赝势对应不同的交换-关联泛函(LDA, PBE 等)。
在输入文件中用来定义元素,比如:
Definition.of.Atomic.Species C C5.0-s2p2d1.pao C_CA19.vps
🧮 二、原子轨道基组(PAO, Pseudo Atomic Orbital)
🧩 作用:
- 它定义了电子波函数的展开方式。
- 在基于局域轨道(如 OpenMX)的 DFT 中,电子的波函数被展开为一组原子中心轨道(局域基函数)。
数学上:
ψi(r)=∑μcμi ϕμ(r)\psi_i(\mathbf{r}) = \sum_\mu c_{\mu i} , \phi_\mu(\mathbf{r})ψi(r)=μ∑cμiϕμ(r)
其中
- ϕμ(r)\phi_\mu(\mathbf{r})ϕμ(r):原子轨道基函数(PAO 文件定义)
- cμic_{\mu i}cμi:展开系数
这些基函数通常是从单个原子赝势下求得的“伪原子轨道”,因此称作 Pseudo Atomic Orbital。
⚙️ 在 OpenMX 里:
PAO 文件是
.pao,例如:C5.0-s2p2d1.pao其中:
C表示元素;5.0是基函数截断半径;s2p2d1表示使用 2 个 s、2 个 p、1 个 d 轨道。
PAO 的作用相当于:
- VASP 中的平面波基组;
- Gaussian 中的原子轨道基函数(如 6-31G、TZVP)。
🔄 三、两者的关系
| 项目 | 赝势 (VPS) | 原子轨道基组 (PAO) |
|---|---|---|
| 主要作用 | 模拟原子核+内层电子的有效势 | 展开电子波函数的数学基底 |
| 控制内容 | 势能项(核-电子相互作用) | 波函数形式(价电子的形状) |
| 位置 | 输入文件的第二列 | 输入文件的第一列 |
| 文件后缀 | .vps |
.pao |
| 在输入文件中出现 | Definition.of.Atomic.Species |
同一行定义 |
| 类比 | VASP 的 POTCAR | VASP 的平面波展开(或 Gaussian 的基组) |
它们必须匹配使用:
PAO 是在对应赝势下生成的(比如 C_CA19.vps → C5.0-s2p2d1.pao)。
如果混用不同版本(如 PBE 与 LDA),结果会不可靠。
🧠 比喻理解
- **赝势 (VPS)**:告诉程序“电子感受到怎样的原子核吸引力”;
- **基组 (PAO)**:告诉程序“电子能在哪些轨道上活动”。
🧩 两者结合起来,OpenMX 才能建立哈密顿量矩阵,进行自洽场 (SCF) 计算。
转载请注明来源 有问题可通过github提交issue