EPR Simulations with EasySpin

From MC Chem Wiki
Jump to navigation Jump to search

Overview

This page serves as a resource to assist those trying to simulate EPR spectra with the EasySpin MATLAB package.

Importing Data

EasySpin has a function for doing this, called eprload(). The method used to import your data depends on the format in which your experimental data is saved:

  • For Modern Bruker Spectrometer Data:
    [B,spc] = eprload('mydata');
  • For Older Bruker Spectrometer Data:
    [B,spc] = eprload('myolddata.spc');
    [B,spc] = eprload('myolddata.par');

The function changes when you are trying to load a text file of data:

  • For Data Stored in Text Files:
    [B,spc] = textread('mydata.txt','%f %f');
  • Text Files with Header Information:
    [B,spc] = textread('mydata.txt','%f %f','headerlines',17)

Creating a Simulation

The central concept to constructing a simulation with EasySpin is defining a Spin System (Sys) and Experimental Parameters (Exp).

Spin System

There are a variety of components that factor into a Spin System.

Electron and Nuclear Spins

The spins can be defined with Sys.S() according to the following:

    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 this is not specified, the default value is S = 1/2.

The Nuclei can be specified using Sys.Nucs() according to the following:

    Sys.Nucs = '1H';              % one hydrogen
    Sys.Nucs = '63Cu';            % a 63Cu nucleus
    Sys.Nucs = '59Co,14N,14N';    % a 59Co and two 14N nuclei

You can specify an arbitrary number of nuclei for this system. In order to specify the number of each type of nucleus, you must use Sys.n() :

    Sys.Nucs = '1H,13C';  % one class of 1H and one class of 13C
    Sys.n = [2 3];        % 2 protons and 3 carbon-13 spins

G-value

As you're on this page, you are probably aware that there are some considerations to be made about the kind of system (isotropic vs. anisotropic) we are simulating when specifying the g-value. For all purposes here, we will assume that it will always be isotropic. To specify this you must use Sys.g():

Sys.g = 2.005;

This actually is not necessary, since the default is set to 2.0023... for all inputs. Still worth mentioning!

Hyperfine Coupling Constants

These are specified in MHz in EasySpin. No worries, though because EasySpin has a function that allows us to convert MHz into Millitesla: mhz2mt().

Consider the following system, in which you have a hydrogen atom with a 10 MHz coupling to the unpaired electron and a 13C atom with a 12 MHz coupling:

    Sys.Nucs = '1H,13C'; % Defines the Hydrogen nucleus and the Carbon-13 nucleus
    Sys.A = [10 12]; % MHz... Defines the HFCC