EasySpin uses mainly two data types that are available in MATLAB: arrays and structures. In EasySpin, a spin system is represented by a MATLAB structure (the spin system structure) containing certain fields.
The spin system structure contains all information about the spin system and its spin Hamiltonian. Its fields specify spin quantum numbers, interaction parameters, matrices and tensors, relative orientation angles for these matrices and tensors as well as details about broadenings.
The
spin Hamiltonian is set up in frequency units (MHz, not angular
frequencies), so all the energy parameters of the Hamiltonian have to
be given in MHz as well. Hence, for example, the field
A represents in fact the diagonal of the hyperfine coupling
tensor divided by the Planck constant, A/h, and not of A.
Remember that all angles are in radians, not in degrees.
Spin system structures are used by many EasySpin functions, among them the simulation functions chili (slow-motion EPR), garlic (isotropic EPR), pepper (solid-state EPR), salt (ENDOR), and saffron (pulse EPR).
Before we give a full list of possible fields, here are a couple of examples of spin system definitions. The input syntax is intuitive and self-explanatory.
Sys = struct('S',1/2,'g',[1.9 2.0 2.1]);
Sys.lw = 0.7; % mT
Nuclei can be added to a spin system either using a set of fields (Nucs, A)
or using the function nucspinadd, which is more convenient
in many situations.
Sys = struct('S',1/2,'g',[2 2.1 2.2],'Nucs','63Cu','A',[50 50 460]);
Sys = struct('S',1/2,'g',[2 2.1 2.2]);
Sys = nucspinadd(Sys,'63Cu',[50 50 460]);
A high-spin Mn2+ system with zero-field splitting is
Sys = struct('S',5/2,'g',2,'Nucs','55Mn');
Sys.A = 200;
Sys.D = 120;
The following groups of parameters can be specified in the spin system structure:
All interaction matrices and tensors can have arbitrary orientations with respect to a molecule-fixed frame of reference (the so-called molecular frame).
Below we list and describe all possible spin system structure fields containing spin Hamiltonian parameters.
The two fields S and Nucs
are used to specify the electron and nuclear spins constituting the
spin system. Both are optional. If S is not given,
S=1/2 is assumed. If Nucs is not specified,
Nucs='' is used.
S
|
Gives the electron spin quantum number(s). An arbitrary number of electron spins can be specified. Examples: Sys.S = 1/2; % one electron spin with S=1/2 Sys.S = 5/2; % an S=5/2 spin Sys.S = [1/2, 1/2]; % two S=1/2 spins Sys.S = [1, 1, 1/2]; % two S=1 spins and one S=1/2 spin
If |
Nucs
|
A string containing a comma-separated list of nuclear isotopes specifying the nuclear spins in the spin system. An arbitrary number of nuclei can be specified. See also the functions nucgval and nucspin. Sys.Nucs = '1H'; % one hydrogen Sys.Nucs = '63Cu'; % a 63Cu nucleus Sys.Nucs = '59Co,14N,14N'; % a 59Co and two 14N nuclei
If there are no nuclear spins in the system, don't specify this field or set it
to It is also possibe to specify elements instead of specific isotopes. Sys.Nucs = 'Cu'; % a natural-abundance mixture of 63Cu and 65Cu Sys.Nucs = 'Cu,14N'; % Cu plus a pure 14N If not a single isotope, but a natural-abundance mixture of isotopes is needed, just omit the mass number. EasySpin will automatically generate all possible isotopologues (isotopes combinations) and simulate all associated spectra. You can freely mix single isotopes and natural-abundance mixtures in one spin system. Sys.Nucs = 'Cu'; % a mixture of 69% 63Cu and 31% 65Cu Sys.Nucs = 'Cu,14N'; % same as above, plus a 14N Sys.Nucs = 'F,C'; % 100% 19F, plus a mixture of 99% 12C and 1% 13C |
The g matrices/tensors for all electron spins in the system are supplied in two fields:
g, for the principal values of the g tensors.
gpa, for the Euler angles specifying the orientations of the g tensors relative to the molecular frame.
See also the reference page on the Electron Zeeman interaction.
g
|
Depending on whether the g tensors are orthorhombic, axial or isotropic, different ways of input are possible:
|
gpa
|
Each row of this array contains the three
Euler angles (in radians)
for the passive rotation which transforms the Sys.gpa = [0 10 0]*pi/180; % one electron spin Sys.gpa = [0 0 0; 0 pi/4 0; 0 -pi/4 0]; % three electron spins With these angles, EasySpin can transform a g tensor from its diagonal eigenframe representation to the molecular frame representation. Here is an explicit example how this is done internally: gpa = [10 34 -2]*pi/180; % Euler angles, in radians g = [2.1 1.97 2.04]; % principal values R = erot(gpa); % rotation matrix gdiag = diag(g) % g in eigenframe gM = R*gdiag*R.' % g in molecular frame which gives the following output
gdiag =
2.1000 0 0
0 1.9700 0
0 0 2.0400
gM =
2.0797 -0.0147 0.0264
-0.0147 1.9728 -0.0115
0.0264 -0.0115 2.0575
|
For each electron-nucleus pair, a hyperfine coupling tensor can be specified. The following fields are used.
A
|
Principal values of the
hyperfine interaction matrices A/h,
in MHz. Each row contains the principal values of the A tensors of one
nucleus. Sys.A = [-6 12 23]; % 1 electron and 1 nucleus Sys.A = [10 10 -20; 30 40 50]; % 1 electron and 2 nuclei For axial and isotropic hyperfine tensors, the notation can be shortened, just as in the case of the g tensor. Sys.A = [4 10]; % = [4 4 10] (axial, 1 electron and 1 nucleus) Sys.A = 34; % = [34 34 34] (isotropic, 1 electron and 1 nucleus) Sys.A = [4 10; 1 2]; % = [4 4 10; 1 1 2] (axial, 1 electron and 2 nucleui) Sys.A = [7; 3]; % = [7 7 7; 3 3 3] (isotropic, 1 electron and 2 nuclei) If the system contains more than one electron spin, each row contains the principal values of the hyperfine couplings to all electron spins, listed one after the other. Sys.A = [10 10 -20 30 40 50]; % 2 electrons and 1 nucleus Sys.A = [10 10 -20 30 40 50; 1 1 -2 3 4 5]; % 2 electrons and 2 nuclei
It is possible to specify full A matrices in Sys.A = [5 0 0; 0 5 0; 0 0 5] % 1 electron and 1 nucleus Sys.A = [[5 0 0; 0 5 0; 0 0 5]; [10 0 0; 0 10 0; 0 0 10]] % 1 electron and 2 nuclei Sys.A = [[5 0 0; 0 5 0; 0 0 5], [10 0 0; 0 10 0; 0 0 10]] % 2 electrons and 1 nucleus |
A_
|
Spherical form of the hyperfine matrix, in terms of its isotropic, axial and rhombic components.
The units are MHz. Sys.A_ = 2; % isotropic component only Sys.A_ = [2 3] % isotropic and axial component Sys.A_ = [2 3 0.4] % isotropic, axial and rhombic componentThe cartesian form (as used in A) and the spherical form
(as used in A_) are related by
A = A_(1) + [-1,-1,2]*A_(2) + [-1,+1,0]*A_(3);For more than one nucleus and more than one electron spin, the array structure is analagous to A.
|
Apa
|
Array of Euler angles
giving the orientations of the various
A matrices in the molecular frame, as described above for Sys.Apa = [0 20 0]*pi/180; % one electron spin, one nucleus Sys.Apa = [0 0 0; 0 10 90; 12 -30 34]*pi/180 % one electron spin, three nucleiIf there are two or more electron spins, each nucleus has two or more hyperfine tensors, and consequently each row should contain two or more sets of Euler angles. Sys.Apa = [0 20 0, 13 -30 80]*pi/180; % 2 electrons, 1 nucleus Sys.Apa = [0 20 0, 0 0 0; 0 10 0, 0 30 50]*pi/180; % 2 electrons, 2 nuclei |
For each nucleus spin, a nuclear quadrupole coupling tensor Q can be given,
using the field Q to specify its principal values and Qpa
for its orientation.
Q
|
Array specifying the principal values of the quadrupole tensors Q/h for all nuclei, in MHz. There are several possible input ways.
eeQq = 1; eta = 0.2; I = 1; % nuclear spin must be known! Q = eeQq/(4*I*(2*I-1)) * [-1+eta, -1-eta, 2] See also the reference page on the nuclear quadrupole interaction. |
Qpa
|
Array of Euler angles
describing the orientation of the Q tensors in the molecular frame, analogous
to Sys.Qpa = [0 pi/4 0]; % one nucleus Sys.Qpa = pi/180*[0 30 0; 0 -30 0]; % two nuclei |
For each electron spin, a zero-field splitting can be specified
in the fields D and Dpa.
See also the reference page on the
zero-field interaction.
D
|
n-vector or nx2 array or nx3 array of real
Values, in MHz, that specify the
zero-field splitting of the
electron spins, one row per electron. Each row of % Examples for one electron spin Sys.S = 5/2; Sys.D = [120 15]; % D = 120 MHz, E = 15 MHz Sys.D = 120; % D = 120 MHz, E = 0 MHz Sys.D = [-25 -55 80]; % principal values of the D tensor, MHz If a system with more than one electron spin is given, the zero-field splitting for each electron has to be given. For electron spins with S=1/2, zeros should be given. % Examples for three electron spins Sys.S = [1,1,1/2]; Sys.D = [120 100 0]; % D parameters only Sys.D = [120 15; 90 10; 0 0]; % D and E parameters Sys.D = [-25 -55 80; -20 -40 60; 0 0 0]; % principal values of the D tensors In terms of D and E, the principal values of the D tensor are given by D = 120; E = 15; % D and E parameters Dpv = [-1,-1,2]/3*D + [1,-1,0]*E % conversion to D principal values |
Dpa
|
nx3 matrix of real
Euler angles describing the
orientation of the D tensors, completely analogous to
Internally, EasySpin uses the following procedure to compute the full D tensor in the molecular frame from the given principal values and the Euler angles Dpv = [-25 -55 80]; % sample principal values Dpa = [10 20 0]*pi/180; % sample tilt angles R = erot(Dpa) % rotation matrix D = R*diag(Dpv)*R.' % computation of the full D tensor |
EasySpin supports a series of high-order electron spin operators in the spin Hamiltonian. These, howevere, are available only for the first electron spin in a spin system.
aF
|
1x2 array of real Values, in MHz, of the fourth-order parameters a and F. For their definition, see the reference page on high-order operators. Sys.aF = [10 -3]; % in MHz
Both a and F are defined in terms the molecular reference frame, which is assumed to coincide the four-fold symmetry axes of the cubic part. For other
orientations (e.g. along the trigonal axes), the high-order parameters |
B20, B21, B22, B40, B41, ..., B44, B60, ..., B66
|
real or 1x2 array
The coefficients for the
extended Stevens operators of the electron
spin (see also the function stev).
|
Currently, it is not possible to include tilt angles for the principal frames of these high-order interactions. All of them are assumed to be collinear with the molecular frame. By changing the molecular frame, i.e. by tilting all other tensors (g, A, etc), this limitation can be circumvented to some degree. Still, all the high-order interactions are collinear.
For each electron spin pair, a coupling tensor can be given. See also the reference page on the electron-electron interaction.
ee
|
1xN or Nx3 or 3Nx3 array of real
Principal value of the
electron-electron interaction matrices.
Each row corresponds to the diagonal of an interaction
matrix (in its eigenframe). They are lexicographically ordered according
to the indices of
the electrons involved. If n is the number of electrons,
there are N = n(n-1)/2 rows. E.g. for four electrons there have
to be six rows with the principal values for the interaction of
electrons 1-2, 1-3, 1-4, 2-3, 2-4, and 3-4, in this order.
For two electrons,
E.g. for two S=1/2, the electron-electron interaction with
isotropic and dipolar coupling is
Sys.S = [1/2 1/2]; % two electrons Sys.ee = [50 50 100]; % one coupling matrix Sys.S = [1/2 1/2 1/2]; % three electrons Sys.ee = [50 50 100; 10 10 -30; 0 0 0]; % three coupling matrices If only isotropic coupling is wanted, one number per coupling is sufficient. Sys.S = [1/2 1/2]; % two electrons Sys.ee = 1000; % one coupling Sys.S = [1/2 1/2 1/2 1/2]; % four electrons Sys.ee = [10 0 0 5 -10 20]; % six couplings (1-2,1-3,1-4,2-3,2-4,3-4)
For accomodating antisymmetric exchange, the full 3x3 interaction
matrices (instead of the 3 principal values and 3 Euler angles) can
be specified. For a 2-electron system, Sys.S = [1/2 1/2]; % two electrons Sys.ee = [50 0 0;0 50 0; 0 0 100]; % one coupling matrix Sys.S = [1/2 1/2 1/2]; % three electrons ee12 = [50 0 0; 0 50 0; 0 0 100]; ee13 = diag([10 10 -30]); ee23 = zeros(3); Sys.ee = [ee12;ee13;ee23]; % three coupling matrices |
eepa
|
Nx3 array of real
Euler angles describing the
orientation of the electron-electron interaction matrices
specified in |
There is a number of fields by which line broadenings can be specified.
lw and lwEndor are line widths (FWHM) which are used
for convolution of the simulated spectrum. All others
are so-called strains and describe Gaussian distributions in
the associated spin Hamiltonian parameters.
For a full documentation of the line broadening fields in the spin system structure, see the page on line broadenings.