This tutorial explains how to simulate isotropic and fast-motion cw EPR spectra of radicals using EasySpin's function garlic. It is assumed that you have a working knowledge of Matlab.
It contains the following topics:garlic
Solution cw EPR spectra of radicals are computed by the EasySpin function garlic.
garlic(Sys,Exp)
It is called with two arguments. The first argument Sys
tells garlic
all about the
spin system, and the second argument Exp
gives the experimental
parameters.
If no output argument is given, garlic
plots the computed spectrum. But it can also return one or two outputs. (Don't forget the semicolon at the end of the line to suppress
output to the command window.)
Spec = garlic(Sys,Exp); [Field,Spec] = garlic(Sys,Exp);
The outputs Field
and Spec
are
vectors containing the magnetic field axis and the spectrum, respectively.
If these are requested, garlic
does not plot the spectrum.
Doing a simulation only requires a few lines of code. A simple example is
Sys = struct('g',2,'Nucs','1H','n',2,'A',15,'lw',0.05); Exp = struct('mwFreq',9.5); garlic(Sys,Exp);
The first two lines define the spin system (a radical with an unpaired electron spin and two equivalent 1H) and the experimental parameters (X band spectrometer frequency). The details will be explained below. The third line calls the simulation function, which plots the result. Copy and paste the code above to your Matlab command window to see the graph.
Of course, the names of the input and output variables don't have
to be Sys
, Exp
, Field
and Spec
.
You can give them any name you like, as long as it is a valid Matlab
variable name, e.g., FremySaltSolution
or QbandExperiment
.
For convenience, thoughout this tutorial, we will use the short names Sys
and Exp
.
The first input argument specifies the spin system. It is a Matlab structure with various fields giving values for the spin system parameters.
Sys.g = 2.006; Sys.Nucs = '1H'; Sys.A = 15; % MHz Sys.n = 2; Sys.lw = 0.05; % mT
The first line defines the isotropic g value of the spin system, in this
case 2.006. garlic
always assumes a single unpaired electron spin S=1/2.
The field Sys.Nucs
contains a string giving all the
magnetic nuclei in the spin system, a proton in the above example.
Use a comma-separated list of isotope labels to give more than one
nucleus. E.g., Sys.Nucs = '1H,1H,14N'
specifies two
different protons and one nitrogen.
Sys.A
gives the hyperfine coupling in MHz (Megahertz),
for each of the nuclei listed in Sys.Nucs
. The following
defines a hydrogen atom with a 10 MHz coupling to the unpaired electron and
a 13C atom with a 12 MHz coupling.
Sys.Nucs = '1H,13C'; Sys.A = [10 12]; % MHz
Remember that garlic
(and other EasySpin functions, too),
take the hyperfine coupling values to be in MHz.
Often, values for hyperfine couplings are given in G (Gauss) or mT
(Milltesla), so you have to convert these values.
For g = 2.00232, 1 G corresponds to 2.8025 MHz, and 1 mT corresponds to 28.025 MHz.
The simplest way to convert coupling constants from magnetic field units to MHz is to use the EasySpin
function mt2mhz:
A_MHz = mt2mhz(A_mT); % mT -> MHz conversion A_MHz = mt2mhz(A_G/10); % G -> MHz conversion (1 G = 0.1 mT)
Sys.n
gives the number of equivalent nuclei. So
Sys.Nucs = '1H'; Sys.n = 1; Sys.A = 5.3;
indicates a single proton, whereas
Sys.Nucs = '1H'; Sys.n = 2; Sys.A = 5.3;
specifies two equivalent protons, i.e. protons with identical hyperfine coupling constants. The statements
Sys.Nucs = '1H,1H'; Sys.n = [4 4]; Sys.A = [-14 -5];
specify two groups of protons with 4 equivalent nuclei in each (as in a naphthalene radical anion or cation).
Sys.lw
is discussed below in the
section about line broadenings.
All experimental settings are given in the second input argument
Exp
, again a Matlab structure.
There are five possible fields:
Exp.mwFreq = 9.5; % GHz, mandatory Exp.CenterSweep = [330 20]; % mT, optional, default: automatic Exp.Range = [320 340]; % mT, optional, default: automatic Exp.Harmonic = 1; % optional, default: 1 Exp.nPoints = 1024; % optional, default: 1024
Exp.mwFreq
gives the spectrometer frequency in GHz. It
is the only field that has to be specified, all others are optional.
There are two ways to specify the magnetic field sweep range.
Either the
center and the sweep width (in mT) are given in Exp.CenterSweep
,
or the lower and upper limit of the sweep range (again in mT) are given in
Exp.Range
.
In many cw EPR spectrometers, the field range is
specified using a center field and a sweep width, so Exp.CenterSweep
is usually the more natural choice.
Exp.CenterSweep
and Exp.Range
are only optional.
If both are omitted, garlic
automatically
chooses a field range large enough to accomodate the full spectrum.
If both are given, garlic
takes
the values given in Exp.CenterSweep
and ignores those
in Exp.Range
.
The optional field Exp.Harmonic
specifies the detection harmonic. It has three
possible settings:
Exp.Harmonic = 0; % absorption spectrum Exp.Harmonic = 1; % first-derivative spectrum (default) Exp.Harmonic = 2; % second-derivative spectrum
The default value for Exp.Harmonic
is 1. Note that Exp.Harmonic>0
only computes the appropriate derivative of the absorption spectrum. Broadening effects due to strong field modulation have to be added separately, see below.
Yet another optional field is Exp.nPoints
, giving the number of points in the simulated
spectrum. If it is not given, the default 1024 is assumed. You can
set any value, unlike EPR spectrometers, where usually only powers of
2 are available (1024, 2048, 4096, 8192).
Lines in an isotropic cw EPR spectrum are not infinitely narrow,
the have a certain linewidth. This linewidth
can be supplied to garlic
in the lw
field of
the spin system structure, in mT.
Sys.lw = 0.05; % mTThis defines the FWHM (full width at half height) of the absorption Lorentzian line shape of the lines in the spectrum. Note that this is NOT the peak-to-peak line width. To specify the peak-to-peak width, use the conversion
% conversion for Lorentzian line widths lw_FWHM = lw_pp * sqrt(3); % sqrt(3) = 1.732...
Lorentzian lines that are broadened by a Gaussian contribution (so-called Voigtian line shapes) are also available. In such a case, use a 2-element vector
Sys.lw = [0.05 0.01]; % mT
The first element is the Lorentzian FWHM, the second is the Gaussian FWHM. To convert between FWHM and peak-to-peak Gaussian line widths, use
% conversion for Gaussian line widths lw_FWHM = lw_pp * sqrt(2*log(2)); % sqrt(2*log(2)) = 1.177...
For ways to model line widths when the anisotropies of the magnetic interactions don't average out completely, see the next section.
If the tumbling of paramagnetic molecules in solution is fast compared to the EPR time scale, but not orders of magnitude faster, dynamic effects appear in the spectrum: Different lines will have different line widths, all of them broader than in the isotropic spectrum. This is the so-called fast-motional regime.
If the tumbling is assumed isotropic and governed by Brownian movement, the only parameter necessary to characterize the speed of tumbling is the rotational correlation time. It can be given in the spin system structure, in units of seconds.
Sys.tcorr = 1e-10; % rotational correlation time, in seconds.
The origin of the line broadenings lies in the anisotropy of the magnetic interactions, so
garlic
has to be supplied with full g and A tensor information. This includes the principal values and the orientation of the tensors.
Sys.g = [2.005 2.003 2.007]; Sys.Nucs = '14N'; Sys.A = [17 17 84];
Sys.g
contains the three principal values of the g tensor. Sys.A
contains the three principal values of the hyperfine tensor. If more than one nucleus is present, one 3-element row per nucleus has to be given. E.g.
Sys.Nucs = '14N,1H'; % two nuclei Sys.A = [17 17 84; 5 5 2]; % 2x3 array
The orientations of the tensors relative to the molecular frame are defined in terms of Euler angles in 3-element array (see the function erot.
Sys.gpa = [0 0 0]; % Euler angles for g tensor Sys.Apa = [0 pi/4 0]; % Euler angles for A tensor
All-zero values can of course be omitted.
Remember that for fast-motion simulations of systems with more than one nucleus, Sys.n
cannot be used. Equivalent nuclei have to be specified one at a time.
garlic doesn't compute the fast-motion linewidths: It calls fastmotion. After the spectrum with the fast-motion linewidths is constucted, garlic
convolutes it using the Lorentzian (and possibly Gaussian) FWHM from Sys.lw
. This way, residual broadenings are easily included.
In conclusion, an illustrative example of a nitroxide radical in the fast-motion regime
A = mt2mhz([5.8 5.8 30.8]/10); Sys = struct('g',[2.0088 2.0061 2.0027],'Nucs','14N','A',A); Sys.tcorr = 5e-9; Exp = struct('mwFreq',9.5); garlic(Sys,Exp);
In cw EPR experiments, the static magnetic field is modulated with a modulation amplitude given by the operator. If it is chosen too large, the spectral line shapes are distorted. To add this effect ot the simulated spectrum, the EasySpin function pseumod can be used.
For this, the absorption spectrum has to be simulated, by setting
Exp.Harmonic=0
. A subsequent call of pseumod
generates the first-harmonic spectrum. Here an example with strong overmodulation:
Sys = struct('g',2,'Nucs','14N','A',[30],'lw',0.05); Exp = struct('mwFreq',9.7,'Harmonic',0); [B,spc] = garlic(Sys,Exp); ModAmp_pp = 0.25; % peak-to-peak modulation amplitude, in mT spc_mod = pseumod(B,spc,ModAmp_pp); plot(B,spc_mod);
The input arguments to pseumod
are the magnetic field axis
B
and the absorption spectrum spc
(both returned by garlic
),
as well as the peak-to-peak modulation amplitude in mT.