EasySpin can simulate powder spectra as well as single-crystal spectra. For powder spectra, it is only necessary to specify the spin system, incl. the orientations of all the tensors within the molecule or paramagnetic center, and basic experimental parameters such as microwave frequency and magnetic field sweep range. For crystal spectra, EasySpin needs some additional information: (a) the symmetry of the crystal, (b) the orientation of the molecule or paramagnetic center within the crystal, (c) the orientation of the crystal relative to the spectrometer.
In the following, we show how to simulate a crystal spectrum, and how to simulate a series of spectra obtained by rotating a crystal in the spectrometer.
To understand the following, make sure you have read the documentation on the various frames that are used by EasySpin: the lab frame, the crystal frame, the molecular frame, and the tensor frames. This understanding is very important.
Everything below is applicable to all solid-state simulation functions: pepper (for cw EPR), salt (for ENDOR), saffron (pulse EPR). It also is applicable to functions that compute resonance frequencies and fields, such as resfields etc.
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; Exp.mwFreq = 9.5; Exp.Range = [300 350]; pepper(Sys,Exp);
In order to simulate a crystal spectrum, you need to include three additional pieces of information: (1) the symmetry of the crystal, (2) the orientation of the molecule or paramagnetic center within the crystal, (3) the orientation of the crystal in the spectrometer.
Exp.CrystalSymmetryto give the crystal symmetry. It can be the symbol for the space group (such as
'P212121'), the number of the space group (between 1 to 230), or the symbol of the point sub-group of the space group (such
'C2h'). If you omit
Exp.CrystalSymmetry, it is assumed to be the simplest space group
'P1', with one center per unit cell.
Exp.MolFrameto specify the orientation of the molecule (paramagnetic center) within the crystal. If there are multiple symmetry-related sites, pick one of them.
Exp.MolFramegives the Euler angles for the transformation from the crystal frame to the molecular frame. Check out the documentation on frames for details on this. If you omit
Exp.MolFrame, then it is assumed to be
[0 0 0]. This means that the molecular frame is assumed to be collinear with the crystal frame.
Exp.CrystalOrientationto give the orientation of the crystal in the spectrometer. This field gives the three Euler angles for the transformation from the crystal frame to the laboratory frame. See the page on frames for details.
Exp.CrystalSymmetry = 'P21/c'; % space group #14 Exp.MolFrame = [0 0 0]; % molecular frame aligned with crystal frame Exp.CrystalOrientation = [0 pi/4 0]; % crystal frame tilted against lab frame pepper(Sys,Exp);
In space group P21/c, there are four sites per unit cell. Two each are magnetically equivalent, so one expects a maximum of two lines in the spectrum. With the settings as above, you will always see only a single line in the spectrum, no matter how you align the crystal in the lab. The reason is that the g tensor frame is collinear with the crystal frame, so all four sites have the same EPR spectrum.
In order to see two lines, you need to have a tilt between the g tensor frame and the crystal frame. This can be set either in
Exp.MolFrame or in
Sys.gFrame. The first will tilt the molecular frame of the spin center, and thereby tilt all tensors of the molecule, relative to the crystal. The second will only tilt the g tensor frame (and not other tensors of the spin center) relative to the molecular frame.
(Refer to the reference page on frames for details.)
Exp.MolFrame = [20 40 10]*pi/180; pepper(Sys,Exp);
In order to simulate a series of spectra that result from the rotation of a crystal in the spectrometer, you can make use of the function rotatecrystal, which implements the crystal rotation.
Let's start with a spin system and an initial crystal orientation
clear Sys.g = [2.0 2.1 2.2]; Sys.lw = 1; Exp.mwFreq = 9.5; Exp.Range = [300 350]; Exp.CrystalSymmetry = 130; Exp.MolFrame = [10 60 -34]*pi/180; % molecular frame tilted within crystal cori0 = [0 40 0]*pi/180; % initial crystal orientation in lab frame Exp.CrystalOrientation = cori0; pepper(Sys,Exp);
This will give the spectrum for the initial crystal orientation. Now use rotatecrystal to calculate new Euler angles of the rotated crystal. You need to supply the rotation axis (in lab coordinates) and the rotation angle. Then, use the results in
nRot_L = [1;0;0]; % rotation axis = x axis of lab frame rho = 10*pi/180; % rotation angle cori = rotatecrystal(cori0,nRot_L,rho); % rotate crystal by rho around nRot Exp.CrystalOrientation = cori; pepper(Sys,Exp);
This will give the spectrum of the crystal rotated by
rho around the rotation axis
nL starting from its initial orientation given in
You can simulate a series of crystal spectra that result from successive small-step rotations around the same rotation axis in one go. Just start with an array of
rho angles and generate a series of Euler angle sets using rotatecrystal.
cori0 = [0 40 0]; % initial crystal orientation nL = [1;0;0]; % rotation axis along lab x axis rho = (0:15:180)*pi/180; % 15 degree increments cori = rotatecrystal(cori0,nL,rho);
corinow contains one row of Euler angles for each crystal orientation. Next, set
Exp.CrystalOrientationand simulate all spectra in one go. Make sure to ask EasySpin to return them separately, via
Opt.Output. You can plot them using stackplot.
Exp.CrystalOrientation = cori; % setting a series of crystal orientations Opt.Output = 'separate'; % request each crystal spectrum separately [x,y] = pepper(Sys,Exp,Opt); stackplot(x,y);
Remember, the key in using this functionality successfully is a clear understanding of the frames used by EasySpin, and how to specify their relative orientations using Euler angles.
In a crystal simulation, EasySpin will first determine the number of magnetically equivalent sites in the crystal from the symmetry given in
Exp.CrystalSymmetry. Then, it will simulate the EPR spectra of all sites and sum them up to obtain the overall crystal spectrum.
Occasionally, it is useful to look at the EPR spectra of the single sites separately. You can tell EasySpin to simulate only a specific subset of sites (e.g. just one) by specifying the site index in
Opt.Sites. This field should contain a list of site indices. The number of sites depends on the space group given in
Exp.CrystalSymmetry. E.g. the following set limits a crystal simulation to site 3 of the 4 magnetically distinct sites in crystal of space group no. 47.
Exp.CrystalSymmetry = 47; % space group Pmmm Opt.Sites = [1 3]; % simulate only site 3If
Opt.Sitesis empty or not given, all sites are included. In powder simulations,