openmx使用

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)**,
    即在径向上离散化、非解析形式。

优点 🌟

  1. 基函数数量少 → 计算量小,内存需求低。
  2. 矩阵稀疏(局域性强)→ 更高效地处理大体系。
  3. 物理直观:容易解释电子在原子间的局域性、化学键。
  4. 容易用于分子、团簇、纳米器件(如 NEGF 输运)。

缺点 ⚠️

  1. 精度依赖于基组选择,不同基组结果可能差异较大。
  2. 系统性收敛较难控制(不像平面波那样能通过 cutoff 直接控制精度)。
  3. 不太适合周期性大晶体或金属体系(收敛慢)。

🌊 三、平面波基(Plane Wave Basis)

代表软件:VASP、Quantum ESPRESSO、ABINIT

特点

  • 基函数是形如 eiG⋅re^{i\mathbf{G}\cdot\mathbf{r}}eiG⋅r 的 平面波
  • 在周期性体系(晶体)中最自然,因为平面波满足周期性边界条件。

优点 🌟

  1. 收敛可控:只需调节一个能量截断值(cutoff energy)。
  2. 对原子类型不敏感:统一的基组处理各种元素。
  3. 非常适合周期性体系(晶体、表面、固体)
  4. 可与赝势(PAW、USPP)结合,高精度且稳定。

缺点 ⚠️

  1. 基函数数目非常多(动辄几万个),计算量大;
  2. 占内存大,对计算资源要求高
  3. 不直观,难以进行化学键或局域电荷分析;
  4. 不适合孤立分子或真空较大的体系

⚔️ 四、对比总结

特性 原子轨道基 (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.vpsC5.0-s2p2d1.pao)。
如果混用不同版本(如 PBE 与 LDA),结果会不可靠。


🧠 比喻理解

  • **赝势 (VPS)**:告诉程序“电子感受到怎样的原子核吸引力”;
  • **基组 (PAO)**:告诉程序“电子能在哪些轨道上活动”。

🧩 两者结合起来,OpenMX 才能建立哈密顿量矩阵,进行自洽场 (SCF) 计算。


转载请注明来源 有问题可通过github提交issue