diff options
Diffstat (limited to 'rb87_D1_line.m')
-rw-r--r-- | rb87_D1_line.m | 25 |
1 files changed, 10 insertions, 15 deletions
diff --git a/rb87_D1_line.m b/rb87_D1_line.m index 1739df2..ea20e11 100644 --- a/rb87_D1_line.m +++ b/rb87_D1_line.m @@ -82,22 +82,15 @@ for j=1:Nlevels for k=1:Nlevels if ( abs(ang_momentum(j) - ang_momentum(k)) == 1) %transition allowed for L =L' +/- 1 - % incorrect Clebsch-Gordan coefficients but should show some ideas % but they correct within a factor, but not sign - if ( ((m(j)- m(k))==1) && ( H0(j,j) < H0(k,k)) ) - dipole_elements.left(j,k)=1; - endif - if ( ((m(j)- m(k))==-1) && ( H0(j,j) < H0(k,k)) ) - dipole_elements.right(j,k)=1; - endif - if ( ((m(j)- m(k))==0) && ( H0(j,j) < H0(k,k)) ) - dipole_elements.linear(j,k)=1; - if ( (m(j)==0) && ( total_momentum(j) == 1 ) && (total_momentum(k) == 1 ) ) - % remember m=0 ->m'=0 is forbidden when F=1 and F'=1 - % so we drop it back to zero - dipole_elements.linear(j,k)=0; - else - endif + if ( ( H0(j,j) < H0(k,k)) ) + de=dipole_elementRb87D1line(... + total_momentum(j),m(j), ... + total_momentum(k),m(k) ... + ); + dipole_elements.left(j,k) = de.left; + dipole_elements.right(j,k) = de.right; + dipole_elements.linear(j,k) = de.linear; endif endif endfor @@ -141,3 +134,5 @@ endfor energy+=B_field * ( gm .* m); % convert frequency to energy units H0=diag(energy)*hbar; + +% vim: ts=2:sw=2:fdm=indent |