氢原子的跃迁偶极子矩阵元计算(束缚态之间)

                     

贡献者: addis; 切糕糕

预备知识 氢原子的跃迁偶极子矩阵元和选择定则

   本文使用原子单位制

1. z 方向电场,束缚态到束缚态

   表 1 给出了核电荷数 Z=1 时的 ψn,l,m|z|ψn,l,m,由于这是一个实对称矩阵,只给出矩阵的下半三角。当 Z>1 时把表中每个矩阵元除以 Z 即可。这是因为 ψn,l,mZ 成反比进行缩放(保持归一化),导致 |ψn,l,m|2z 的平均值也是如此。另外注意 ψn,l,m|z|ψn,l,m=ψn,l,m|z|ψn,l,m

   根据式 3 可以用 3j 系数表示角向积分,进而化简为式 20

(1)Cl,m=Yl,m|cosθ|Yl+1,m=(l+1)2m2(2l+1)(2l+3) .
仅留下径向积分:
(2)ψn,l,m|rcosθ|ψn,l,m=(1)m(2l+1)(2l+1)(l1l000)(l1lm0m)0Rn,l(r)Rn,l(r)r2dr=δm,m(δl+1,lCl,m+δl,l+1Cl,m)0Rn,l(r)Rn,l(r)r3dr .

表1:ψn,l,0|z|ψn,l,0(实对称矩阵)的下半三角,Z=1
|n,l,m |1,0,0 |2,0,0 |2,1,0 |3,0,0 |3,1,0 |3,2,0 |4,0,0 |4,1,0 |4,2,0 |4,3,0
|1,0,0 0
|2,0,0 0 0
|2,1,0 1282243 3 0
|3,0,0 0 0 3456615625 0
|3,1,0 27642 2764815625 0 36 0
|3,2,0 0 0 110592378125 0 33 0
|4,0,0 0 0 102426561 0 575078425764801 0 0
|4,1,0 6144156255 512102187 0 4700160155764801 0 3538944576480165 65 0
|4,2,0 0 0 409626561 0 1592524825764801 0 0 245 0
|4,3,0 0 0 0 0 0 1911029764035360765 0 0 185 0

   这可以用于计算类氢原子斯塔克效应以及跃迁率等。

   注意 m 值不同矩阵元也会不同,例如 3,1,0|z|3,2,03,1,1|z|3,2,1 是不一样的。因为球谐函数中 m 不光决定相位因子 eimϕ 也会决定连带勒让德函数 Plm(cosθ)

   Mathematica 代码如下(请自行修改矩阵尺寸和循环范围),HydrogenR 函数见类氢原子的束缚态

代码 1:DipoleZ.m
DipoleZ[Z_, n1_, l1_, m1_, n2_, l2_, 
   m2_] := (-1)^
    m1 Sqrt[(2 l1 + 1) (2 l2 + 1)] ThreeJSymbol[{l1, 0}, {1, 0}, {l2, 
     0}] Integrate[
    HydrogenR[Z, n1, l1, r]\[Conjugate] HydrogenR[Z, n2, l2, 
      r] r^3, {r, 0, +\[Infinity]}] ThreeJSymbol[{l1, -m1}, {1, 
     0}, {l2, m2}];
