分享
ABACUS角动量算符矩阵表示实现
输入“/”快速插入内容
ABACUS角动量算符矩阵表示实现
用户2490
用户2490
4月20日修改
目标
实现
的计算,其中
是原子轨道,
和
是缩合索引(
,
),包括原子种类
,原子种类内原子编号
,角动量
,磁量子数
和价层分裂数
。
和
标记两个元胞,即
为两相距
的原子,其两轨道之间的矩阵元。
推导
全局角动量算符的分解
最一般地,角动量算符的定义为:
,
但其中位置算符
和动量算符
都直接或者间接依赖于位置,这给
带来了位置依赖性,也无法直接在周期性体系中定义。一种处理方式是利用Wannier函数考虑其电极化,另一种方法是利用ASA(Atom Spherical Approximation,
https://arxiv.org/pdf/2405.04239
)将角动量算符直接分解为各原子角动量算符的加和,使得“i原子的角动量算符对j原子的轨道无作用”。考虑到目前的应用场景主要面向SOC,因此后一种带来的误差是较小的。在角动量算符进行右作用(作用于右矢)之后,得到新的右矢,和左矢进行双中心积分,得到最终结果。
符号约定
由于ABACUS使用实球谐函数
,其定义为
(
https://abacus.deepmodeling.com/en/latest/advanced/pp_orb.html
),上式中
和
分别为取实部和虚部。或者将上式写为:
,其中
为(复数)球谐函数
的复共轭,和
有关系:
。另一方面,我们使用升降算符(ladder operator)来计算
和
:
,其中阶梯算符
作用在
上会得到
,
。我们将
进行更加general的符号定义,即:
,其中
为
。尝试作用在
上,
。尝试作用在
上,
结果将在后续推导中高频率使用。
LxSlm
我们直接将
作用在
上,得到
。
对于
的情况,
:
对于
的情况:
对于
的情况,我们仍然将
写成
:
综上,
接下来我们需要讨论如何将结果返回到实球谐函数的问题。对于任意球谐函数
,其中
,则其实部的根号2倍可以转化为
,其虚部的根号2倍可以转化为
。
因此分类讨论
的取值: