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 equal 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 specification structure |
Exp | Experimental parameters structure |
Opt | Simulation options structure |
Sys
is a spin system specification structure, as described in
a separate chapter. Fields expected 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
).
Exp
contains experimental parameters such as the microwave
frequency, the magnetic field range and temperature. Here is a full
list of its fields.
Range |
1x2 vector Lower and upper limit of the rf frequency sweeping range [rfmin rfmax] .
The values are in MHz.
|
mwFreq | EPR excitation (and detection) frequency in GHz. |
Field | Magnetic field (in mT) at which the experiment is performed. |
nPoints |
Number of points on the rf frequency axis between Range(1) and
Range(2) . The default is 1024.
|
ExciteWidth |
The excitation width of the microwave in MHz (responsible
for orientation selection). The excitation profile is assumed to be
Gaussian, and 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 | Temperature at which the experiment is performed, in K. If omitted, no temperature effects are computed. |
Orientations |
3xN array of real Specifies single-crystal orientations for which the ENDOR spectrum should be computed. Each column of Orientation
contains the three Euler rotation angles [phi;theta;chi] of the
magnetic field in a molecule fixed frame. If Orientation is empty
or not specified, the full powder spectrum is computed.
|
Nematic |
scalar (default: not given) If this field is specified, pepper computes the spectrum of
the paramagnetic species aligned in the nematic phase of a liquid crystal.
The centres are assumed to be aligned in a way that that the external magnetic
field forms an angle θ of about 90° with the z axis of the molecular
reference frame, i.e., lies in the xy plane, or very close to it.The orientational distribution of the centres is described by a simple Gaussian centered at θ = 90°, and Nematic gives the FWHM line width of this distribution, in radians.
E.g., Nematic = 30*pi/180 specifies that θ lies in the range
90°+-15° (FWHM). In the xy plane, the orientation of the external magnetic
field vector is completely random. Typical values for Nematic are
between 10° and 70°.
|
There are defaults for all fields except Range
, mwFreq
and
Field
, which have to be specified when invoking salt
.
The structure Opt
collects a number of parameters allowing to
fully tune speed and accuracy of the simulation to one's needs.
Opt
need not be specified, in which case default values for the
fields are used. The field names and their possible values are
Verbosity |
Determines how much information salt prints to the screen.
If 0, salt is completely silent. 1 logs relevant information,
2 gives more details. Values higher than 2 are only used for development
and debugging.
|
Nuclei |
vector of integer List of nuclei to include in the computation. Nuclei is an index
vector into the spin system's I selecting those nuclei for which
transitions are selected. 1 is the first nucleus, etc.
|
Transitions |
mx2 vector of integer Determines manually the level pairs (transitions) which are used in the spectrum calculation. If given, 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.
|
Threshold |
Specifies the threshold for 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.
|
nKnots |
This parameter determines the number of orientations for which spectra
are explicitly calculated. nKnots gives the number of knots on
quarter of a meridian, i.e. in the interval 0 <= θ <= π/2. The
default is 31, a higher value is only necessary if the orientational
dependence of the spectrum is very complicated. See also Symmetry .
|
nSpline |
Refinement factor for the spline interpolation of the orientational
grid. If nSpline = 2 , then the data points are doubled, i.e.
between each skeleton point one point calculated by interpolation is
inserted. The default value is 5, higher values are seldom necessary.
If nSpline is smaller than 2, interpolation is skipped, but
not the projective interpolation which yields the final
spectrum.
|
Symmetry |
'auto' | 'Dinfh' | 'D6h' | 'D4h' | 'Oh' | 'D3d' | 'Th' | 'D2h' | 'C4h' | 'C6h' | 'S6' | 'C2h' | 'Ci' Determines the symmetry of the Hamiltonian. 'auto' is the default,
meaning that salt determines the correct symmetry automatically.
With any other setting, salt is forced into using the specified
symmetry, even if it is wrong for the spin system. Avoid the auto
setting for very large multi-spin systems, since the symmetry
determination then takes quite some time.
See also symm.
The most important symmetry point groups needed for explicit
specification are |
LineShape |
'Gaussian' (default) or 'Lorentzian' Specifies the line shape to use for convoluting the ENDOR spectrum. |
Output |
'summed' (default) or 'separate' Determines in what form the spectrum is returned. For powder spectra, '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 orientations
(see Exp.Orientations )
separately. 'summed' means that only one total
spectrum is returned.
|
Enhancement |
'on' (default) or 'off' Switches hyperfine enhancement in the intensity computation on or off. See the same option in endorfrq. |
Intensity |
'on' (default) or 'off' Switches all intensity computations on or off. Intensity computations include the quantum-mechanical transition probability, the orientation selectivity and the Boltzmann factor. |
ThetaRange |
2-element vector (default: not given) This option allows 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.
This option cannot be used together with Exp.Nematic or
Exp.Orientations .
|
OriPreSelect |
0 or 1 (default) Specifies whether 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.
|
The approach used in salt
is identical to that of pepper
,
with the obvious exception of the calculation of line intensities and
positions, which is done by endorfrq
.
A full simulation of the powder ENDOR spectrum of an S=1/2, I=1 system would be coded as
System = struct('S',1/2,'Nucs','14N','g',[2.25 2.25 2],... 'A',[44 44 54],'Q',0.84*[1 1 -2],... 'HStrain',[1 1 1],'lwEndor',.1); Experiment = struct('Range',[16 33],'Field',308.46,... 'mwFreq',9.681); Options = struct('Threshold',1e-4,'nKnots',10,... 'Verbosity',1); salt(System,Experiment,Options);
eigfields, endorfrq, pepper, resfields