Simulation of crystal spectra

EasySpin can simulate EPR spectra of powders and frozen solutions as well as of single crystals. For powder and frozen-solution spectra, it is only necessary to specify the spin system (spins present, principal values and orientations of all tensors, broadenings) and basic experimental parameters such as the microwave frequency and the magnetic field sweep range. For crystal spectra, EasySpin needs additional information.

This tutorial shows how to simulate the EPR spectrum of a crystal, and how to simulate a series of spectra obtained by rotating a crystal in the spectrometer.

To understand the following, make sure you are familiar with the various frames that are used by EasySpin: the lab frame, the sample/crystal frame, the molecular frame, and the tensor frames.

Everything below is applicable to all solid-state EPR simulation functions: pepper (for cw EPR), salt (for ENDOR), and saffron (for pulse EPR). It also is applicable to functions that compute resonance frequencies and fields, such as resfields etc.

Single-crystal EPR spectrum

Let's start with a simple spin system and a simple cw EPR experiment. The following simulates the powder spectrum:

clear
Sys.g = [2.0 2.1 2.2];
Sys.lw = 1;             % mT
Exp.mwFreq = 9.5;       % GHz
Exp.Range = [300 350];  % mT
pepper(Sys,Exp);

In order to simulate the EPR spectrum of a crystal containing this spin system, you need to provide three additional pieces of information: (1) the symmetry of the crystal, (2) the orientation of the molecule or paramagnetic center in the crystal, (3) the orientation of the crystal in the spectrometer.

  1. Use Exp.CrystalSymmetry to provide information about the crystal symmetry. It can be the space group symbol (such as 'P212121'), the space group number (between 1 and 230, such as 19), or the symbol of the point sub-group of the space group (such as 'mmm' or 'C2h'). If you omit Exp.CrystalSymmetry, it is assumed to be the simplest space group 'P1' (number 1), with one center per unit cell.
  2. Use Exp.MolFrame to specify the orientation of the molecule (spin center) within the crystal. If there are multiple symmetry-related sites, pick one of them - EasySpin will supplement the others based on the crystal symmetry information provided in Exp.CrystalSymmetry. Exp.MolFrame gives the Euler angles for the transformation from the crystal/sample frame to the molecular frame. See the documentation on frames for details on this. If you omit Exp.MolFrame, it is assumed to be [0 0 0], meaning that the molecular frame is aligned with the crystal/sample frame (z axis of the spin center is parallel to z axis of crystal, etc.).
  3. Use Exp.SampleFrame to provide the orientation of the crystal in the spectrometer, giving the three Euler angles for the transformation from the laboratory frame to the crystal/sample frame. See the page on frames for details. If you omit Exp.SampleFrame, it is assumed to be [0 0 0].

To get a crystal spectrum, minimally either Exp.CrystalSymmetry> or Exp.MolFrame must be provided, and Exp.Ordering must be absent.

Here is an example of a crystal simulation. First, define a spin system and the experimental parameters.

clear
Sys.g = [2 2.1 2.2];          % rhombic g tensor
Sys.gFrame = [0 0 0]*pi/180;  % g tensor aligned with molecular frame
Sys.lwpp = 0.5;               % mT

Exp.mwFreq = 9.5;             % GHz
Exp.Range = [300 350];        % mT

Next, provide information about the crystal symmetry, the orientation of the spin center within the crystal, and the orientation of the crystal sample in the spectrometer.

Exp.CrystalSymmetry = 'Pmmm';       % space group Pmmm = #47
Exp.MolFrame = [0 0 0]*pi/180;      % molecular frame aligned with crystal/sample frame
Exp.SampleFrame = [0 0 0]*pi/180;   % crystal/sample frame aligned with lab frame
pepper(Sys,Exp);

This simulation gives a spectrum with a single line. However, in space group Pmmm, there are four symmetry-related sites per unit cell, related to each other by 180-degree rotations around the x, y and z crystal axes, so in principle there are four separate EPR transitions. We see only one line here because the g tensor is aligned with the crystal frame (both Sys.gFrame and Exp.MolFrame are zero). In this case, the g tensors of all four sites have the same orienation. The sample orientation is irrelevant.

To tilt the g tensor (and all other tensors of the spin center) relative to the crystal frame, use Exp.MolFrame:

Exp.MolFrame = [20 50 110]*pi/180;       % molecular frame tilted relative to sample/crystal frame
Exp.SampleFrame = [0 0 0]*pi/180;        % sample/crystal frame aligned with lab frame
pepper(Sys,Exp);

