Page 1 of 1

How does the program calculate the population of triplet sublevels?

Posted: Thu Oct 08, 2020 3:42 am
by xiaoxun.chen

Hello,

The populations of the triplet sublevel is [Px=1 Py=0.3 Pz=2] at zero field position.
According to the theory, when B0 // X, the population of high-field triplet state sublevels are P0=Px, P-1 and P+1 = 1/2(Pz+Py).
As you can see below in the example program, Exp.Temperature = [1 0.2 2], if B0 // X, P0=Px=1, P-1 and P+1 = 1.1.
If you check the levelplot (attached below) and the distribution of population, it should be an emissive signal at low field and absorptive at higher field.

My quetion is why the spectrum shows two emissive transition (attached below)?? How does the program calculate the highfield population?

Thank you very much!

T.S = 1;
T.D = [-6148 424]; % MHz
T.lwpp = 1;
Exp.mwFreq = 9.738;
Exp.Range = [0 700];
Exp.Harmonic = 0; % no field modulation
Exp.Temperature = [1 0.2 2]; % zero-field populations (x,y,z)
Exp.CrystalOrientation = [0 pi/2]; %B//x
pepper(T,Exp);

figure(2)
Ori = 'x'; % B_0 // x
subplot(2,2,1);
levelsplot(T,'x',Exp.Range,Exp.mwFreq);
title('Ori = x: B_0 // x');
axis([0 700 -20 20])


Re: How does the program calculate the population of triplet sublevels?

Posted: Sun Oct 11, 2020 11:12 pm
by katarkon

Exp.Temperature defines the populations of the zero-field electron states, from lowest to highest energy (in Your case with the order ms=0,-1,+1), so it should be Exp.Temperature=[1 1.1 1.1].


Re: How does the program calculate the population of triplet sublevels?

Posted: Mon Oct 12, 2020 1:26 am
by xiaoxun.chen

Hi Katarkon,

Thank you very much.

Yes, I know the Exp. Temperature is the definition of the zero-field electron states. As you can see from the script, I defined the populations of the zero-field electron states as Exp.Temperature = [1 0.2 2], then based on my calculation, the population of ms=0,-1,+1 at high field should be:P0 = 1, P-1=P+1 = 1. But this population distribution will not give the level plot which I attached. So my question is how does easyspin calculate the population of ms=0,-1,+1 from the Exp.Temperature?

Thanks again!


Re: How does the program calculate the population of triplet sublevels?

Posted: Mon Oct 12, 2020 11:37 am
by Stefan Stoll

As katarkon says, the populations in Exp.Temperature are in order of increasing zero-field energy, which is not necessarily identical to the x,y,z order you seem to be assuming.

EasySpin calculates the eigenstates at zero-field (ZFStates) and the eigenstates for the transition of interest at the resonance magnetic field (U and V). It then projects the populations accordingly. Here's the basic idea:

Code: Select all

ZFPopulations = Exp.Temperature;
PopulationU = (abs(ZFStates'*U).^2).'*ZFPopulations; % lower level
PopulationV = (abs(ZFStates'*V).^2).'*ZFPopulations; % upper level
Polarization = PopulationU - PopulationV;