Simula_1v4 User Information

EPR Group & Zbigniew Zimpel, University of Saskatchewan,  Saskatoon, SK Canada

Email: john.weil@usask.ca

A computer program (Simula) designed for simulation of simple EPR spectra using the Tsallis line-shape function, as set out in the paper: "Generalization of the lineshape useful in magnetic resonance spectroscopy" D.F. Howarth, J.A. Weil, and Z. Zimpel. J. Magn. Reson. 161, 215-221 (2003), has been written, and is available here. The Tsallisian function reduces to the Gaussian function for the value 1 of specified parameter q, and to the Lorentzian function for q = 2.  This program deals with isotropic spin-hamiltonian parameters, and incorporates hyperfine interactions for an arbitrary number of nuclei, each with nuclear spin I = 0, 1/2, 1, 3/2, … .  Zeeman splitting parameters g, and gn for each nucleus, are fixed in input. The latter are brought in automatically via feature AUTONUC.

The program "Simula_1v4" enables the user to simulate and optimize parameters of EPR spectra. The primary algorithm for the line position set is the 1st-order perturbation expression [See: Weil, Bolton & Wertz, "Electron Paramagnetic Resonance", Wiley & Sons, NY 1994, p. 63, eq. 3.1]. Second-order hyperfine effects (p. 73) are included.  This program is written in C++, as a 32bit console application.

First, the program reads an input file (for example, named param.txt) that is identical in form to an input file appropriate for our FORTRAN program EPR-NMR (ref. 1). This file must contain the electron spin number (S = 1/2), the isotropic g value, the total number of nuclei (for selected nuclei) plus their nuclear spin numbers and isotropic hyperfine splitting parameters A, and finally the line width. This line width ΔBpp (see NOTE below), which is the first-derivative peak-peak distance of a single EPR line, is assumed to be identical for every hyperfine component of the spectrum. There are no explicit formulae for transition probabilities, i.e., all transitions are of type ΔMI = 0, and are taken to have the same intensities.

Next the program reads the experimental spectrum (for example, named data.txt). At present, only the Bruker program WIN-EPR text format (ref. 2) of the spectrum can be read in.

The spectral parameters contained in the input file are used to determine the allowed range (by default, the input parameter ± 10%) of variation of each hyperfine splitting parameter (A) and of the line width ΔBpp. The spectra for parameters in these ranges are computed and automatically compared with the experimental spectrum. The number of magnetic-field points is specified by input parameter GRAIN. The set of parameters yielding the minimum mean-square-error (MSE) in the line-intensity comparison is identified. The optimized parameters are written into an continuously updated (EPR-NMR type) input file (named param_opt.txt). The line intensities are adjusted using the least-square method. The program also calculates the magnetic-field correction, using the (fixed) g value specified, using first-order theory, so as to optimize the overlap between the measured and computed spectra. The normalized parameter RMSE (i.e., the square root of MSE over the sum of squares of intensity values) too is calculated and displayed on the screen. The precision of the optimized parameters is 1%. The program also computes the spectrum arising from the optimized parameters and writes it into an output file (named data_opt.txt).

Furthermore, the program permits the user to change variation steps (say, in the range 0.1 - 0.01) as well as the default ranges for the parameter variation.

NOTE: At present, the line-width value required for the input file and recorded in the output file is 1/2 ΔBpp.

References:

1) M.J. Mombourquette and J.A. Weil. Computer Program EPR-NMR, Department of Chemistry, University of Saskatchewan, 110 Science Place, Saskatoon, SK, S7N 5C9, Canada (2003). 

2) Bruker Biospin Corp., EPR Division, 19 Fortune Dr., Manning Park, Billerica, MA 01821, U.S.A.

 

View one example of the excellent  fitting achievable (for best representation of this plot use MS WORD 6 or 7 to view)

25 February 2004


The following is a normal-run console screen display that appears upon the startup of Simula 1v4,  and as the requested information is entered.

To assist the reader, all user inputted text has been highlighted with bold text.  In addition, appropriate units are provided  in parentheses but will not be present on the displayed screen.  Additional comments have been included in the body of the text to describe certain procedures that have been found helpful in obtaining a successful fit in a 'reasonable' length of time.  Such comments are not displayed on the console screen.

The nuclear quadrupole moments displayed do not enter the calculations done by SIMULA (i.e., are irrelevant to isotropic problems) but are present for self-consistency with EPR-NMR formatting.

---------------------------------------------------------------------------------------------------------------

Type the parameter input file name: param.txt

Parameters:

freq=9.40273 (GHz)

width=2.95 (G)

nn=2

stepB=1 (G)

lowB=3300 (G)

