saffron not handling orientation selection correctly

A place to report and discuss potential bugs
Post Reply
dgagnon
Newbie
Posts: 3
Joined: Thu Mar 26, 2015 11:54 am

saffron not handling orientation selection correctly

Post by dgagnon »

Saffron does not appear to be handling orientation selection correctly for Mims ENDOR. Attached is a self contained script with axial A tensors for viewing the difference in output from salt and saffron. Running saffron with variable Euler angles does not produce a significant difference either.
Attachments
saffron_bug.m
(1.95 KiB) Downloaded 221 times
Stefan Stoll
EasySpin Creator
Posts: 1041
Joined: Mon Jul 21, 2014 10:11 pm
Location: University of Washington

Re: saffron not handling orientation selection correctly

Post by Stefan Stoll »

Thanks for the minimal example, we are looking into this.
Stefan Stoll
EasySpin Creator
Posts: 1041
Joined: Mon Jul 21, 2014 10:11 pm
Location: University of Washington

Re: saffron not handling orientation selection correctly

Post by Stefan Stoll »

This discrepancy is due to the tau blindspots in Mims ENDOR as simulated by saffron, which are not included in the salt simulation. You can see this by setting tau to a very small value (1 ns or less), which removes all blind spots except the central one. If you set tau to a very large value (10 microseconds say) and you have enough spectral points, you will see that the Mims ENDOR spectrum approaches the salt spectrum. Any remaining small differences are due to the fact that one is a CW simulation and the other is a pulse simulation.

Here is a simple script you can use to explore this:

Code: Select all

clear
B0 = 1215.8; % mT
mw = 34.087; % GHz
tau = 10;

Exp.mwFreq = mw;
Exp.Range = [6.5 9.5]; % MHz
Exp.nPoints = 1000;
Exp.ExciteWidth = 30;
Exp.Field = B0;

Sys.g = [2.008, 2.003, 2.003];
Sys.lw = 0.08;
Sys = nucspinadd(Sys,'2H',[1.2 1.2 0.2],[0 0 0]*pi/180);
Sys.lwEndor = 0.05;

Opt.ProductRule = 1;
Opt.nKnots = 91;

% Mims ENDOR spectrum, saffron
Exp_ = Exp;
Exp_.Sequence = 'MimsENDOR';
Exp_.tau = tau;
[freqs,ysaff] = saffron(Sys,Exp_,Opt);
ysaff = ysaff/max(ysaff);

% CW ENDOR spectrum, salt
[freqs,ysalt] = salt(Sys,Exp_,Opt);
ysalt = ysalt/max(ysalt);

% Frequency-domain EPR spectrum
FSExp.mwRange = [33.9 34.3];
FSExp.Field = B0;
FSExp.Harmonic = 0;
FSOpt.Output = 'summed';
[xfs,yfs] = pepper(Sys,FSExp,FSOpt);
yfs = yfs/max(yfs);

% plotting
clf
subplot(2,1,2)
plot(freqs,ysalt,'color','b')
hold on
plot(freqs,ysaff,'color','r')
line([1 1]*larmorfrq('2H',B0), ylim);
legend('salt','saffron');
legend boxoff
xlabel('frequency (MHz)');

subplot(2,1,1);
plot(xfs,yfs)
line([1 1]*Exp.mwFreq,ylim,'Color','k');
xlabel('frequency (GHz)');
Post Reply