塞曼效應以及能級的計算


簡單總結了一下在原子結構的基礎上的Zeeman效應。很久之前就知道,這次算是復習,順便計算一下。僅限於LS耦合,並且假設核自旋是0. 后面可能會考慮上核自旋非零的原子。

弱場下原子的Zeeman效應

把電子運動視為經典帶電小球的圓周運動,按照電磁學,得到的磁矩為\(\boldsymbol{\mu}=q/(2m_e)\boldsymbol{\ell}\),其中\(q=-e\)為電子電荷,\(m_e\)為電子質量。該磁矩還可以改寫為\(\boldsymbol{\mu}=q\hbar/(2m_e)\boldsymbol{\ell}/\hbar=-\mu_B\boldsymbol{\ell}/\hbar\) ,其中\(\mu_B\)為玻爾磁子,取正值。於是相互作用能量(選取外磁場沿\(z\)軸)為\(H'=-\boldsymbol{B}\cdot\boldsymbol{\mu}=eB_z/(2m_e)\ell_z\)。這是從經典圖像中得到的結果。按照B.卡尼亞克《原子物理學(下冊)》,直接分析靜磁場中單電子的Schrodinger方程,可以得到兩個附加項,一項為\(H'=-\boldsymbol{B}\cdot\boldsymbol{\mu}=eB_z/(2m_e)\ell_z\),另一項正比於磁場平方。這兩項分別為順磁項和抗磁項。簡單的計算表明,對於\(1T\)的磁場而言,第二項遠小於第一項,因此略去。不論從哪里出發,得到的附加哈密頓是相同的。在多電子情形下即為