Although this now results in four differently oriented g tensors, they still all give the same effective g value, since the crystal is oriented in the spectrometer such that the magnetic field is aligned along the z crystal symmetry axes (Exp.SampleFrame is still [0 0 0]), where the four sites give identical effective g values. Next, we tilt the crystal in the spectrometer:

Exp.MolFrame = [20 50 110]*pi/180;       % molecular frame tilted relative to sample/crystal frame
Exp.SampleFrame = [0 60 20]*pi/180;      % sample/crystal frame tilted relative to lab frame
pepper(Sys,Exp);

Now, the four sites are magnetically distinct, and four lines appear in the EPR spectrum. Due to the g anisotropy, they have slightly different intensities.

Crystal rotations

To simulate a series of EPR spectra that result from the rotation of a crystal in the spectrometer, use the field Exp.SampleRotation, which implements the sample rotation in a way that mimics how the experiment is performed.

Let's start with a spin system and an initial crystal orientation:

clear
Sys.g = [2.0 2.1 2.2];
Sys.lw = 0.2;                         % mT 

Exp.mwFreq = 9.5;                     % GHz
Exp.Range = [300 350];                % mT

Exp.CrystalSymmetry = 130;            % space group number (#130 has 8 sites)
Exp.MolFrame = [10 60 -34]*pi/180;    % molecular frame tilted within crystal
Exp.SampleFrame = [0 40 0]*pi/180;    % initial crystal orientation in lab frame

pepper(Sys,Exp);

This gives the EPR spectrum for the initial crystal orientation. Next, define how the sample is rotated. For a typical X-band EPR spectrometer with horizontal static magnetic field (laboratory z axis), a resonator with vertically oscillating microwave field (laboratory x axis), and a vertical sample tube (along the laborary x axus), the sample tube is commonly rotated around its own axis, i.e. around the laboratory x axis. We define this rotation axis and the rotation angle (in radians) in the field Exp.SampleRotation:

nRot_L = [1;0;0];          % sample rotation axis in lab frame (lab x axis here)
rho = deg2rad(10);         % sample rotation angle, in radians
Exp.SampleRotation = {nRot_L,rho};
pepper(Sys,Exp);

This simulates the EPR spectrum of the crystal rotated by 10 degrees (given in rho) counterclockwise around the laboratory x axis (given in nRot_L) starting from its initial orientation given in Exp.SampleFrame.

It is also possible to use shorthand letter codes to specify the rotation axis.

Exp.SampleRotation = {'x',rho};    % shorthand notation for lab x axis

Other letter codes are 'y', 'z', 'xy', 'xyz', etc. These letters always refer to the laboratory frame.

To simulate a series of crystal spectra that result from successive small-angle rotations around the same rotation axis, define the rotation axis, provide an array of rotation angles in Exp.SampleRotation. Also, ask pepper to return the spectra of the individual orientations separately using Opt.separate:

Exp.SampleFrame = [0 40 0]*pi/180;    % initial crystal orientation in lab frame
rho = deg2rad(0:10:180);              % 10 degree increments
Exp.SampleRotation = {'x',rho};

Opt.separate = 'orientations';
pepper(Sys,Exp,Opt);

To calculate a crystal "roadmap", i.e. a plot of resonance fields as a function of crystal orientations, again use Exp.SampleRotation in conjuction with Exp.SampleFrame:

Exp.SampleFrame = [0 40 0]*pi/180;   % initial crystal orientation
rho = linspace(0,pi,91);             % list of rotation angles
Exp.SampleRotation = {'x',rho};      % rotation axis and angles

Bres = resfields(Sys,Exp);

plot(Bres,rad2deg(rho));
xlabel('magnetic field (mT)');
ylabel('\rho (deg)');
Site-selective simulations

In a crystal simulation, EasySpin first determines the number of magnetically distinct sites in the crystal unit cell from the symmetry given in Exp.CrystalSymmetry. Then, it simulates the EPR spectra of all sites and sums them up to obtain the total EPR spectrum.

Occasionally, it is useful to look at the EPR spectra from the individual sites separately. There are two ways to achieve this. One is to ask pepper to return individual spectra for all sites.

Opt.separate = 'sites';   % return individual site spectra
pepper(Sys,Exp,Opt);

Alternatively, ask EasySpin to simulate only a specific subset of sites (e.g. just one) by specifying the site index, or list of site indices, in Opt.Sites. The number of sites depends on the space group given in Exp.CrystalSymmetry. For example, the following limits a crystal simulation to site 3 of the 4 magnetically distinct sites in a crystal with space group symmetry Pmmm (number 47).

Exp.CrystalSymmetry = 47;  % space group Pmmm
Opt.Sites = 3;             % simulate only site 3
pepper(Sys,Exp,Opt);

If Opt.Sites is empty or not given, all sites are included.