Page 1 of 1
Nutation Frequency simulation
Posted: Tue Oct 18, 2016 2:55 am
by sc262
Hello, I want to simulate the nutation frquency for different systems. I know it is not available in the current version of easyspin. But, can anyone guide me how can I do that. To start with I have taken a simple spin system of Nitroxide and I am trying to use evolve function to start with but I am not sure about the detection operator. Any guidance will be highly appreciated.
clear, clf
% Spin System
Nitroxide.g = [2.008,2.006,2.003];
Nitroxide.Nucs = '14N';
Nitroxide.A = [20,20,85];
Nitroxide.lw = 0.3;
Experiment.mwFreq = 9.5;
pepper(Nitroxide,Experiment);
B =[0 0 338];
H = sham(Nitroxide,B);
Temp = 50;
sigma = sigeq(H,Temp);
Sx = sop(1/2,'x');
Sy = sop(1/2,'y');
Det = Sx + i*Sy;
td = evolve(sigma,Det,H,128,0.01);
I am getting an error with the inner matrix dimensions must agree.
Re: Nutation Frequency simulation
Posted: Wed Oct 19, 2016 9:30 pm
by Stefan Stoll
Using
evolve
is indeed the way to go. The error you get is because you are that you are setting up your detection operator as 2x2 matrices (spin-1/2), whereas you need to set them up in the full space of the nitroxide radical (S=1/2,I=1), giving 6x6 matrices. Here are a few equivalent ways of achieving this:
Code: Select all
Splus = sop(Nitroxide,'x1')
Splus = sop(Nitroxide,'xe')
Splus = sop([1/2 1],'x1')
Splus = sop([1/2 1],'xe')
Re: Nutation Frequency simulation
Posted: Fri Jan 27, 2017 10:51 am
by lorenz
Dear EasySpin team,
I would like to simulate a orientation selective transient nutation experiment on high-spin systems. My code is below based on evolve(). It runs, but I don't observe a nutation frequency. It looks just noisy. I have tried to change the knots and tried different magnetic fields. If you FFt it there is no well defined nutation frequnency. Do you have any idea what might be wrong?
% Script for Transient nutation on High-Spin Systems
clear all;
%Define Spin-System
Sys.D=180*1000*[1 0.053];
Sys.S=3/2;
Sys.g=2.01;
%Define Experiment;
Exp.mwFreq=33.77;
Exp.Range=[500 1300];
Exp.nPoints=4096;
SimOpt.nKnots=91;
%plot FSE-Spectra
figure(1)
pepper(Sys,Exp,SimOpt)
%Define Experimental Parameters
B0=1200; %B0 in mT
fMW=Exp.mwFreq; %mwFrew in GHz
BMWField=fMW*10^9*planck/(bmagn*Sys.g)*10^3;%Transform MW-Freq to magnetic Field strength
f1=16; % Resonator-f1 Freq in MHz (Determind by Trans-Nut on Coal)
B1=f1*10^6*planck/(bmagn*Sys.g)*10^3; %Calculate B1 Field in mT
Temp=4; %Define Temperature
%Start with orientation selection
%Define orientation selection and grid.
%Negleting the effect that the pulsewidth changes throug the trans nutation
Par.Field=B0;
Par.mwFreq=fMW;
Par.ExciteWidth=1000/16; %16ns pulse-width;
Opt.nKnots=91; %Define grid
Opt.Symmetry='Ci'; %Define symmetry
Weight=orisel(Sys,Par,Opt);
Weight=Weight/max(Weight); %Normalize weights
[phi,theta] = sphgrid(Opt.Symmetry,Opt.nKnots);
epsilon=1e-4; %Define cutoff value for orientation calculation to speed up
%Determine angle-size
stheta=max(size(theta));
%Define time trace
tPoints=1000; %Number of points in µs
dt=6/1000; %PulseInc in µs
t0=16/1000; %Start time in µs
t=t0:dt:(tPoints-1)*dt+t0; %Time scale
t=t';
%Initalize orientations for start magnetic fields
ez=[0 0 1]';
ex=[1 0 0]';
% Initialize signals
S=t*0;
Stheta=S;
for j=1:stheta;
if Weight(j)>epsilon; %Select only angles with weight>cutoff
disp('AngleStep');
disp(j);
disp('of');
disp(stheta);
%Rotate magnetic fields (Rotation in the lab frame);
Rot=erot(phi(j),theta(j),0);
BMW=Rot*ez*BMWField;
Bz=Rot*ez*B0;
Bx=Rot*ex*B1;
%Set Hamiltonians
H0= sham(Sys,Bz); %H0 Hamiltonian (Zeeman+Zero-field-splitting)
HMW= zeeman(Sys,BMW); %Hamiltion of the MW field
H1 = zeeman(Sys,Bx); %H1 Zeeman Hamiltonian of he MW-B1
%Define effective Hamiltonian in rotating frame
Heff=H0+H1-HMW;
%Define effective Ooserver (along Sx) (rotating frame)
Obs=H1;
%Initialize density matrix
rho0=sigeq(Heff+HMW,Temp);
%Compute evolution of the signal
S = evolve(rho0,Obs,Heff,tPoints,dt);
%Signal over angles averaged
Stheta=Stheta+S*Weight(j);
else
Stheta=Stheta+0*Stheta; % Set weights<Cutoff == 0
end
end
%plot time-trace
figure(2)
plot(t,real(Stheta),t,imag(Stheta))
legend('real(S(t))','imag(S(t))');
xlabel('t/µs')
Re: Nutation Frequency simulation
Posted: Fri Jan 27, 2017 4:16 pm
by Stefan Stoll
Does your code work for S = 1/2 and isotropic g? Check that first before you move on to a high-spin system.