为什么需要软件工程

一篇方法论文要变成社区真正使用的工具,中间隔着大量脏活:单位换算、文件格式解析、基组变换、并行调度……初代DeepH( 初代DeepH:用神经网络表示DFT哈密顿量 )发表后,各课题组纷纷自建流水线,实现碎片化、接口不统一,复现与比较都成了负担。

DeepH-pack就是为解决这一问题而生的官方统一实现,由deepmodeling社区维护。它把DeepH方法完整落地为一个开源工具箱,并在2026年以《DeepH-pack: a general-purpose neural network package for deep-learning electronic structure calculations》为题发表于 npj Computational Materials——此时它已经从一个方法的配套代码,成长为覆盖”第一性原理计算×深度学习”整条链路的通用平台。对于想上手DeepH系列的读者,这是不二的第一入口。

三步工作流

DeepH-pack把一次完整的建模拆成三步:Preprocess → Train → Inference

Preprocess负责把DFT软件输出的原始数据加工成训练可用的形态:转换单位、按结构分文件夹存储文本与HDF5格式的数据、生成局部坐标系、并对哈密顿矩阵执行基变换——把全局系下的矩阵元旋到局部系中,正是 初代DeepH:用神经网络表示DFT哈密顿量 中那套”化协变为不变”的操作。

Train读取处理好的数据集训练神经网络,建议在GPU上进行。损失函数是哈密顿矩阵元的均方误差,

训练配置由ini文件控制,默认参数即对应论文设置。

Inference是收获的季节:加载训练好的模型,对大尺度目标结构预测哈密顿矩阵,并直接进行稀疏对角化计算物理性质。由于近邻性保证了大哈密顿矩阵的稀疏性——非零子块只占全部原子对的极小比例,

稀疏对角化的代价近似线性于非零元数目,远比稠密对角化的$O(N^3)$便宜——能带等性质可以在不同k点上并行求解,which_k接口专门为此设计。官方演示中,244个原子的扭转双层铋烯能带计算端到端完成;用石墨烯超胞训练的模型预测碳纳米管的ABACUS流程也有现成的示例包。

与DFT软件的对接

深度学习电子结构的特殊之处在于:它无法完全脱离DFT软件而存在——训练集需要DFT自洽计算,推理阶段也有一件事必须借DFT之手完成,那就是大体系的overlap矩阵$S$。

这里有个容易被忽略的技术点。DeepH预测的是局域基下的哈密顿矩阵,而最终求解本征值问题面对的是广义本征值方程

其中overlap矩阵元是两中心积分,

它编码了基函数的交叠信息,是大体系输入特征的一部分。好消息是计算$S$不需要自洽迭代——它只依赖原子位置与基组,对上万原子的体系也只是一次轻量的非自洽计算。对周期性体系,只需在Bloch表象下对角化各k点的矩阵对即可得能带:

DeepH-pack为此给每个支持的DFT软件都准备了专门的取$S$方案:例如ABACUS中只需在INPUT里设置calculation get_S,OpenMX则有专门的overlap-only工具。

目前DeepH-pack支持 ABACUS、OpenMX、FHI-aims、SIESTA 四种DFT软件的接口(HONPAS在计划中),覆盖了国内主流与国际常用的局域基/数值原子轨道实现。需要注意的原则只有一条:训练集与大体系的overlap必须来自同一软件、同一基组——毕竟网络学到的映射是绑定在这个表示上的。

数据集设计的原则

DeepH类方法是”专用模型”范式:针对一类化学环境相近的目标体系,设计一个小结构数据集。官方文档给出的经验可以浓缩成一句话——让训练集中的局域环境完整覆盖目标体系中的局域环境

具体操作上:选取与目标体系化学键合环境相近的非扭转小超胞;横向尺寸要足够大,使截断半径内的邻域不受周期镜像干扰;再引入充分多样的层间滑移和随机位置扰动,确保扭转、缺陷等真实构型中出现的局域环境都在训练集中出现过。这套原则在moiré扭转材料上被反复验证,也是后续DDHT数据库(上百种双层材料的预训练模型库)的方法论基础。

结语

DeepH-pack的价值在于把”复现论文”变成了”跑通教程”。Preprocess—Train—Inference的三步流程、四种DFT软件的标准化接口、免自洽的overlap矩阵技巧,共同构成了DeepH系列的地基。此后家族成员的涌现——E3的等变化、DeepH-2的Transformer化、hybrid的泛函升级——都以这个工程框架为参照系。

不过到目前为止,我们介绍的所有方法都遵循同一条流水线:先跑DFT攒数据,再监督地拟合。下一篇 DeepH-Zero:当能量泛函成为损失函数 我们看一个釜底抽薪的想法:能不能干脆不要这条流水线?