Bug for coupled spins in pepper near anticrossings?
When using the ‘pepper’ function, very strange spectra occur for coupled systems in the vicinity of anticrossings between the levels. As an example, I have simulated two such spectra, one for a doublet-doublet pair and one for a triplet-doublet pair:
It doesn't matter whether you use ‘initState’ (and the basis doesn't matter either) or a Boltzmann population. The code that creates the example spectra is as follows:
Code: Select all
%% doublet doublet pair
clear all
% Spin system
DDP.J = 9500; % Change the exchange interaction, a value was selected here so that anticrossings appear
DDP.S = [1/2 1/2];
DDP.g = [2.0020; 1.9999];
DDP.dip = 350;
DDP.lwpp = 2;
%RP.initState = 'singlet'; % switch on and off spin polarisation
% Experimental parameters
Exp.Range = [310.777, 374.777];
Exp.mwFreq = 9.6;
Exp.Harmonic = 0;
Exp.Temperature = 80;
[field, sim] = pepper(DDP, Exp);
sim = sim/max(abs(sim));
DDP.J = 10000;
[field2, sim2] = pepper(DDP, Exp);
sim2 = sim2/max(abs(sim2));
plot(field, sim)
hold on
plot(field2, sim2)
%% triplet doublet pair
clear all
TDP.J = -6500; % Change the exchange interaction, a value was selected here so that anticrossings appear
TDP.S =[1, 0.5];
TDP.g = [2.003; 2.0059];
TDP.D = [700 -100; 0 0];
TDP.initState = {[0.5 0.2 0.2 0.5 0.1 0.1], 'coupled'}; % switch on and off spin polarisation
TDP.pop_d = [0.2 0.2];
TDP.lw = 0.4;
Exp.Range = [320, 380];
Exp.mwFreq = 9.75;
Exp.Harmonic = 0;
Exp.Temperature = 80;
[field, sim] = pepper(TDP, Exp);
sim = sim/max(abs(sim));
TDP.J = 10000;
[field2, sim2] = pepper(TDP, Exp);
sim2 = sim2/max(abs(sim2));
plot(field, sim)
hold on
plot(field2, sim2)
But I have also observed this behaviour with other parameter sets. Shown here are two extreme examples where the anticrossing is in the observed range and where the spectrum looks clearly strange. However, I have observed that the closer you get to the area with anticrossings, the more ‘wrong’ the spectra become. I used my own programme as a comparison. This calculates the spectra completely differently and more inefficiently than EasySpin. In areas that are far away from anticrossings, the spectra match. The closer you get to the anticrossings, the more differences there are, which are barely noticeable at first and then become increasingly clear.
I hope I have been able to describe the problem clearly enough. If not, please ask me what I mean. I look forward to an answer (even if the error is on my side when setting up the scripts) - thank you in advance!