ORCA is a quantum chemistry program that can calculate molecular EPR properties such as the g tensor, the zero-field splitting tensor, hyperfine coupling tensors, and electric field gradients for nuclear quadrupole coupling tensors.
Here, we show how you can import these ORCA-calculated tensors from ORCA output files into EasySpin, using the function orca2easyspin.
In order to get EPR parameters from an ORCA calculation, you have to tell ORCA to calculate these parameters. Here is a simple example of an ORCA input file for the hydroxyl radical. Let's name the file hydroxyl.oif
:
! UKS B3LYP 6-31G *xyz 0 2 O 0 0 0 H 0 0 0.98 * %eprnmr gtensor 1 Nuclei = all H {aiso, adip, aorb, fgrad, rho} end
The %eprnmr...end
block specifies which EPR parameters you want ORCA to calculate. gtensor 1
instructs ORCA to calculate the g tensor. The Nuclei
line tells ORCA to calculate for all hydrogens the following properties: Fermi contact hyperfine coupling (aiso
), dipolar hyperfine coupling (adip
), orbital contribution to hyperfine coupling (aorb
), the electric field gradient tensor at the nucleus (fgrad
), and the spin density at the nucleus (rho
).
For details about ORCA calculations, see the ORCA manual.
Next, run the ORCA calculation. On the Windows/Linux/MacOS command/shell prompt, type
orca hydroxyl.oif > hydroxyl.oof
This generate a long output text file hydroxyl.oof
. Additionally, it generates a smaller file hydroxyl_property.txt
that contains all the calculated properties. (Prior to version 5, ORCA generated a binary property file instead hydroxyl.prop
.)
Next, use EasySpin's function orca2easyspin to read the ORCA output and generate a spin system structure for you. Here is how it works:
Sys = orca2easyspin('hydroxyl.oof')
Sys = struct with fields: S: 0.5000 g: [2.0021 2.0071 2.0768] gFrame: [0.7254 0 0] Nucs: 'H' A: [21.9560 -102.4794 -140.8393] AFrame: [0 1.5708 5.4378] Q: [-0.0644 -0.0897 0.1541] QFrame: [0.7254 0 0] data: [1×1 struct] NucsIdx: 1
Sys
is an EasySpin spin system structure. All the fields are in the required units (MHz for tensors, radians for Euler angles). Sys
is almost ready for use in EasySpin. The only additional information you need to supply is some line broadening, e.g. in Sys.lwpp
.
Sys.lwpp = 1; % mT Exp.mwFreq = 9.5; % GHz Exp.Range = [315 350]; % mT pepper(Sys,Exp);
In the imported Sys
structure above, the Sys.Nucs
field contains an element (hydrogen), without specifying a specific isotope (1H or 2H). In this case, EasySpin simulates all the spectra of all isotopologues with significant natural abundance and combines the results. You can adjust the isotopologue cutoff using Opt.IsoCutoff
.
Of course, the hyperfine values are isotope-specific. For example, in the absence of any isotope effects, the hyperfine values of 2H are about 6.5 times smaller than those of 1>H. The same holds for nuclear quadrupole coupling constants: They also depend on the isotope.
EasySpin uses the following convention to decide isotope of a given element the values in Sys.A
and in Sys.Q
refer to:
Sys.A
refers to the most abundant isotope among the isotopes with spin 1/2 or larger.
Sys.Q
refers to the most abundant isotope among the isotopes with spin 1 or larger.
All conversions from these reference isotopes to the others are automatically performed by EasySpin internally.
For almost all elements that have an isotope with spin 1 or larger, the reference isotopes for A and Q happen to be the same. For example, for Cu, both are 63Cu. The only exceptions are H (1H for A and 2H for Q), Xe (129Xe for A and 131Xe for Q), and Hg (199Hg for A and 201Hg for Q). Several elements (He, C, F, Si, P, Fe, Se, etc.) do not have isotopes with spin 1 or larger.