The problem has been solved analytically a long time ago by Coffman, but it is cumbersome to code and visualize. Smith & Pilbrow have published a simpler model for parallel and similar g-tensors, but it is constrained to limited geometries.
I was wondering whether the same thing can be achieved with
Sys.eeD
in conjunction with Sys.gFrame
. I have made the code below to compare: the eta
(η) angle is the azimuthal (xy-plane) deviation of the 2nd spin in Pilbrow's model, and xi
(ξ) is the elevation measured from the z-axis. The simple test case of xi = 45*pi/180
corresponds to the two g-tensors being rotated by [45 0 0]*pi/180
.The two should yield identical spectra, but apparently I am missing something, probably a g² factor in
eeDframes
. Is that multiplied internally by ES, or should I explicitly do it myself? If yes, how?Code: Select all
gx = 2.05;
gy = 2.05;
gz = 2.25;
r12 = 4.5;
% Spin system
Sys1.S= [1/2 1/2];
Sys1.g=[gx gy gz; gx gy gz];
Sys1.lwpp=[0 5];
Exp.mwFreq=34; Exp.CenterSweep=[1150 400]; Exp.nPoints=1000;
% Dipolar exchange model according to T.D. Smith, J. R. Pilbrow, Coord.
% Chem. Rev., 1974, 13, 173-278
eta = 45*pi/180; % In xy-plane angle
xi = 0*pi/180; % Along z-angle
Jxx = gx^2*(1-3*sin(eta)^2*sin(xi)^2);
Jyy = gy^2*(1-3*cos(eta)^2*sin(xi)^2);
Jzz = gz^2*(1-3*cos(xi)^2);
Jxy = -3*gx*gy*sin(xi)^2*sin(eta)*cos(eta);
Jxz = -3*gx*gz*sin(xi)*cos(xi)*sin(eta);
Jyz = -3*gy*gz*sin(xi)*cos(xi)*cos(eta);
eeDexact = 12993*r12^-3*[Jxx Jxy Jxz; Jxy Jyy Jyz; Jxz Jyz Jzz]
Sys1.ee = eeDexact;
[B,spc_exact] = pepper(Sys1,Exp);
Sys1 = rmfield(Sys1,'ee'); % Remove Sys1.ee so that Sys1.eeD can be used
% Dipolar exchange with Easyspin frames
Sys1.gFrame = [45 0 0; 45 0 0]*pi/180;
eeDframes = 12993*r12^-3*[-1 -1 2]
Sys1.eeD = eeDframes;
[B,spc_frames] = pepper(Sys1,Exp);
plot(B,spc_exact,'b')
hold on
plot(B,spc_frames+1,'r')