Calculation of powder and single-crystal ENDOR spectra.
salt(Sys,Exp) salt(Sys,Exp,Opt) spec = salt(...) [rf,spec] = salt(...) [rf,spec,trans] = salt(...)
This function calculates powder and single-crystal ENDOR spectra. Its calling syntax
is identical to that of pepper, many of its options
are equal to those of endorfrq, which is used by
salt
to compute line positions and amplitudes.
There are up to three output arguments
salt
plots the simulated spectrum.
rf
is the vector of radiofrequency values in MHz over which the
spectrum was calculated.
spec
is a vector or a matrix containing
the ENDOR spectrum or spectra.
If spec
is a matrix, the subspectra (various
transitions or various orientations) are along rows.
trans
is a list of level number
pairs indicating the transitions which where included in the spectrum
calculations. Level numbers refer to the energy levels of the
Hamiltonian in ascending energy order, so level 1 has lowest
energy and so on.
The three input arguments to the function are
Sys
: spin system (paramagnetic molecule)Exp
: experimental parametersOpt
: simulation options
Sys
is a spin system structure.
Fields available in Sys
include all needed
for the construction of a Hamiltonian and the ENDOR line width parameter
lwEndor
. If lwEndor
is not given, it is assumed to be zero,
and stick spectra are returned. The field HStrain
is included in
excitation window computations (see Exp.ExciteWidth
).
For simulating a multi-component mixture, Sys
should be a cell array of spin systems,
e.g. {Sys1,Sys2}
for a two-component mixture. Each of the component spin systems should
have a field weight
that specifies the weight of the corresponding component in the final
spectrum.
Exp
contains experimental parameters such as the microwave
frequency, the magnetic field range and temperature. Here is a full
list of its fields.
Field
Range
[rfmin rfmax]
. The values are in MHz. Example:
Exp.Range = [1 30]
.
If omitted, EasySpin tries to determine the frequency range automatically.
CenterSweep
[rfcenter rfwidth]
. The values are in MHz. Example: Exp.CenterSweep = [51 10]
.
If omitted, EasySpin tries to determine the frequency range automatically.
nPoints
mwFreq
ExciteWidth
is given.
ExciteWidth
ExciteWidth
is its FWHM. The default is infinity. To obtain the full excitation with for a given orientation, ExciteWidth
is combined with HStrain
from the spin system structure.
Temperature
CrystalOrientation
CrystalOrientation
contains the three Euler rotation angles that transform the crystal frame (C) to the lab frame (L). If only two Euler angles are given, the third is set to zero. If CrystalOrientation
is empty or not specified, the full powder spectrum is computed.
Exp.CrystalOrientation = [0 0 0]; % single crystal, crystal z axis aligned with B0 Exp.CrystalOrientation = [0 pi/2 0]; % single crystal, crystal z axis perpendicular to B0 Exp.CrystalOrientation = [0 0 0; 0 pi/2 0]; % two crystals Exp.CrystalOrientation = []; % powder
CrystalSymmetry
Exp.CrystalSymmetry = 'P21/c'; % 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
When CrystalSymmetry
is given, all symmetry-related sites in the crystal are included in the calculation. If CrystalSymmetry
is not given, space group 1 (P1, point group C1, one site per unit cell) is assumed.
Ordering
If a number is given in this field, it specifies the orientational distribution of the paramagnetic molecules in the sample. If not given or set to zero, the distribution is isotropic, i.e. all orientations occur with the same probability.
If it is given, the orientational distribution is non-isotropic and computed according to the formula P(θ) = exp(-U(θ)) with U(θ) = -λ(3 cos^{2}θ - 1)/2), where θ is the angle between the molecular z axis and the static magnetic field, and λ is the number specified in Exp.Ordering
.
Typical values for λ are between about -10 and +10. For negative values, the orientational distribution function P(θ) is maximum at θ = 90° (preferential orientation in the molecular xy plane), for positive values at θ = 0° and θ = 180° (preferential alignment along the molecular z axis). The larger the magnitude of λ, the sharper the distributions.
To plot a distribution depending on λ, use
lambda = 5; theta = linspace(0,pi,1001); U = -lambda*plegendre(2,0,cos(theta)); P = exp(-lambda*U); plot(theta*180/pi,P);
If Exp.Ordering
is a function handle, pepper
will use the user-supplied function to obtain the orientational distribution. It calls the function with two vector arguments, phi
and theta
(in radians). The function must return a vector P
containing probabilities for each orientation, that is P(k)
is the probability of finding the paramagnetic molecules with orientation specified by phi(k)
and theta(k)
. Here is an example with an anonymous function:
Exp.Ordering = @(phi,theta) gaussian(theta,0,15/180*pi);
Of course, the function can also be written and stored in a separate file, e.g. myori.m
. Then use Exp.Ordering = @myori
.
When using a custom orientational distribution, make sure that the symmetry used in the simulation corresponds to the symmetry of the distribution. If the distribution is very narrow, increase the number of knots in the options structure.
There are defaults for all fields except Range
and Field
, which have to be specified when invoking salt
.
The structure Opt
collects a number of parameters allowing to tune speed and accuracy of the simulation. Opt
is optional, if it is omitted, pre-set values for the parameters are used. The field names and their possible values are
Method
'matrix'
(default) or 'perturb1'
or 'perturb2'
'perturb1'
, first-order
perturbation theory, or 'perturb2'
, second-order perturbation theory.
Perturbation theory does not work for electron spins with S>1/2. It is accurate
only if the hyperfine coupling is much smaller than the microwave frequency, and
the nuclear quadrupole interaction is much smaller than both the hyperfine and
the nuclear Zeeman interaction.
Opt.Method = 'perturb1'; % first-order perturbation theory Opt.Method = 'matrix'; % matrix diagonalization
Nuclei
Nuclei
is a list
of indices selecting those nuclei for which ENDOR peaks should be computed. 1
is the first nucleus, etc. E.g. the following specifies ENDOR of only the protons
only in a copper complex.
Sys.Nucs = '63Cu,1H,1H'; Opt.Nuclei = [2 3]; % only protonsBy default, all nuclei are included in the simulation.
Verbosity
salt
prints to the screen. If Opt.Verbosity=0
, salt
is completely silent. 1 logs relevant information, 2 gives more details.
nKnots
[N1]
or [N1 N2]
N1
gives the number of orientations between θ=0° and θ=90°
for which spectra are explicitly calculated using the physical theory.
Common values for N1
are between 10 (10° increments) and 91 (1° increments).
The larger the anisotropy of the spectrum and the narrower the linewidth, the higher
N1
must be to yield smooth powder spectra.
N2
is the refinement factor for the interpolation of the orientational
grid. E.g. if N2=4
, then between each pair of computed orientations
three additional orientations are calculated by spline interpolation. Values higher than 10
are rarely necessary. If N2
is not given, a default value is used.
Opt.nKnots = 91; % 1° increments, no interpolation Opt.nKnots = [46 0]; % 2° increments, no interpolation Opt.nKnots = [31 6]; % 3° increments, 6-fold interpolation (giving 0.5° increments)
Sites
Opt.Sites
is empty or not given, all sites are included. If given, it must be a list of site numbers. The number of sites depends on the space group given in Exp.CrystalSymmetry
. E.g. the following set limits the simulation to sites 1 and 3 of the 4 magnetically distinct sites in crystal of space group no. 47.
Exp.CrystalSymmetry = 47; % space group Pmmm Opt.Sites = [1 3];In powder simulations,
Opt.Sites
is ignored.
Symmetry
'auto'
(default), 'Dinfh'
, 'D2h'
,
'C2h'
or 'Ci'
'Dinfh'
corresponds to a line from θ=0° to &theta=90° (with φ=0°), 'D2h'
to one octant, 'C2h'
to two octants, and 'Ci'
to one hemisphere (four octants).
auto
is the default, meaning that pepper
determines the correct symmetry automatically from the given spin system. With any other setting, pepper
is forced into using the specified symmetry, even if it is incorrect for the spin system.
See also symm.
Output
'summed'
(default) or 'separate'
'separate'
causes salt
to return the spectra
for different transitions separately in spec(k,:)
. For
single-crystal spectra, 'separate'
causes
salt
to return the spectra for different crystals
(see Exp.CrystalOrientation
)
separately. 'summed'
means that only one total
spectrum is returned.
ThetaRange
salt
to be used similar to older powder
ENDOR spectrum computation programs. There it was possible to include
effects of orientation selection and limited excitation bandwidths by
manually specifying the range of orientations to be included in the
"powder" spectrum. ThetaRange
specifies the lower and
upper limit of θ (angle between the z axis of the molecular frame
and the external static magnetic field) for the orientations in the powder
simulation. So if ThetaRange = [10 20]*180/pi
,
only orientations in the segment with θ between
10° and 20° are included in the spectrum.
Opt.Symmetry
is not explicitely given, it is set to 'Ci'
.
Opt.ThetaRange
cannot be used together with Exp.Ordering
or
Exp.Orientations
.
The following options are only available for matrix diagonalization (Opt.Method='matrix'
),
but not for perturbation theory (Opt.Method='perturb1'
or 'perturb2'
).
Transitions
salt
uses them and skips its
automatic transition selection scheme. Level pairs are specified in
Transitions(k,:)
by the level numbers which start with 1 for the
lowest-energy level.
Opt.Transitions = [1 2]; % transition between levels 1 and 2 Opt.Transitions = [1 2; 5 6]; % 2 transitions, 1<->2 and 5<->6
Enhancement
'off'
(default) or 'on'
Intensity
'on'
(default) or 'off'
Threshold
salt
's transition selection scheme.
Any transition with a relative average amplitude less that
Threshold
is not included in the calculation. The relative
average amplitude of the strongest transition is 1.
OriPreSelect
salt
uses automatic orientational pre-selection
to speed-up simulations. This speed-up is most noticeable for large spin
systems and field/frequency settings that lead to single-crystal like spectra.
salt
computes line positions and intensities for a set of orientations using either matrix diagonalization or perturbation theory.
The matrix diagonalization approach used in salt
is identical to that of pepper
, with the obvious exception of the calculation of line intensities, which is similar to that used in MAGRES (Keijzers et al, J.Chem.Soc. Faraday Trans. 1 83, 3493-3503, 1984).
First- and second-order perturbation theory is based on expressions by Iwasaki (J.Magn.Reson. 16, 417-423, 1974). It includes pseudosecular contributions. No transition moments are computed, that is, the intensities of all resonances are equal. Currently, the perturbation-theory algorithm is limited to systems with one electron spin S=1/2 (but an arbitrary number of nuclei with arbitrary spins).
For powder simulations, salt
uses the same methods as pepper
, orientational interpolation and interpolative projection, to construct the powder spectrum.
A full simulation of the powder ENDOR spectrum of a radical with a proton is
Sys.g = 2; Sys.Nucs = '1H'; Sys.A = [-2 1 4]; Sys.lwEndor = 0.1; Exp.Range = [8 18]; Exp.Field = 308.46; salt(Sys,Exp);
eigfields, endorfrq, pepper, resfields, resfields_perturb