endorfrq

Computes ENDOR frequencies and transition amplitudes.

Syntax

Pos = endorfrq(Sys,Par)
Pos = endorfrq(Sys,Par,Opt)
[Pos,Int] = endorfrq(...)
[Pos,Int,Tra] = endorfrq(...)

Description

endorfrq computes ENDOR frequencies and intensities, which can be used to build single-crystal spectra or crystal rotation patterns. endorfrq is used by salt, the solid-state ENDOR spectrum simulation function, to obtain ENDOR positions and intensities. The calling syntax of endorfrq is very similar to that of resfields, its EPR analogue.

The two mandatory input parameters characterize the spin system (Sys), and the experiment parameters (Par) containing the spin system's orientations in the external field. A third parameter Opt can be used to modify and tune endorfrq's computations.

Sys is a spin system structure. In addition to all the fields necessary to construct a spin Hamiltonian, endorfrq only uses the EPR line width field HStrain.

Par is a structure containing information related to the ENDOR experiment.

mwFreq
Microwave frequency used in the ENDOR experiment, in GHz.
Field
Magnetic field at which the ENDOR spectrum is to be computed, in mT.
SampleFrame

An Nx3 array that specifies the sample orientations for which the EPR spectrum should be computed. Each row of SampleFrame contains the three Euler rotation angles that transform the lab frame to the sample/crystal frame.

Exp.SampleFrame = [0 0 0];                   % sample/crystal frame aligned with lab frame
Exp.SampleFrame = [0 pi/2 0];                % sample/crystal frame tilted relative to lab frame
Exp.SampleFrame = [0 pi/2 pi/4];             % sample/crystal frame tilted relative to lab frame
Exp.SampleFrame = [0 0 0; 0 pi/2 pi/4];      % two samples/crystals
Temperature
Temperature at which the experiment is performed, in K. If omitted, no temperature effects are computed.
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 Inf.
CrystalSymmetry
Specifies the symmetry of the crystal. You can give either the number of the space group (between 1 and 230), the symbol of the space group, or the symbol for the point group of the space group (in either Schönflies or Hermann-Mauguin notation).
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.

Opt contains a set of optional parameters used to adjust the computation to one's needs. If a field or the entire structure is omitted, default values are used. One part of the fields concerns the automatic or manual selection of transitions to include in the ENDOR computation, the other one allows to modify the ENDOR intensity calculation.

Verbosity
Level of display. Opt.Verbosity=0 (default) means that endorfrq does not print to the command window. Opt.Verbosity=1 prints some log messages, higher values are given ever more details.
Transitions
mx2 vector of integer
Determines manually the level pairs which are used in the spectrum calculation. If given, endorfrq uses them and skips its automatic transition selection scheme. Level pairs are specified in Transitions(k,:) by the level numbers, starting with 1 for the lowest-energy state.
Threshold
Specifies the threshold for transition pre-selection. Only transitions with an estimated relative average intensity larger than this number are included. The relative average intensity of the strongest transition is set to 1. The default value for the threshold is 1e-4. The pre-selection is an approximate procedure, and it might miss transitions for complicated spin systems. In these cases, setting it to zero will include all transitions in the simulation. After the intensities of all included transitions are computed, the transition are screened again against this threshold in a post-selection step. If transitions are specified manually in Opt.Transitions, Opt.Threshold is ignored.
Nuclei
vector
Determines which nuclear Zeeman terms should be included in the automatic transition selection procedure. If a system contains two different types of nuclei, this allows the user to tune endorfrq to select only transitions belonging to a certain type of nuclei. 1 is the first nucleus in the spin system, 2 the second, and so on. If this field is absent, all nuclei are included by default. E.g. Opt.Nuclei=2 for a spin system with Sys.Nucs='63Cu,1H' will only include 1H ENDOR transitions.
Intensity
'on' (default) or 'off'
By default, ENDOR intensities are computed from ENDOR and EPR transition amplitudes between states and the EPR excitation width. If Intensity is set to off, no intensities are computed. If the endorfrq output parameter Int is given, it is set to empty. You can also switch off intensity computations by not giving the corresponding output parameter.
Enhancement
'off' (default) or 'on'
If on, endorfrq includes the hyperfine enhancement effect in the computation of the transition matrix elements by using the full Zeeman part of the spin Hamiltonian (electron plus nuclear part). Otherwise only the nuclear Zeeman terms are used. The hyperfine enhancement effect causes intensity asymmetries of ENDOR lines at low fields, but it is often compensated by the characteristics of the RF coils used in ENDOR experiments.

There are three output parameters to endorfrq, only the first one is mandatory.

Pos contains the positions of the ENDOR lines (in Megahertz). One column in the output corresponds to one orientation.

Int returns the ENDOR intensities, in an array the same size as Pos. If intensity computations have been switched off, this array is empty. If Int is omitted, intensities are not computed at all.

Tra is a list of the transitions included in the computation. It is a nx2 array containing pairs of level numbers along rows. Levels numbers relate to their energy: the lowest state in energy has number 1, the second lowest is 2, etc. See also the Transitions field in Opt.

Algorithm

endorfrq uses full matrix diagonalization to compute frequencies and amplitudes.

Examples

The following code produces a plot of ENDOR frequencies and amplitudes as a function of the Q tensor axial parameter eeQq. First we define the three input structures to endorfrq and the range of eeQq values.

Sys = struct('S',1/2,'g',2,'Nucs','14N','A',[8 9 10]);
Exp.Field = 350;
Exp.SampleFrame = [10 40 0]*pi/180;
Opt.Threshold = 0;
Opt.Enhancement = 'on';

eeQq = 0.0:.1:4;

Next we loop over all eeQq values and compute the associated ENDOR positions and amplitudes for an arbitrary orientation. The results are stored along columns in the array p and w.

for i = 1:numel(eeQq)
  Sys.Q = eeQq(i);
  [p(:,i), w(:,i)] = endorfrq(Sys,Exp,Opt);
end

At the end, we plot the results. The ENDOR frequencies are scaled with the Larmor frequency of the nucleus.

NZ = larmorfrq('14N',Exp.Field);
subplot(1,2,1); plot(eeQq/NZ,sort(p/NZ).','k');
axis tight, xlabel('eeQq/wnuc'); ylabel('frequency/wnuc');
subplot(1,2,2); plot(eeQq/NZ,sort(w).','k');
axis tight, ylabel('amplitude'); xlabel('eeQq/wnuc');
See also

garlic, levels, pepper, resfields, resfields_perturb, salt