I have one electron, hyperfine coupled to one deuteron, i.e. g tensor, A tensor and their respective orientations gpa and Apa. I want to simulate HYSCORE powder spectra at different field positions.
As far as I know, if g and A have the same orientation (Apa = gpa), I should get the same results for Apa = gpa = 0 as for a full rotation matrix like Apa = gpa = [1 0 0; 0 0 -1; 0 1 0]. The correlation between g and A is fixed, while "powder" should erase the correlation between molecule axes and g axes (/ A axes) due to averaging.
I tested this with saffron and I wonder why I see a difference between the two cases. Did I mix up something in my head?
Here is a (quite) minimal working example of both cases. The figure compares Apa = gpa = 0 (left panels) with Apa = gpa != 0 (right panels). Same contour levels etc.
Code: Select all
clear all;
Exp.Sequence = 'HYSCORE';
Exp.dt = [0.024, 0.024];
Exp.Flip = [1 1 2 1];
Exp.Inc = [0 1 2 0];
Exp.tau = 0.2;
Exp.t1 = 0.2;
Exp.t2 = 0.3;
Exp.nPoints = 256;
Exp.mwFreq = 9.72;
Exp.ExciteWidth = 1000/24;
Exp_gx = Exp; Exp_gy = Exp; Exp_gz = Exp;
Exp_gx.Field = 317.0; %gx
Exp_gy.Field = 325.0; %gy
Exp_gz.Field = 343.5; %gz
Sys.S = 1/2;
Sys.g = [2.197 2.139 2.015];
Sys.Nucs = '2H';
Sys.A = [18.4 -10.8 -18.0]/6.514;
Opt.nKnots = 50;
Opt.ZeroFillFactor = 2;
[xa1, xa2, ya, pa] = saffron(Sys,Exp_gx,Opt);
[xb1, xb2, yb, pb] = saffron(Sys,Exp_gy,Opt);
[xc1, xc2, yc, pc] = saffron(Sys,Exp_gz,Opt);
Sys2=Sys;
Sys2.gpa = eulang([1 0 0; 0 0 -1; 0 1 0]);
Sys2.Apa = Sys2.gpa;
[xd1, xd2, yd, pd] = saffron(Sys2,Exp_gx,Opt);
[xe1, xe2, ye, pe] = saffron(Sys2,Exp_gy,Opt);
[xf1, xf2, yf, pf] = saffron(Sys2,Exp_gz,Opt);
figure
hold on
colormap(jet(512))
vs=15:5:800; %contour level
% simulations, no orientations
% gx
subplot(3,2,1,'Position',[0.16 0.72 0.37 0.25])
[sa,hsa]=contour(pa.f1, pa.f2, pa.fd, vs,'linewidth',2);
text(6,6.5,sprintf('\\bf g_x'))
set(gca,'XLim',[0 7.5],'XMinorTick','off','Box','on','XAxisLocation',...
'bottom','FontName','Helvetica','FontSize',24,'YAxisLocation',...
'left','YMinorTick','off','YLim',[0 7.5],'XTickLabel','',....
'XTick',[0 2 4 6],'linewidth',1.5,'TickLength',[0.025 0.025]);
% gy
subplot(3,2,3,'Position',[0.16 0.46 0.37 0.25])
[sb,hsb]=contour(pb.f1, pb.f2, pb.fd, vs,'linewidth',2);
text(6,6.5,sprintf('\\bf g_y'))
set(gca,'XLim',[0 7.5],'XMinorTick','off','Box','on','XAxisLocation',...
'bottom','FontName','Helvetica','FontSize',24,'YAxisLocation',...
'left','YMinorTick','off','YLim',[0 7.5],'XTickLabel','',...
'XTick',[0 2 4 6],'linewidth',1.5,'TickLength',[0.025 0.025]);
ylabel('\nu_2\rm / MHz','Units', 'Normalized', 'Position',...
[-0.2, 0.5, 0]);
% gz
subplot(3,2,5, 'Position',[0.16 0.2 0.37 0.25])
[sc,hsc]=contour(pc.f1, pc.f2, pc.fd, vs,'linewidth',2);
text(6,6.5,sprintf('\\bf g_z'))
set(gca,'XLim',[0 7.5],'XMinorTick','off','Box','on','XAxisLocation',...
'bottom','FontName','Helvetica','FontSize',24,'YAxisLocation',...
'left','YMinorTick','off','YLim',[0 7.5],'XTick',[0 2 4 6],...
'linewidth',1.5,'TickLength',[0.025 0.025]);
% simulations, same orientations
% gx
subplot(3,2,2, 'Position',[0.55 0.72 0.37 0.25])
[sd,hsd]=contour(pd.f1, pd.f2, pd.fd, vs,'linewidth',2);
text(6,6.5,sprintf('\\bf g_x'))
set(gca,'XLim',[0 7.5],'XMinorTick','off','Box','on','XAxisLocation',...
'bottom','FontName','Helvetica','FontSize',24,'YAxisLocation',...
'left','YMinorTick','off','YLim',[0 7.5],'XTick',[0 2 4 6],...
'linewidth',1.5,'YTickLabel','','TickLength',[0.025 0.025],...
'XTickLabel','');
% gy
subplot(3,2,4, 'Position',[0.55 0.46 0.37 0.25])
[se,hse]=contour(pe.f1, pe.f2, pe.fd, vs,'linewidth',2);
text(6,6.5,sprintf('\\bf g_y'))
set(gca,'XLim',[0 7.5],'XMinorTick','off','Box','on','XAxisLocation',...
'bottom','FontName','Helvetica','FontSize',24,'YAxisLocation',...
'left','YMinorTick','off','YLim',[0 7.5],'XTick',[0 2 4 6],...
'linewidth',1.5,'YTickLabel','','TickLength',[0.025 0.025],...
'XTickLabel','');
% gz
subplot(3,2,6, 'Position',[0.55 0.2 0.37 0.25])
[sf,hsf]=contour(pf.f1, pf.f2, pf.fd, vs,'linewidth',2);
text(6,6.5,sprintf('\\bf g_z'))
set(gca,'XLim',[0 7.5],'XMinorTick','off','Box','on','XAxisLocation',...
'bottom','FontName','Helvetica','FontSize',24,'YAxisLocation',...
'left','YMinorTick','off','YLim',[0 7.5],'XTick',[0 2 4 6],...
'linewidth',1.5,'YTickLabel','','TickLength',[0.025 0.025]);
xlabel('\nu_1\rm / MHz','Units', 'Normalized', 'Position',...
[-0.15, -0.25, 0]);
hold off
Thanks,
Julia