highB=3400 (G)

electron_spin=0.5

nucleus #1 nuclear_spin=1

nucleus #2 nuclear_spin=1

g_factor=2.00354

nucleus #1 quadrupole_moment=0

nucleus #2 quadrupole_moment=0

nucleus #1 hyperfine_splitting=8.0 (G)

nucleus #2 hyperfine_splitting=9.55 (G)

Finished reading the parameters

The following input data file formats are available:

WIN-EPR text file format (DEFAULT)

Type the input data file name: dpph.txt

Select the precision:

Enter 1 for low precision (all steps are set to 0.1)

Enter 2 for high precision (all steps are set to 0.01)

Enter your selection: 2

[Comment: To reduce calculation time, it is often expedient to use a low precision at the outset ; higher precision can be run as a final fitting]

Select the lineshape:

Enter q=1 for Gaussian

Enter q=2 for Lorentzian

Enter 3>q>1 for Tsallisian

Enter your selection: 1.31

[Comment: in this case, the final 'best' value of q was previously determined by iteratively fitting q  in 0.01 increments]

Spectrum range:

low field = 3299.99 (G)

high field = 3399.99 (G)

number of points = 1024

Field correction range: low=0.00 high=1.00 step=0.01

Width range [G]: low=2.65 high=3.24 step=0.01

A[0] range [G]: low=7.2 high=8.8 step=0.01

A[1] range [G]: low=8.59 high=10.5 step=0.01

Spectrum components:

component #0 : M[0]=-1 M[1]=-1 X=-17.55 (G)

component #1 : M[0]=0 M[1]=-1 X=-9.55 (G)

component #2 : M[0]=1 M[1]=-1 X=-1.55 (G)

component #3 : M[0]=-1 M[1]=0 X=-8.0 (G)

component #4 : M[0]=0 M[1]=0 X=0

component #5 : M[0]=1 M[1]=0 X=8.0 (G)

component #6 : M[0]=-1 M[1]=1 X=1.55 (G)

component #7 : M[0]=0 M[1]=1 X=9.55 (G)

component #8 : M[0]=1 M[1]=1 X=17.55 (G)

Do you want to overwrite the default spectrum range (1/0)? - 0

Do you want to overwrite the default field-correction search range (1/0)? - 0

[Comment: It is often expedient to determine an approximate value for Bcorr before the other fitted parameters are attempted.  Once determined, the range set for Bcorr can be considerably narrowed in subsequent fitting runs, thus significantly reducing CPU time]

Do you want to overwrite the width search range (1/0)? - 0

Do you want to overwrite the hyperfine splitting A[0] range (1/0)? - 0

Do you want to overwrite the hyperfine splitting A[1] range (1/0)? - 0

Do you want to include second order hyperfine splitting terms? (1/0) - 0

Searching max number of steps 101 ...

1 2 3 ...

running time = XXX s

[Comment: The total time is dependent on the microprocessor's capability.  With experience, the operator can enter constricted ranges for each fitted parameter to allow faster convergence to the minimum RMSE.  In this example, with each parameter range at the default values, the total CPU time was was approximately 4 days, but with judicious ranges entered, the time was reduced to several minutes.]

Best fit parameters:

A[0]=8.07 (G)

A[1]=9.61 (G)

Width=3.02 (G)

B correction = 0.12 B (G)

Normalized RMSE = 0.0294462

Press any key to continue . . .


The  input file <<param.txt>> for the above run was

AUTONUC DERIV=1
ECHO EPRFD FREQ=(9.402731 GHZ) FLDUNITS=G GRAIN=4
INTENS LINEWIDTH=(2.95 G) NFIELD=1 NN=2 
PRTPROPAR PLOT PLTFMT=TAB SCALARSHP
SCALE= (1 3300.0 3400.0 0.0 0.0 G) SHUNITS=G
TRANS=1

DPPH IN BENZENE ~ 0.001 M;

0.5
N14 N14

2.00354 
0.0
0.0
8.00
9.55

90.0 0.0 

The output file <<param_opt.txt>> for this run is:
AUTONUC DERIV=1
ECHO EPRFD FREQ=(9.402731 GHZ) FLDUNITS=G GRAIN=4
INTENS LINEWIDTH=(3.02 G) NFIELD=1 NN=2 PRTPROPAR 
PLOT PLTFMT=TAB SCALARSHP
SCALE= (1 3300.0 3400.0 0.0 0.0 G) SHUNITS=G
TRANS=1

DPPH IN BENZENE ~ 0.001 M; RMSE=0.0294462 BCORR=0.12

0.5
N14 N14

2.00354 
0.0
0.0
8.07
9.61

90.0 0.0