d = ConstantArray[0, {10, 10}];
i1 = 0; i2 = 0;
For[n1 = 1, n1 <= 4, n1++, For[l1 = 0, l1 < n1, l1++,
  ++i1; i2 = 0;
  For[n2 = 1, n2 <= 4, n2++, For[l2 = 0, l2 < n2, l2++,
    ++i2;
    d[[i1, i2]] = DipoleZ[1, n1, l1, 0, n2, l2, 0];
  ]]
]];
Print[d // MatrixForm];
顺便给出 x,y,z 三个方向的矩阵元的代码
代码 2:Dipole.m
(* eq_SelRul_1 *)
Dipole[Z_, n1_, l1_, m1_, n2_, l2_, m2_] :=\
(-1)^m1 Sqrt[(2 l1 + 1) (2 l2 + 1)]\
  ThreeJSymbol[{l1, 0}, {1, 0}, {l2, 0}] Integrate[\
  HydrogenR[Z, n1, l1, r]\[Conjugate] HydrogenR[Z, n2, l2, r] r^3, {r,\
    0, +∞}] {(ThreeJSymbol[{l1, -m1}, {1, -1}, {l2, m2}] - \
     ThreeJSymbol[{l1, -m1}, {1, 1}, {l2, m2}])/Sqrt[\
   2], (ThreeJSymbol[{l1, -m1}, {1, -1}, {l2, m2}] + \
     ThreeJSymbol[{l1, -m1}, {1, 1}, {l2, m2}])/Sqrt[2], \
  ThreeJSymbol[{l1, -m1}, {1, 0}, {l2, m2}]}

   Matlab 代码如下(请自行修改矩阵尺寸和循环范围),hydrogen_Rnl 函数见类氢原子的束缚态

代码 3:hydrogen_trans_dipole_z.m
% hydrogen <n1,l1,m1|z|n2,l2,m2>
% r_max is upper bound of r integral
function d_z = hydrogen_trans_dipole_z(Z,n1,l1,m1,n2,l2,m2,r_max)
if (n1 <= 0 || l1 < 0 || l1 >= n1 || abs(m1) > l1)
    error('illegal n1,l1,m1');
end
if (n2 <= 0 || l2 < 0 || l2 >= n2 || abs(m2) > l2)
    error('illegal n2,l2,m2');
end
if (abs(l1-l2) ~= 1 || m1 ~= m2)
    d_z = 0; return;
end
integrand = @(r) hydrogen_Rnl(Z,n1,l1,r) ...
    .* hydrogen_Rnl(Z,n2,l2,r) .* r.^3;
% radial integral
% change of variable r = tan(x) to avoid infinite upperbound
I_r = integral(integrand, 0, r_max);
if isnan(I_r) || isinf(I_r)
    error('integral failed!');
end
% angular integral
I_th = (-1)^m2 * sqrt((2*l1+1)*(2*l2+1)) ...
    * ThreeJ(l1,0,1,0,l2,0) * ThreeJ(l1,-m1,1,0,l2,m2);
d_z = I_r * I_th;
end

   以下函数需要 parallel toolbox 加速,如果没有可能会较慢(parfor 自动变为 for)。

代码 4:hydrogen_trans_dipole_z_mat.m
% hydrogen <n1,l1,m1|z|n2,l2,m2> matrix
% n_l(i,:) = [n, l] for each basis
function [d_z, n_l] = hydrogen_trans_dipole_z_mat(Z, m, n_max, r_max)
if nargin == 0
% === params ===
Z = 1;
m = 0;
n_max = 5;
% ==============
end
Ndim = (n_max-abs(m))*(n_max-abs(m)+1)/2;
n_l = zeros(Ndim, 2);
n1l1_n2l2_k1k2 = zeros(Ndim*(Ndim-1)/2, 6);
k1 = 0; k = 0;
for n1 = 1:n_max
    for l1 = m:n1-1
        k1 = k1 + 1; k2 = 0;
        n_l(k1, :) = [n1, l1];
        for n2 = 1:n_max
            for l2 = m:n2-1
                k2 = k2 + 1;
                if (k2 >= k1)
                    continue;
                end
                k = k + 1;
                n1l1_n2l2_k1k2(k, :) = [n1, l1, n2, l2, k1, k2];
            end
        end
    end
end
if k ~= Ndim*(Ndim-1)/2 || k1 ~= Ndim
    error('error!')
end

Nlist = size(n1l1_n2l2_k1k2, 1);
d_val = zeros(1, Nlist);
parfor i = 1:Nlist
    n1 = n1l1_n2l2_k1k2(i,1); l1 = n1l1_n2l2_k1k2(i,2);
    n2 = n1l1_n2l2_k1k2(i,3); l2 = n1l1_n2l2_k1k2(i,4);
    disp(n1l1_n2l2_k1k2(i,1:4));
    d_val(i) = hydrogen_trans_dipole_z(Z,n1,l1,m,n2,l2,m,r_max);
end

d_z = zeros(Ndim, Ndim);
for i = 1:Nlist
    k1 = n1l1_n2l2_k1k2(i,5); k2 = n1l1_n2l2_k1k2(i,6);
    d_z(k1, k2) = d_val(i);
end
% copy to upper triangle
d_z = d_z + d_z.';
end

2. 好本征态列表(z 方向电场)

   注意第 n 能级有 n2 基底。

   【n=2,m=0

(3)|2,0,0,|2,1,03Z(0110) .
(4)3Z12(1,±1) .

   【n=3,m=0

(5)|3,0,0,|3,1,0,|3,2,033Z(020201010) .
(6)9Z(13,±12,16) .
(7)0Z(13,0,23) .

   【n=3,m=1

(8)|3,1,±1,|3,2,±192Z(0110) .
(9)92Z12(1,±1) .

   【n=4,m=0

(10)|4,0,0,|4,1,0,|4,2,0,|4,3,065Z(0500504004030030) .
(11)18Z125(5,3,±5,1) .
(12)6Z1314(±5,1,5,3) .

   【n=4,m=1

(13)|4,1,±1,|4,2,±1,|4,3,±1125Z(030302020) .
(14)12Z125(3,±5,2) .
(15)0Z15(2,0,3) .

   【n=4,m=2

(16)|4,2,±2,|4,3,±26Z(0110) .
(17)6Z12(1,±1) .

   【n=5,m=0

(18)|5,0,0,,|5,4,037(05140005140750007506500065010000100) .
(19)±30170(14,±27,25,±7,1) .
(20)15170(14,7,5,±27,4) .
(21)0135(7,0,10,0,32) .

   【n=5,m=1

(22)|5,1,1,,|5,4,13527(0730073082008205300530) .
(23)452170(±14,30,±21,5) .
(24)152170(21,5,±14,30) .

   【n=5,m=2

(25)|5,2,2,,|5,4,2157(020203030) .
(26)15114(2,7,3) .
(27)0114(6,0,22) .

   【n=5,m=3

(28)|5,3,3,,|5,4,3152(0110) .
(29)15212(1,±1) .


致读者: 小时百科一直以来坚持所有内容免费无广告,这导致我们处于严重的亏损状态。 长此以往很可能会最终导致我们不得不选择大量广告以及内容付费等。 因此,我们请求广大读者热心打赏 ,使网站得以健康发展。 如果看到这条信息的每位读者能慷慨打赏 20 元,我们一周就能脱离亏损, 并在接下来的一年里向所有读者继续免费提供优质内容。 但遗憾的是只有不到 1% 的读者愿意捐款, 他们的付出帮助了 99% 的读者免费获取知识, 我们在此表示感谢。

                     

友情链接: 超理论坛 | ©小时科技 保留一切权利