Page 1 of 1

G values seem off by a constant factor

Posted: Tue Jul 16, 2024 2:17 pm
by apriltang

Hello there! I am trying to simulate an EPR spectrum for an Fe(III) high spin complex (spin 5/2). I'm noticing that the simulated plot don't match the reported g values. For example,

Image

My window is from 20 mT to 620 mT, and the frequency was 9.64 GHz.

A g value of 3.8 at this frequency should correspond to around 1800 Gauss (180 mT), a g value of 4.82 should correspond to around 1430 Gauss (143 mT), and a g value of 7.27 should correspond to around 945 Gauss (94.5 mT). Yet, the features on the simulation are all shifted to the left of what one would expect. The shift is pretty big; just by eyeballing my plot, the features are coming in at 30 mT (vs 94.5) and 80 mT (vs 140-180 mT).

But the shape of the simulation looks very accurate, and the g values themselves are logical.

Has anyone encountered a problem like this? If so, how did y'all fix it? Thanks in advance!

FWIW, I'm also getting a "** Looping transitions found. Artifacts at coalescence points possible." error.

Here's my code:

clear;
[B1,spc1,par1]=eprload('file.DSC');

% experimental spectrum
exp.mwFreq = par1.MWFQ*10-9;
centerfield = erase(par1.CenterField,' G');% extract the value from string including unit
centerfield = str2num(centerfield); % extract the value from string including unit
sweepwidth = erase(par1.SweepWidth,' G');
sweepwidth = str2num(sweepwidth); % extract the value from string including unit
exp.Range = [centerfield-sweepwidth/2, centerfield+sweepwidth/2];% extract the value from string including unit

% initial guess for fitting
sys.g=[7.09 4.31 4.19];
sys.D_ = [11779 0.146241];
sys.lw=3.5; %mT
sys.S=5/2;
sys.Nucs = 'Fe';
sys.A = [0 0 0];

spc2fit = spc1;
exp2fit = exp;

% changing variables
%vary.D_ = [2000 0.01];
vary.g = [1 1 1];

% set fitting range
range2fit = [200, 6200]; % in G
spc_lowlimit = round((range2fit(1)-exp.Range(1))/(exp.Range(2)-exp.Range(1))(par1.A1RS-1))+1;
spc_highlimit = round((range2fit(2)-exp.Range(1))/(exp.Range(2)-exp.Range(1))
(par1.A1RS-1))+1;

spc2fit = spc2fit(spc_lowlimit:spc_highlimit);
range2fit(1)=exp.Range(1)+spc_lowlimit(exp.Range(2)-exp.Range(1))/(par1.A1RS-1);
range2fit(2)=exp.Range(1)+spc_highlimit
(exp.Range(2)-exp.Range(1))/(par1.A1RS-1);
exp2fit.Range = range2fit/10; % converted into mT
FitOpt.Method = 'montecarlo fcn'; % montecarlo algorithm, data as is target funtion
esfit(spc2fit,@pepper,{sys,exp2fit},{vary},FitOpt);


Re: G values seem off by a constant factor

Posted: Wed Jul 17, 2024 8:24 am
by DanielKlose

Dear Apriltang,

I think for high spin Fe(III) there are two possible descriptions that are common in the literature, and I would avoid mixing the two: Either effective spin 1/2 with high effective g-values, e.g. ca 4.3 ... 9. This model only considers the central ms manifold, hence the description by an effective spin S=1/2.

The other model uses actually the full spin system with S=5/2 and zero field splitting and a g-tensor closer to 2. The full spectrum can usually not be observed in commercial EPR spectrometers and the resulting line shape is dominated by the ZFS, particularly E/D.
See here for a description of the bigger picture:
https://doi.org/10.1039/C9CP02626F

Hope that helps you!
Best wishes


Re: G values seem off by a constant factor

Posted: Wed Jul 17, 2024 11:15 am
by thanasis

One thing I don't understand is why you use such a convoluted way to extract the experimental parameters. This is as simple as:

Code: Select all

[B,spc,params] = eprload('etc.DTA');
Exp.mwFreq=params.MWFQ/1e9; Exp.Range=[min(B) max(B)]/10; Exp.nPoints=length(B);

As it stands, your code is far too complicated to debug.

Moreover, I don't know if exp.mwFreq = par1.MWFQ*10⁻⁹ is a valid syntax to get what you want.

Of course, what Daniel said is also perfectly valid.


Re: G values seem off by a constant factor

Posted: Fri Jul 19, 2024 12:44 pm
by Stefan Stoll

Daniel has identified the problem:

Code: Select all

sys.g=[7.09 4.31 4.19];
sys.S=5/2;

If you use S=5/2, you need to use a g value close to 2. If you use the effective g values, you need to use S=1/2.