I am in the process of getting a handle on saffron
for simulations of pulse experiments. In particular, I am starting off from examples on the ES site and trying modifications.
For comparison between the fast
and thyme
algorithms, I simulate a 2pESEEM experiment (single S=1/2 spin coupled to a 14N nucleus according to the example here. I just add T1 and T2 times for a morel realistic simulation.
NOTE: I realize that using the thyme algorithm is overkill but, as mentioned, the purpose is a comparison.
The fast
algorithm behaves as expected for the code given below:
Code: Select all
clear, clf, clc
Sys.S = 1/2;
Sys.g = 2.0023;
Sys.T1 = 40; % adds longitudinal relaxation
Sys.T2 = 15; % adds transverse relaxation (phase memory time)
Exp.Sequence = '2pESEEM';
Exp.Field = 340;
Exp.dt = 0.050;
Exp.nPoints = 1001;
Exp.ExciteWidth = 50; % FWHM of Gaussian excitation profile, in MHz
Exp.mwFreq = 9.5; % GHz
Exp.tau = .08; % Initial tau
Sys.Nucs = '14N';
nuI = larmorfrq(Sys.Nucs,Exp.Field);
Sys.A = 2*nuI;
Sys.Q = [4*0.1*nuI, 0.6];
Opt.GridSize = 31;
saffron(Sys,Exp,Opt);
For the thyme
algorithm, I set up the Hahn echo sequence from scratch, instructing the 1st and 2nd delays to increment by the same value in Dim1. Also, I fix the field to precisely its resonance value:
Code: Select all
clear, clf, clc
Sys.S = 1/2;
Sys.g = 2.0023;
Sys.T1 = 40; % adds longitudinal relaxation
Sys.T2 = 15; % adds transverse relaxation (phase memory time)
Sys.Nucs = '14N';
% Experiment
p90.Flip = pi/2;
p90.tp = 0.020; % pulse length, µs
p180.Flip = pi;
p180.tp = 0.040; % pulse length, µs
tau = 0.2; %μs initial tau value
Exp.Sequence = {p90 tau p180 tau};
Exp.Field = 338.987;
% Exp.dt = 0.050;
Exp.nPoints = 101;
% Exp.ExciteWidth = 50; % FWHM of Gaussian excitation profile, in MHz - ONLY FOR FAST ALGORITHM
Exp.mwFreq = 9.5; % GHz
Exp.DetWindow = [-0.1 0.1]; % add a detection window for recording transients, µs
Exp.Dim1 = {'d1,d2' 0.05}; % increment the 1st and 2nd delay by 50 ns
nuI = larmorfrq(Sys.Nucs,Exp.Field);
Sys.A = 2*nuI;
Sys.Q = [4*0.1*nuI, 0.6];
Opt.GridSize = 31;
saffron(Sys,Exp,Opt);
What I observe is that the transient echos are not aligned to the center of the detection window. Initially, try a 31-point grid (with Exp.nPoints = 101). Normally, the system is isotropic and the grid shouldn't(?) matter, but I also try a 61-points grid (with only Exp.nPoints = 15). Still no echos (see figure).
Is there some obvious error/omission on my part?