This user guide explains how to simulate solid-state ENDOR spectra of powders, frozen solutions or single crystals using EasySpin's ENDOR simulation function salt. You should be familiar with the simulation solid-state cw EPR spectra using pepper (see the corresponding user guide).
This user guide contains the following sections:
salt
Solid-state ENDOR spectra are computed by the EasySpin function salt. It can be called with two or three parameters. For example,
salt(Sys,Exp); % plots the spectrum [frq,spec] = salt(Sys,Exp); % returns the frequency axis and the spectrum [frq,spec] = salt(Sys,Exp,Opt); % provide additional simulation options in Opt
The first argument Sys
tells salt
all about the
spin system, and the second argument Exp
gives the experimental parameters. The third, optional, argument Opt
contains settings for the simulation algorithm.
The outputs frq
and spec
are arrays containing the frequency values (in MHz)
and the spectrum, respectively. If no output is requested, salt
plots the spectrum.
Setting up a simulation and running it takes only a few lines of code. A simple example is
Sys.g = 2; Sys.Nucs = '1H'; Sys.A = [-1 2]*3+1; Sys.lwEndor = 0.1; Exp.Field = 350.1; Exp.Range = [0 30]; salt(Sys,Exp);
This simulates and plots the powder 1H ENDOR spectrum of a system with an unpaired electron and a proton. Copy and paste the code above to your MATLAB command window to see the graph.
The first input argument to salt
is a structure specifying
the spin system.
It contains fields for the electron spin(s), the nuclear spins,
and the various interaction matrices like g and hyperfine tensors.
The fields in this structure are the same as used for cw EPR simulations with
pepper
. See the tutorial
for pepper
for an introduction. Details about all the spin Hamiltonian
parameters can be found on the spin Hamiltonian reference page.
It is also possible to include several electron spins. Refer to the
page about spin system structures for details.
The broadening for the ENDOR spectrum should be given in Sys.lwEndor
. It contains
the convolutional Gaussian and Lorentzian broadenings (FWHM, full width at half maximum) for the ENDOR spectrum.
Sys.lwEndor = 0.1; % Gaussian broadening with FWHM of 0.1 MHz Sys.lwEndor = [0 0.2]; % Lorentzian broadening with FWHM of 0.2 MHz Sys.lwEndor = [0.1 0.2]; % both broadenings simultaneously
EasySpin supports are series of different EPR line broadening models.
The only one supported in an ENDOR simulation is HStrain
: it co-determines
the effective excitation width, together with Exp.ExciteWidth
.
Strain broadenings (gStrain
, AStrain
and DStrain
) as well as
convolutional broadenings of the EPR spectrum (lw
and lwpp
) are ignored.
All experimental settings are given in the second input argument Exp
,
a structure with several fields very similar to those for pepper
.
The most important parameter for an ENDOR simulation is the magnetic field. It is
given in Exp.Field
, in the usual units of mT (millitesla):
Exp.Field = 350; % ENDOR at a field of 350 mT
The spectrometer frequency is given in the field mwFreq
in units of GHz (gigahertz). It
is only necessary to supply it when the excitation bandwidth is limited, that is, when
Exp.ExciteWidth
is set.
Exp.mwFreq = 9.612; % in GHz
The radiofrequency range, in MHz, is taken from either Range
or
CenterSweep
(which are used by pepper
for the magnetic field range).
Of course, only one of the two can be used in a given simulation. If you omit both of them,
EasySpin automatically determines a suitable frequency range.
Exp.Range = [40 60]; % rf sweep range [start end], in MHz Exp.CenterSweep = [50 10]; % the same range, given as [center sweep], in MHz
By default, salt
computes a 1024-point spectrum. However, the number of
points can be changed manually to a different value, e.g.,
Exp.nPoints = 5001;
If not told otherwise, salt
computes the absorption spectrum. By changing Exp.Harmonic
, the first-harmonic
(first-derivative) or the second-harmonic (second derivative) of it can be requested.
Exp.Harmonic = 0; % absorption spectrum (default) Exp.Harmonic = 1; % first harmonic Exp.Harmonic = 2; % second harmonic
The polarizing effects of low sample temperatures can also be included in the simulation by specifying the temperature:
Exp.Temperature = 4.2; % temperature in kelvin
With this setting, salt
will include the relevant polarization
factors resulting from a thermal equilibrium population of the energy levels.
However, there are only very few situations where temperature effects are
visible in ENDOR spectra.
There is one more experimental parameter for an ENDOR simulation: the excitation
width, given in Exp.ExciteWidth
. It determines the orientational
selectivity of the ENDOR experiment. It is so important that we dedicate the
next section to it.
In an ENDOR experiment of a disordered system, not all paramagnetic centers are excited. Only those that resonate at the given magnetic field and microwave frequency can give an ENDOR signal. Spins that are slightly off-resonant contribute less, and spins far off-resonant cannot give an ENDOR signal at all. If the EPR resonance frequency is orientation dependent, this means that only electron spins with certain orientations are excited - hence the term "orientation selection". The range of frequencies over which electron spins are excited is called the "excitation window". It is centered around the microwave frequency.
The bandwidth of excitation, i.e. the width of the excitation window, is determined by the
Q factor of the resonator (cw ENDOR) or the length of the first pulse (pulse ENDOR). The window
is assumed to be Gaussian and its width (FWHM) is given in Exp.ExciteWidth
, in units
of MHz.
Values between 50 and 250 MHz are common. The smaller this value, the stronger the orientation
selection, and the sharper the resulting ENDOR spectrum. For pulse ENDOR, the excitation
bandwidth can be estimated from the length of the first pulse, tp, by 2/tp.
Exp.ExciteWidth = 100; % MHz
If Exp.ExciteWidth
is not given, it is assumed infinite, that is, all the spins are excited.
This is rather unrealistic, but often useful when exploring ENDOR spectra resulting from different
sets of hyperfine and quadrupole parameters. In this case, no microwave frequency needs to be given.
To compute the total effective excitation width for the ENDOR experiment, EasySpin combines the
width given in Exp.ExciteWidth
with the width given in Sys.HStrain
,
which represents the EPR broadening. The larger HStrain
, the larger the
total excitation bandwidth.
Sys.HStrain = [1 1 1]*200; Exp.ExciteWidth = 50; % total excitation width in MHz: sqrt(200^2+50^2) = 206 Exp.ExciteWidth = 100; % total excitation width in MHz: sqrt(200^2+100^2) = 224
As you can see, the total excitation width is rather insensitive to ExciteWidth
,
if ExciteWidth
is much smaller than HStrain
.
If not specified otherwise, salt
computes a powder spectrum. To simulate the spectrum for a single crystal, use the experiment structure field Exp.SampleFrame
to provide the crystal/sample orientation. This field should contain the tilt angles that transform the laboratory frame to the crystal/sample frame.
For a crystal sample with its frame aligned with the laboratory frame, the setting is
Exp.SampleFrame = [0 0 0]; % crystal/sample frame aligned with lab frame
If you need more than one sample orientation at the same time (for example for a twinned crystal), specify more than one orientation.
Exp.SampleFrame = [0 0 0; 0 pi/4 0]; % two orientations, one per row
If Exp.SampleFrame
is missing or set to []
(an empty array), salt
simulates the powder spectrum.
In most crystals, there is a set of symmetry-related sites with identical paramagnetic centers differing only in their orientation in the crystal. This depends on the space group of the crystal. Provide information about this in the field Exp.CrystalSymmetry
, e.g.
Exp.CrystalSymmetry = 'P21/m'; % space group symbol Exp.CrystalSymmetry = 11; % space group number (between 1 and 230) Exp.CrystalSymmetry = 'C2h'; % point group, Schönflies notation Exp.CrystalSymmetry = '2/m'; % point group, Hermann-Mauguin notation
With the crystal symmetry given, salt
not only computes the spectrum for the orientation given in Exp.SampleFrame
, but also for all symmetry-related sites. For this to work correctly, make sure to set Exp.MolFrame
consistent with EasySpin's crystal frame definitions.
The third input argument to salt
contains simulation options.
All of them have reasonable default values, but occasionally it might be necessary
to change one of them.
If you want salt
to print information about the simulation to
the command window during the computation, use
Options.Verbosity = 1;
'Verbosity'
specifies the amount of information displayed. 0 (the default)
suppresses all output, 1 is normal, and 2 prints very detailed information.
Another useful option is GridSize
, which determines how many
orientations salt
will include in the simulation of a powder
spectrum. If this value is too low, the spectral line shape contains artifacts
in the form of ripples.
GridSize
is the number of orientations between the z axis and
the x axis (between θ = 0 and θ = 90 degrees). It determines the
resolution of the orientational grid used in the simulation.
Options.GridSize = 31; % corresponds to 3-degree increments
The higher GridSize
, the finer the orientational grid.
The default value of 19 (5-degree increments) is appropriate for most systems.
A value larger than 181 (0.5-degree increments) is rarely needed.
After having computed the spectrum for a number of orientations specified
by GridSize
, the simulation function interpolates these spectra for
additional orientations before summing up all spectra. This interpolative
refinement can be configured with a second number in GridSize
.
GridSize = [19 4]
means that pepper
interpolates
additional 4 spectra between two adjacent orientations evaluated.
Options.GridSize = [19 10]; % massive interpolation Options.GridSize = [19 0]; % no interpolation
The option separate
can be used to obtain a set of individual transition spectra instead of the total spectrum:
% separate subspectra for all transitions Options.separate = 'transitions'; % one overall spectrum Options.separate = '';
There are more option fields available. For details, see the reference page on salt.
By default, EasySpin uses matrix diagonalization for computing ENDOR spectra. Even though this is by far the most accurate way, it is also the slowest. This can be felt painfully when simulating ENDOR spectra of spin systems with a lot of nuclei. EasySpin offers several speed-up options to trade a little accuracy for a lot in performance gain.
One way to speed up an ENDOR simulation is to switch to first- or second-order perturbation theory.
Options.Method = 'perturb1'; % first-order perturbation theory Options.Method = 'perturb2'; % second-order perturbation theory Options.Method = 'matrix'; % matrix diagonalization
If you have a couple of protons in an 1H ENDOR spectrum, first-order perturbation theory is orders of magnitude faster than matrix diagonalization. Under most circumstances, the errors introduced are minimal. Second-order perturbation theory should be used if the hyperfine couplings are larger than about 2% of the microwave frequency (about 200 MHz for a microwave frequency of 10 GHz). Perturbation theory does not work for all spin systems: it is limited to S=1/2.
If you want to stick with matrix diagonalization, there is another way to speed up simulations that
is useful when there is strong orientation selection, and only nuclei with small hyperfine couplings
are observed in the ENDOR spectrum. salt
can be told to pre-compute the orientation selection
instead of computing it on the fly, using
Options.OriPreSelect = 1; % use orientation pre-selection
This tells EasySpin to classify nuclei into whether they contribute to orientation selection (N1)
or not (N2), then pre-compute orientation selection data only for those in group N1. Any orientation
that is not noticeably excited is then skipped in the subsequent ENDOR simulation. This pre-selection
is only available with matrix diagonalization and advantageous only if there are several nuclei that
do not
contribute to orientational selectivity. Use it only if perturbation theory is
really not an option.