\[H'=\frac{\mu_B}{\hbar}\boldsymbol{B}\cdot\sum_i \boldsymbol{\ell}_i \]

進一步考慮各個電子的自旋,最終得到

\[H'=\frac{\mu_B}{\hbar}\boldsymbol{B}\cdot\sum_i (\boldsymbol{\ell}_i+g_\text{s}\boldsymbol{s}_i)=\frac{\mu_B}{\hbar}\vec{B}\cdot(\vec{L}+g_s\vec{S}) \]

其中\(g_\text{s}\)為電子自旋的Lande因子,值為2. 在Slater的Quantum Theory of Atomic Structure中,從磁場中單電子的Dirac方程出發,計算電流密度,分別得到電子軌道角動量貢獻的磁矩(和這里一樣)以及自旋貢獻的磁矩,其中自旋磁矩含有值為2的Lande因子。也可以說電子軌道磁矩的Lande因子為1. 至此已經給出了磁場中哈密頓的附加項的來源,並說清了電子Lande因子的來源。

現在看LS耦合情形下,弱場Zeeman效應。弱場意味着磁場的附加哈密頓是所有微擾中最小的,因此最后考慮。如此考慮的必要條件是,磁場帶來的精細結構態內部的能級分裂遠小於不同精細結構態之間的能級間隔。LS耦合下一個精細結構子空間由\(J^2\)\(J_z\)的共同本征態張成,它們有共同的\(J\)量子數,不同的\(m_{J}\)量子數,是簡並的。限定在一個精細結構子空間內討論,這樣,基矢為\(\{|E^0_J,J,m_J\rangle\}\),其中\(E^0_J\)是該精細結構能級的簡並能量,其實這個位置本來應該是包括\(L,S\)值在內的其他量子數。

由於Wigner-Eckart定理,兩個同秩的不可約張量算符的各個分量在角動量基矢\(|\alpha,J,m_J\rangle\)上的矩陣元的比值相等,即(假設\(k\)秩)

\[\frac{\langle\alpha'J'm_J'|T^{(k)}_q|\alpha Jm_J\rangle}{\langle\alpha'J'm_J'|U^{(k)}_q|\alpha Jm_J\rangle}=C \]

其中常數\(C\)\(q,m_J,m'_J\)無關。下面選取\(U^{(k)}_q\)為一秩的總角動量算符\(J_q\), 則有

\[\langle\alpha'J'm_J'|\boldsymbol{A}|\alpha Jm_J\rangle=C\langle\alpha'J'm_J'|\boldsymbol{J}|\alpha Jm_J\rangle \]

其中\(\hat{\boldsymbol{A}}\)是某矢量算符。因為其他量子數或者\(J\)量子數的正交性,上式中\(\alpha',J'\)的撇號可以略去而不損失一般性。計算

\[\begin{aligned}&\langle\alpha Jm_J|\boldsymbol{A}\cdot\boldsymbol{J}|\alpha Jm_J\rangle\\ &=\sum_{\alpha' j'm'}\langle\alpha Jm_J|\boldsymbol{A}|\alpha' J'm_J'\rangle\cdot\langle\alpha 'J'm_J'|\boldsymbol{J}|\alpha Jm_J\rangle\\ &=C\sum_{\alpha 'j'm'}\langle\alpha Jm_J|\boldsymbol{J}|\alpha' J'm_J'\rangle\cdot\langle\alpha'J'm_J'|\boldsymbol{J}|\alpha Jm_J\rangle\\ &=C\hbar^2J(J+1)\end{aligned} \]

所以

\[\langle\alpha Jm_J|\boldsymbol{A}|\alpha Jm_J\rangle=\frac{\langle\alpha Jm_J|\boldsymbol{A}\cdot\boldsymbol{J}|\alpha Jm_J\rangle}{\hbar^2J(J+1)}\langle\alpha Jm_J|\boldsymbol{J}|\alpha Jm_J\rangle \]

因為現在只在某精細結構子空間中討論問題,因此上式可以直接寫為

\[\hat{\boldsymbol{A}}=\frac{\langle\hat{\boldsymbol{A}}\cdot\hat{\boldsymbol{J}}\rangle}{\langle \hat{J}^2\rangle}\hat{\boldsymbol{J}} \]

稱為Lande公式或者投影定理,它有重要的物理意義:矢量\(\boldsymbol{A}\)有意義的部分僅僅是其在角動量上的投影。

由上面Wigner-Eckart定理的分析,可知在某精細結構子空間中,外加磁場的附加哈密頓\(H'=({\mu_B}/{\hbar}){B}_z\sum_i ({\ell}_{iz}+g_\text{s}{s}_{iz})=({\mu_B}/{\hbar}){B}_z(L_z+g_sS_z)\)的矩陣元的計算可寫為

\[\langle E^0_JJm_J|(L_z+g_sS_z)|E^0_JJm_J'\rangle=g_J\langle E^0_JJm_J|\hat{J}_z|E^0_JJm_J'\rangle=\hbar g_Jm_J\delta_{m_J,m_J'}\\ \langle E^0_JJm_J|H'|E^0_JJm_J'\rangle=\delta_{m_J,m_J'}\mu_Bg_Jm_JB_z \]

其中\(g_J\)就是算符\((L_z+g_sS_z)\)和算符\(J_z\)之間所相差的因子\(C\),也稱為Lande因子,它其實也是總磁矩和總角動量之比的度量。上式中有\(\delta\)符號,因此在一個精細結構子空間中,如果選取\(J^2,J_z\)共同本征態則附加哈密頓自動對角化,每個\(m_J\)量子數有自己的能量修正,簡並解除。

剩下的是Lande因子$g_J \(的計算。因為Lande因子就是\)C$,所以

\[g_J=\langle(\hat{\boldsymbol{L}}+g_s\hat{\vec{S}})\cdot\hat{\vec{J}}\rangle/\langle\hat{\vec{J}}^2\rangle \]

先看分子,\((\hat{\boldsymbol{L}}+g_s\hat{\vec{S}})\cdot\hat{\vec{J}}=\hat{\vec{J}}\cdot[\hat{\vec{J}}+(g_s-1)\hat{\vec{S}}]\),另一方面取\(\hat{\vec{L}}=\hat{\vec{J}}-\hat{\vec{S}}\)兩邊平方有\(\hat{\vec{J}}\cdot\hat{\vec{S}}=(\hat{\vec{J}}^2+\hat{\vec{S}}^2-\hat{\vec{L}}^2)/2\),因此

\[(\hat{\boldsymbol{L}}+g_s\hat{\vec{S}})\cdot\hat{\vec{J}}=\hat{\vec{J}}^2+\frac{g_s-1}{2}(\hat{\vec{J}}^2+\hat{\vec{S}}^2-\hat{\vec{L}}^2) \]

而在精細結構子空間中,這些角動量的平方都是守恆量,因此直接有

\[g_J=\frac{g_s+1}{2}+\frac{g_s-1}{2}\frac{S(S+1)-L(L+1)}{J(J+1)} \]

至此計算完成,LS耦合下引入外磁場,對稱性縮小,每個原本簡並的精細結構子空間發生分裂,不同的\(m_J\)量子數有不同的能量修正。

強場下的Zeeman效應

考慮強外磁場,這時認為附加哈密頓小於剩余靜電勢,但大於LS耦合的附加哈密頓。因此在譜項空間內先考慮外磁場的附加哈密頓,再考慮LS耦合的附加哈密頓。譜項空間的簡並度為\((2S+1)(2L+1)\),選取基矢為非耦合基矢\(|E_0LSm_Lm_S\rangle\),好處是\(\hat{L}_z\)\(\hat{S}_z\)算符自動對角化,而外磁場附加哈密頓恰好是\(({\mu_B}/{\hbar}){B}_z(L_z+g_sS_z)\)

既然自動對角化,則可以直接寫出一級修正為\(\mu_BB_z(m_L+2m_S)\),需要注意的是可能會有幾個能級的一級修正相同,即未能完全解除簡並。

下一步再考慮LS耦合的附加哈密頓\(\sum_i\xi_i\vec{\ell}_i\cdot\vec{s}_i\),因為僅在譜項空間內考慮問題,利用Wigner-Eckart定理,可以改寫該附加哈密頓為\(A'\vec{L}\cdot\vec{S}\),其中\(A’\)為某常數。因為前面外磁場的微擾已經使得能級部分解除簡並了,對於非簡並的態,能量修正可以直接計算如下

\[A'\langle LSm_Lm_S|\vec{L}\cdot\vec{S}|LSm_Lm_S\rangle=A’\langle LSm_Lm_S|L_zS_z|LSm_Lm_S\rangle=Am_Lm_S \]

簡並的態單獨考慮。首先\(L_zS_z\)必然自動對角化,其次計算\(L_xS_x\)\(L_yS_y\)的矩陣元。以\(L_xS_x\)為例

\[L_xS_x=(L_++L_-)(S_++S_-)=L_+S_++L_-S_-+L_+S_-+L_-S_+ \]

若其中的\(L_+S_+\)在某兩個簡並態之間的矩陣元非零,則必然有\(m_L=m_L'+1\), \(m_S=m_S'+1\)成立。另一方面,因為這兩個態簡並,所以必然有\(\mu_BB_z(m_L+2m_S)=\mu_BB_z(m_L'+2m_S')\),這二式矛盾。因此\(L_+S_+\)在任意兩個簡並的態之間的矩陣元為零,其他三項同理,於是對於簡並的情況,能量修正依然是\(Am_Lm_S\)

總結起來,強場下的譜項分裂能量間隔為\(\mu_BB_z(m_L+2m_S)+Am_Lm_S\)

中間情況

如果LS耦合項與外磁場引入的附加哈密頓大小相當,則需要同時作為微擾處理,即在譜項空間中計算其矩陣元。計算矩陣元時通常選擇耦合表象基矢來計算,在該組基矢下,\(A'\vec{L}\cdot\vec{S}\)是對角的,矩陣元為

\[\frac{A'}{2}\left[J(J+1)-L(L+1)-S(S+1)\right] \]

但是\(({\mu_B}/{\hbar}){B}_z(L_z+g_sS_z)\)不是對角的,為了計算其在某兩個基矢之間的矩陣元,通常使用CG系數將基矢展開為非耦合表象基矢的線性疊加,再進行計算。計算完成后將矩陣對角化,即可得到所有的能量修正。

需要注意的是即使施加了這兩個微擾,系統仍有沿着外磁場方向的柱對稱性,也就是說\(J_z\)和全哈密頓對易,是守恆量,而\(m_J\)是好量子數。因此微擾哈密頓在不同\(m_J\)態之間的矩陣元為零,所以若將基矢按\(m_J\)排列,則微擾哈密頓是按\(m_J\)分塊對角的,此時僅需要將各塊對角化即可。

附:中間耦合的MATLAB計算代碼。僅供參考,如有錯誤請告知。

%--------------------------------------
% CG.m 計算CG系數
%--------------------------------------

function ret = CG(j1,j2,m1,m2,j,m)
    if m1+m2~=m
        ret=0;
    else
        c=0;
        for z=max([0,j2-j-m1,j1+m2-j]):min([j1+j2-j,j1-m1,j2+m2])
            
            c=c+(-1)^z/(gamma(z+1)*gamma(j1+j2-j-z+1)*gamma(j1-m1-z+1)*gamma(j2+m2-z+1)*gamma(j-j2+m1+z+1)*gamma(j-j1-m2+z+1));
        end
        ret=c*sqrt((2*j+1)*gamma(j1+j2-j+1)*gamma(j+j2-j1+1)*gamma(j+j1-j2+1)/gamma(j+j1+j2+1+1))*sqrt(gamma(j+m+1)*gamma(j-m+1)*gamma(j1+m1+1)*gamma(j1-m1+1)*gamma(j2+m2+1)*gamma(j2-m2+1));
    end
end

%--------------------------------------------------------
% H_B.m 計算外磁場附加哈密頓的矩陣元
%--------------------------------------------------------

function ret = H_B(j1,j2,j,m,j_,m_)
% 只在譜項空間內計算,即LS給定。因此只有j1,j2,無j1',j1'.
% 返回值的單位為u*B,u為玻爾磁子(取正值),B為外磁場。如返回1.5,則矩陣元為1.5uB.
% 實際上m_j是好量子數,不同m_j的態之間矩陣元為零。因此實際上這里m和m_只需保留一個即可。
    right_vec=zeros((2*j1+1),(2*j2+1));
    num_i=1;
    for m_r=-j1:j1
        num_j=1;
        for m_c=-j2:j2
            right_vec(num_i,num_j)=CG(j1,j2,m_r,m_c,j_,m_)*(m_r+2*m_c);
            num_j=num_j+1;
        end
        num_i=num_i+1;
    end
    
    left_vec=zeros((2*j1+1),(2*j2+1));
    num_i=1;
    for m_r=-j1:j1
        num_j=1;
        for m_c=-j2:j2
            left_vec(num_i,num_j)=CG(j1,j2,m_r,m_c,j,m);
            num_j=num_j+1;
        end
        num_i=num_i+1;
    end
    ret=sum(sum(left_vec.*right_vec));
end

%--------------------------------------------------------
% Zeeman.m 計算能量本征值
%--------------------------------------------------------

function energy = Zeeman(L,S,B)
 % B單位為T,Boh磁子為u
    A=200e-25; %這里隨便設一個數字
    u=9.27400949e-24;% Bohr
    J_max=L+S;
    J_min=abs(L-S);
    J_tab=J_min:J_max;
    block_diag=cell(1,round(2*J_max+1));
    num=0;
    for m_j=-J_max:J_max
        num=num+1;
        if abs(m_j)>=J_min
            block_diag{num}=zeros(round(J_max-abs(m_j)+1));
            for J=abs(m_j):J_max
                block_diag{num}(J-abs(m_j)+1,J-abs(m_j)+1)=0.5*A*(J*(J+1)-L*(L+1)-S*(S+1));
            end
            for J1=abs(m_j):J_max
                for J2=abs(m_j):J_max
                    block_diag{num}(J1-abs(m_j)+1,J2-abs(m_j)+1)=block_diag{num}(J1-abs(m_j)+1,J2-abs(m_j)+1)+B*u*H_B(L,S,J1,m_j,J2,m_j);
                end
            end
        else
            block_diag{num}=zeros(length(J_tab));
            for J=J_tab
                block_diag{num}(J-min(J_tab)+1,J-min(J_tab)+1)=0.5*A*(J*(J+1)-L*(L+1)-S*(S+1));
            end
            for J1=J_tab
                for J2=J_tab
                    block_diag{num}(J1-min(J_tab)+1,J2-min(J_tab)+1)=block_diag{num}(J1-min(J_tab)+1,J2-min(J_tab)+1)+B*u*H_B(L,S,J1,m_j,J2,m_j);
                end
            end
        end
    end
    
    energy=[];
    for i=1:length(block_diag)
        [~,val]=eig(block_diag{i});
        energy=[energy,(diag(val))'];
    end
end

%--------------------------------------------------------
% run.m 運行代碼
%--------------------------------------------------------

clear all;
B=[0:500:100000]*1e-4;
L=1;
S=1/2;

for i=1:length(B)
    energy(i,:)=Zeeman(L,S,B(i));
end
plot(B,energy);
xlabel('Magnetic Field (T)');
ylabel('Energy Level');
title('Zeeman Splitting of L=1, S=1/2');

運行結果:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM