Spinss:通过合适的初始自旋密度加速自旋哈密顿量的四态方法计算
《Computer Physics Communications》:Spinss: Accelerating the four-state method for spin Hamiltonian via appropriate initial spin densities
【字体:
大
中
小
】
时间:2026年07月23日
来源:Computer Physics Communications 3.9
编辑推荐:
摘要:四态方法[Phys. Rev. B 84, 224,429 (2011)]是一种用于计算磁性材料中自旋哈密顿量参数的可靠方法。然而,传统的自洽实现往往存在收敛困难和高计算成本的问题。在此,我们提出了一种生成合适初始自旋密度的方法,该方法可显著减少所需的自洽迭代次数。值得注意
摘要:四态方法[Phys. Rev. B 84, 224,429 (2011)]是一种用于计算磁性材料中自旋哈密顿量参数的可靠方法。然而,传统的自洽实现往往存在收敛困难和高计算成本的问题。在此,我们提出了一种生成合适初始自旋密度的方法,该方法可显著减少所需的自洽迭代次数。值得注意的是,我们发现这种初始分布甚至能使非自洽计算也能得到合理的结果。为便于应用该方法,我们开发了Spinss这一开源代码,它能生成初始自旋密度以及自洽和非自洽密度泛函理论计算所需的其他文件。我们详细介绍了该算法、输入输出文件以及应用示例,这些示例展示了Spinss在体材料和低维系统中的有效性。
程序概述
程序名称:Spinss
CPC程序文件链接:https://doi.org/10.17632/9z8drdc7pm.1L
许可条款:MIT
编程语言:Fortran 90
问题本质:自旋哈密顿量是研究磁性材料的计算基础。虽然传统的四态方法用于提取自旋哈密顿量较为可靠,但它常常面临收敛困难和计算成本高的问题。这些问题的产生源于涉及非共线自旋和非自然自旋构型的受限自洽从头算计算。因此,将四态方法应用于复杂的磁性材料十分困难,这阻碍了新型磁性材料的理论设计以及磁现象的研究。
解决方案:所提出的解决方案为:(1)在四态方法的自洽计算中使用合适的初始自旋密度,以加速收敛并提高稳定性;(2)基于这些自旋密度进行非自洽计算,从而完全避免收敛问题。Spinss代码可通过将局部磁矩旋转到目标方向,为特定的自旋构型生成初始自旋密度。这些密度可作为受限自洽从头算计算的输入,减少所需的自洽迭代次数,提高计算效率。Spinss还支持使用生成的自旋密度进行非自洽计算,无需进行计算成本较高的受限自洽循环即可得到合理的磁交换参数。
引言:定量确定自旋哈密顿量参数是原子级计算磁学的基础。历史上,这些参数是通过经验或半经验方法提取的,例如根据实验测得的居里温度来拟合哈密顿量[1]、[2]。尽管这些方法对已充分研究的材料很有价值,但它们由于依赖于实验数据而存在固有局限性。这一限制妨碍了新型磁性材料的理论设计,因此人们迫切需要无需依赖经验参数的可靠计算技术。
密度泛函理论[DFT][3]、[4]通过实现自旋交换常数的从头算预测,彻底改变了磁性材料的研究方式[5]、[6]、[7]。一种著名的基于DFT的方法是Liechtenstein等人提出的线性响应方法[8],也称为磁力定理[MFT][9]。该方法将局部自旋旋转视为对磁基态的扰动,以此来提取交换常数[10]、[11],它已被广泛应用于各种计算软件包,并成功用于多种材料的研究。此外,最近还开发了几种用于计算自旋交换参数的实现方法,其中包括SpinDFT,这是一种用于高通量评估自旋交换参数的扰动计算代码[12]。虽然这种方法在计算各向同性的海森堡交换相互作用时相当可靠,但当扩展到非对角项,如Dzyaloshinskii-Moriya(DM)相互作用时,其对计算细节的敏感性会更高。
另一种确定自旋交换常数的方法是能量映射方法[13]、[14]、[15]、[16]。该方法将不同自旋构型的DFT计算得到的总能量拟合到一个有效的自旋哈密顿量形式上,即H=∑i,jSi·Jij·Sj+∑iSi·Aii·Si,其中Si和Sj分别表示位置i和j处的磁矩。该哈密顿量由两项组成:由对称矩阵A描述的单离子各向异性(SIA)项,以及由矩阵J表示的交换相互作用项。J的对称部分包含海森堡相互作用和其他对称交换相互作用,而反对称部分则为DM相互作用。Xiang等人提出的四态方法是一种更为便捷的能量映射方法版本[17]、[18]、[19],它可以通过四种不同的状态预测矩阵J的每个元素。例如,位置1和位置2之间的J的xy分量可以从以下四种不同的磁状态中获得:
状态1:S1=(1,0,0),S2=(0,1,0),其他状态=(0,0,1)
状态2:S1=(1,0,0),S2=(0,?1,0),其他状态=(0,0,1)
状态3:S1=(?1,0,0),S2=(0,1,0),其他状态=(0,0,1)
状态4:S1=(?1,0,0),S2=(0,?1,0),其他状态=(0,0,1)
然后,J12xy的值可通过J12xy=E1?E2?E3+E44来计算,其中E1至E4分别是通过DFT计算得到的状态1至状态4的能量值。
与提取交换常数J类似,SIA参数也可以通过四态方法并借助特别选择的自旋构型来确定,这种方法更为简单,因为能量映射中只涉及一个自旋位点。此外,由于SIA矩阵A的对称性,其非对角元素只有三个独立的值,例如Aixy,这些值可以通过四种磁构型Si=12(±1,±1,0),其他状态=(0,0,1)的能量来获取。另外,三个对角元素还可以进一步简化为Aiyy?Aixx和Aizz?Aixx,这些同样可以通过使用四种选定的自旋状态来获得。例如,我们可以通过计算以下四种自旋构型的能量来确定Aiyy?Aixx的值:
状态1/2:Si=(0,±1,0),其他状态=(0,0,1)
状态3/4:Si=(±1,0,0),其他状态=(0,0,1)
在实际应用中,要使用四态方法,需要将每个原子的磁矩约束到特定方向。这通常是通过添加一个惩罚项来实现的,该惩罚项能引导局部磁矩朝向目标方向[20]、[21]。由于Jij矩阵或Aii矩阵包含多个分量,因此对于大量不同的自旋状态,必须使用约束后的磁矩来进行自洽(SCF)计算。然而,要让这类SCF计算达到收敛相当困难,因为人为设定的磁态往往与真实的能量最小值相差较大,从而导致数值不稳定。当加入自旋轨道耦合(SOC)时,情况会变得更糟,因为它增加了系统的复杂性,大幅提升了计算成本。为了解决这些问题,Wan等人提出了一种策略,通过考虑系统的对称性来系统地减少独立自旋构型的数量[22]。此外,还基于SCF四态框架开发了若干实现方法,其中包括非共线四态方法,该方法旨在利用基于SCF的四态方法计算高阶自旋相互作用[23]。尽管针对非基态自旋构型的约束SCF计算仍然不可或缺,但这阻碍了四态方法在复杂磁性材料中的实际应用。
在本研究中,我们开发了Spinss代码,该代码通过处理初始自旋密度来加速四态方法的计算。在从Vienna Ab initio Simulation Package(VASP)的输出中加载基态自旋密度分布后,该代码可将局部磁矩旋转到目标方向,从而为特定的自旋构型生成合适的自旋密度,这些密度可用作约束SCF计算的初始自旋密度分布。这样一来,四态方法的效率得到了显著提升。有趣的是,我们发现基于这些初始自旋密度的非SCF(NSCF)计算也能得到精度较高的磁交换常数,这比完全的SCF方案更为高效。
本文结构如下:第2节介绍Spinss的工作流程;第3节阐述命令行界面及关键参数;第4节通过八个案例研究展示Spinss的功能,这些案例包括CrI3单层结构、MnSeTe Janus单层结构、体心立方(BCC)结构的Fe、六方密堆积(HCP)结构的Co、面心立方(FCC)结构的Ni、BiFeO3晶体、由双交换机制驱动的二维(2D)CrSBr结构,以及磁阻挫系统Mn3Sn;第5节为简要总结。
代码概览:该代码是用Fortran语言编写的。提取Spinss.tar.gz文件后,会生成一个名为Spinss的目录,其中包含一个Makefile、一个markdown格式的Readme.md文件,以及src、doc和examples三个子目录。所有用于编译该程序的Fortran 90源文件都位于src目录中。doc目录里有一个名为CommandLines.md的markdown文件,其中介绍了该代码的功能及命令行用法。examples目录下有六个子目录,对应不同的用户指导内容。可以通过在Spinss目录中使用make命令来获取可执行文件Spinss.x。之后可通过命令行调用Spinss.x + 关键词 + 参数 +...的形式来运行该代码。下面我们将详细介绍Spinss.x的使用方法。
• $ Spinss.x flip_spin
该命令可让Spinss读取输入文件,并根据用户定义的自旋构型生成自旋密度。要执行此操作,需在工作目录中放置三个必要的输入文件:POSCAR、CHGCAR和flip_spin.dat。
示例:在本节中,我们通过八个示例展示Spinss的功能和用法,这些示例包括CrI3单层结构、MnSeTe单层结构、BCC结构的Fe、HCP结构的Co、FCC结构的Ni、BiFeO3晶体、由双交换机制驱动的二维CrSBr结构,以及Mn3Sn结构。CrI3单层结构是首个被发现的二维磁性材料。MnSeTe是一种具有特殊意义的二维Janus磁性材料,由于其镜面对称性被打破,且存在较强的自旋轨道耦合,因此有助于形成二维磁斯格明子。BCC结构的Fe、HCP结构的Co和FCC结构的Ni则是研究最为透彻的体块磁性材料之一。
结论:总之,我们开发了开源代码Spinss,它通过四态方法显著提高了计算自旋哈密顿量参数的效率。通过生成合适的初始自旋密度,Spinss大幅加快了SCF DFT计算的收敛速度,从而降低了计算成本。值得注意的是,我们还证明了使用这些初始自旋密度进行的NSCF DFT计算也能确定自旋哈密顿量参数,而且无需……
致谢声明:
作者贡献说明:
Xinlong Yang:撰写——原始草稿、可视化、验证、软件开发、研究工作。
Menglei Li:撰写——审阅与编辑、监督、资源提供、项目管理、资金筹集、概念构思。
Fawei Zheng:撰写——审阅与编辑、验证、监督、资源提供、项目管理、方法设计、资金筹集、概念构思。
利益冲突声明:作者声明不存在任何可能影响本文研究工作的已知财务利益或个人关系。
Xinlong Yang|Menglei Li|Fawei Zheng
中国北京市100081,北京工业大学,先进光电量子架构与测量重点实验室(教育部)、纳米光子学与超精细光电子系统北京重点实验室,物理学院。