This tutorial explains how to simulate slow-motion cw EPR spectra of S=1/2 systems using EasySpin's function chili. For full information, see the reference page on chili.
It contains the following topics:chiliSlow-motion cw EPR spectra of S=1/2 systems are computed by the EasySpin function chili.
chili(Sys,Exp)
It is called with two arguments. The first argument Sys tells chili
all about the static and dynamic parameters of the spin system.
The second argument Exp gives the experimental parameters.
If no output argument is given, chili
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 = chili(Sys,Exp); [Field,Spec] = chili(Sys,Exp);
The outputs Field and Spec are
vectors containing the magnetic field axis and the spectrum, respectively.
If these are requested, chili does not plot the spectrum.
Doing a simulation only requires a few lines of code. A simple example is
Sys = struct('g',[2.008,2.006,2.003],'Nucs','14N','A',[20,20,85]);
Sys.tcorr = 4e-8;
Exp = struct('mwFreq',9.5);
chili(Sys,Exp);
The first line defines the spin system, a nitroxide radical with anisotropic g and A tensors. The second line gives the rotational correlation time of the radical. The third line specifies experimental parameters, here only the microwave frequency (The magnetic field range is chosen automatically). The fourth 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 short names like Sys and Exp.
The first input argument specifies the static parameters of the paramagnetic molecule. It is a MATLAB structure with various fields giving values for the spin system parameters.
Sys.g = [2.008,2.006,2.003]; Sys.Nucs = '14N'; Sys.A = [20,20,80]; % MHz
The first line defined the g tensor of the spin system via its three
principal values. chili 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 nitrogen-14 in the above example.
Use a comma-separated list of isotope labels to give more than one
nucleus. E.g., Sys.Nucs = '14N,1H,1H' specifies one nitrogen and
two different protons. See the section on multinuclear systems
about details of the slow-motion simulation in that case.
Sys.A gives the hyperfine couplings in MHz (Megahertz),
with three principal values on a row 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 chili (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)
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
For more details, see the documentation on spin systems.
The spin system structure also collects parameters relating to the dynamics of the paramagnetic molecules.
There are several alternative ways to specify the rate of isotropic rotational diffusion:
either by specifying tcorr, the rotational correlation time in seconds
Sys.tcorr = 1e-7; % 10^-7 s = 100 ns
or by givings its base-10 logarithm
Sys.logtcorr = -7; % 10^-7 s = 100 ns
or by specifying the principal value of the rotational diffusion tensor (in s-1)
Sys.Diff = 1e9; % 1 ns^-1
Diff and tcorr are related by
Diff = 1/6/tcorr;The input field
Diff can be used to specify an axial rotational diffusion
tensor, by giving a 2-element vector with first the perpendicular and the the parallel
principal value:
Sys.Diff = [1 2]*1e8; % in Hertz
The lw field has the same meaning
As for the other simulation functions
garlic and
pepper,
the field Sys.lw can be used to specify
a Gaussian and a Lorentzian broadening (FWHM, in mT)
Sys.lw = [0.05 0.01]; % [GaussianFWHM, LorentzianFWHM] in mT
For the reliability of the simulation algorithm we recommend to always
use a small residual Lorentzian line width in Sys.lw
chili is also capable of simulating spectra including Heisenberg spin exchange. The effective exchange frequency (in Hertz) is specified in Sys.Exchange, e.g.
Sys.Exchange = 1e8; % 100 MHz
A short example of an nitroxide radical EPR spectrum with exchange narrowing is
Nx = struct('g',[2.0088, 2.0061, 2.0027],'Nucs','14N','A',[16 16 86]);
Nx.tcorr = 1e-7; Nx.lw = [0 0.1]; Nx.Exchange = 1e8;
Exp = struct('mwFreq',9.5,'CenterSweep',[338, 10]);
chili(Nx,Exp);
chili can also include an orienting potential in the simulation.
It is specified in the field lambda in the spin system structure.
Up to five coefficients can be given, λ2,0, λ2,2, λ4,0,
λ4,2, and λ4,4, in that order. For example,
Nx.lambda = [0.3, -0.2];
indicates λ2,0 = 0.3 and λ2,2 = -0.2.
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, chili automatically
chooses a field range large enough to accomodate the full spectrum.
If both are given, chili 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 of the absorption spectrum (default) Exp.Harmonic = 2; % second derivative of the absorption 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 in many EPR spectrometers, where usually only powers of
2 are available (1024, 2048, 4096, 8192).
In a frozen solution of spin-labelled protein, the protein molecules assume all possible orientations. For slow-motion spectra, this orientational distribution has to be taken into account if a orienting potential is present. If not, it is sufficient to compute only one orientation, as the spectra from all orientations are identical.
The summation of slow-motion spectra over all possible protein ("director") orientations
is called the MOMD (microscopic order macroscopic disorder) model. In
When
With the setting
The third input structure,
The field
Another important option is
To see the values of
However, if the hyperfine coupling of one nucleus is significantly larger than those of the other nuclei,
A simple example is
chili,
MOMD can be activated by setting Exp.MOMD=1.
chili uses the MOMD model for the simulation, it takes the number of
orientations to include from Opt.nKnots. Often, Opt.nKnots does
not have to be changed from its default setting, but if the spectrum does not appear to
be smooth, Opt.nKnots can be increased. Of course, this also increases the
simulation time. For quick simulations, Opt.nKnots should be minimized.
Exp.MOMD=0, only a single orientation is computed, even
when an orienting potential is given. The orientation is taken from Exp.psi,
which is the director tilt angle in radians, i.e. the angle between the magnetic field
and the main axis of the orienting potential (which is fixed to the protein).
Opt, collects parameters related
to the simulation algorithm.
Verbosity specifies whether chili
should print information about its computation into the MATLAB command window.
By default, its value is set to 0, so that chili is silent.
It can be switched on by giving
Opt.Verbosity = 1; % log information
LLKM. It specifies the number of
orientational basis functions used in the simulation. For spectra in the
fast and intermediate motion regime, the preset values don't have to be
changed. However, close to the rigid limit, the default settings of LLKM
might be too small. In that case, LLKM has to be increased, e.g.
Opt.LLKM = [24 20 10 10];
LLKM that chili is using,
set Opt.Verbosity=1, as described above.
chili is not capable of simulating a slow-motional cw EPR spectrum of
systems with more than one nucleus by solving the Stochastic Liouville equation.
chili uses an approximate procedure: The slow-motional spectrum simulated using only the electron spin and the nucleus with the dominant hyperfine coupling is convoluted with the isotropic splitting pattern due to all other nuclei. This post-convolution technique gives resonable results.
CuPc = struct('g',[2.0525 2.0525 2.1994],'Nucs','63Cu,14N','n',[1 4]);
CuPc.A = [-54 -54 -608; 52.4 41.2 41.8];
CuPc.logtcorr = -7.35;
Exp = struct('mwFreq',9.878,'CenterSweep',[330 120],'nPoints',5e3);
Opt.LLKM = [36 30 8 8];
chili(CuPc,Exp,Opt);