summaryrefslogtreecommitdiff
path: root/rb87_D1_line.m
diff options
context:
space:
mode:
Diffstat (limited to 'rb87_D1_line.m')
-rw-r--r--rb87_D1_line.m25
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