EasySpin uses mainly two data types that are available in MATLAB: arrays and structures. Details about arrays and structures can be found in the MATLAB documentation. In EasySpin, a spin system is represented by a structure (the spin system structure, SSS). A structure is a collection of fields. SSSs are structures containing certain fields.
The SSS contains all information about the spin system and its 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 A/h and not of A.
Remember that all angles are in radians, not in degrees.
SSSs are used by many EasySpin functions, among them pepper, salt, resfields, levels.
Here are a couple of examples of spin system definitions. The input syntax is intuitive and self-explanatory. Details about the various fields can be found below.
Sys = struct('S',1/2,'g',[1.9 2.0 2.1]); Sys.lw = 0.7;
Spin systems containing nuclei can be defined either directly or using the function nucspinadd:
Sys = struct('S',1/2,'g',[2 2 2.2],'Nucs','63Cu','A',[50 50 460]);
Sys = struct('S',1/2,'g',[2 2 2.2]); Sys = nucspinadd(Sys,'63Cu',[50 50 460]);
For several nuclei, the latter form is more convenient. E.g.,
Sys = struct('S',1/2,'g',[2 2 2.2]); Sys = nucspinadd(Sys,'63Cu',[50 50 460]); Sys = nucspinadd(Sys,'14N',[10 20 30]); Sys = nucspinadd(Sys,'14N',[10 20 30]); Sys = nucspinadd(Sys,'14N',[10 20 30]); Sys = nucspinadd(Sys,'14N',[10 20 30]);
A high-spin Mn2+ system with zero-field splitting is
Sys = struct('S',1/2,'g',[2 2 2],'Nucs','55Mn'); Sys.A = [1 1 1]*200; Sys.D = [-1 -1 2]*80;
The two fields S
and Nucs
in the SSS
are used to specify 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
|
1xn vector of multiples of 1/2 (default 1/2)
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 = [1 1 1/2]; % two S=1 and one S=1/2 spinIf S is not given, it is automatically
set to 1/2.
|
Nucs
|
string (default '')
A comma-separated list of 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 = '59Co,14N,14N'; % a 59Co and two 14N nuclei |
The following table lists all possible SSS fields containing spin Hamiltonian parameters. All interaction matrices and tensors can have arbitrary orientations with respect to a molecule-fixed frame of reference (the so-called molecular frame).
g
|
nx3 array of real
Defines the g matrix or matrices for the Electron Zeeman interaction. Each row contains the three principal values of the associated electron spin, i.e. g(k,:)
refers to electron spin k . Orientations of the
g matrices are given in gpa .
Sys.g = [2 2 2.3]; % for one electron spin Sys.g = [2 2 2.3; 1.9 1.95 2.01]; % for two electron spins |
gpa
|
nx3 array of real
Each row of this array contains the three Euler angles (in radians) for the passive rotation which transforms the g matrix of the
associated electron spin from its eigenframe to the molecular
frame (see also the function
erot). If not specified, gpa is assumed to be all-zero.
Sys.gpa = [0 0 0]; % one electron spin Sys.gpa = [0 0 0; 0 pi/4 0; 0 -pi/4 0]; % three electron spins |
A
|
mx3n array of real or 3mx3n array of real
Principal values of the hyperfine interaction matrices A/h in MHz. The first dimension specifies the nucleus, the principal values for the various electron spins are given along the rows. The orientations of the matrices are in Apa .
Sys.A = [10 10 -20; 30 40 50]; % for one electron and two nuclei Sys.A = [10 10 -20, 30 40 50]; % for two electrons and one nucleus Sys.A = [10 10 -20, 30 40 50; 1 1 -2, 3 4 5]; % 2 electrons and 2 nucleiIt is possible to specify full A matrices in A . The 3x3 matrices
have to be combined like the 1x3 vectors used when only principal values are
defined: For different electrons, put the 3x3 matrices on top of each other,
for different nuclei, side by side. If full matrices are given in A ,
Apa is ignored.
% 1 electron and 1 nucleus Sys.A = [5 0 0; 0 5 0; 0 0 5] % 2 electrons and 2 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 10 0 0; 0 5 0 0 10 0; 0 0 5 0 0 10] |
Apa
|
mx3n array of real
Array of Euler angles giving the relative orientation of the various A matrices, as described above for gpa .
If Apa is not specified, it is
assumed to be all-zero. See also
erot.
|
Q
|
nx3 array of real
Principal values of the nuclear quadrupole interaction tensors Q/h for all nuclei, in MHz. If it is not specified, it is assumed to be zero. |
Qpa
|
nx3 array of real
Euler angles describing the orientation of the Q interaction tensors, analogous to gpa and Apa . Row n specifies the
Euler angles for nucleus n.
Sys.Qpa = [0 pi/4 0]; % one nucleus Sys.Qpa = pi*[0 1/4 0; 0 -1/4 0; .5 3/4 0]; % three nuclei |
D
|
nx3 array of real
Principal values, in MHz, of the D matrix describing the zero-field interaction of the electron spins, one row per electron. Each row of D
should contain three values [Dxx Dyy Dzz] .
They form the diagonal of the D/h matrix in its eigenframe.
Sys.D = [-1.2 -0.8 2]*1e3; % direct specification D = 1e3; E = 2e2; Sys.D = [-D/3+E,-D/3-E,2*D/3]; % with D and E Sys.D = [-1.2 0.8 2; 0.6 0.4 -1]; % two electron spins |
Dpa
|
nx3 matrix of real
Euler angles describing the orientation of the D tensors, completely analogous to Qpa .
|
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). B20 , B40 and B60 are scalars.
The other fields specify two ![]() B43
represents ![]() ![]() |
ee
|
Nx3 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, ee contains
one row only.
E.g. for two S=1/2, the electron-electron interaction with
isotropic and dipolar coupling is
|
eepa
|
Nx3 array of real
Euler angles describing the orientation of the electron-electron interaction matrices specified in ee .
Each row contains the Euler angles for the corresponding row
in ee .
|
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.