9.0 - POWFIT - powder spectrum simulations

This program is QCPE program number 265 ported to the DOS/Windows PC. This program will calculate a spectrum with up to seven radical species each with up to 2 nuclei. It requires a parameter file for input and outputs an ascii data file. Details on the EPR calculation can be found in the QCPE program booklet. A Downhill Simplex algorithm has been added to optimize the simulation parameters to optimal values.

It is distributed in two primary versions:

  • DOS : compiled with the SVS FORTRAN compiler which creates 32bit DOS programs. You must use a 386 or 486 computer and it must have at least 1MB of extended (XMS) memory available. The MS-Windows environment provides XMS memory to DOS sessions running under Windows. Development of this version has ceased.
  • Windows NT / 95 : compiled with the Watcom FORTRAN compiler which creates Win32 format programs. Current platform for development.

Related information:

Parameter Input

The inputs have been changed for our use. A sample input file is:

POWFIT PROGRAM INPUT FILE Title line, not used
---------------------------------------------------- file names ( dummy separator )
'f1' 'pow128.exp' experimental input file
'f2' 'pow128.dat' simulation output file
'f3' 'pow128.epr' printout file
'ex' 1 load exp file: 1= on, 0= off
--------------------------------------------------- Simplex parameters...
'op' 1; optimize flag: 1= on, 0= off #
'it' 500 max number iterations #
'rs' 2 number of restarts #
'tl' 0.05 fractional tolerance
---------------------------------------------------- Spectrometer parameters ...
'mw' 9.355, 3350.0, 120.00 Freq.(GHz), Field (G), Sweep (G)
'dp' 128 Number of data points
'ha' 1 Harmonic: 1= 1st, 2= 2nd
'ns' 1 Number of radical species
---------------------------------------------------- EPR species parameters ...
'the' 2 Theta integration parameter, 1-5
'phi' 16 Number of phi points, 20 or less
'ls' 1 Lineshape: 1= Lor., 0= Gauss.
'nn' 2 Number of nuclei
'ri' 66.0, 0 Relative intensity of this species *
'lw' 2.334, 0, 4.56, 0 Linewidth P-P, Linewidth Perp. *
'gg' 2.001, 0, 2.004, 0, 2.0025, 0 Gxx, Gyy, Gzz *
'a1' 1.0, 12.5, 1, 22.9, 1, 15.7, 1, 0.0, 0 Spin, Axx, Ayy, Azz, Aqq *
'a2' 0.5, 6.7, 1, 10.1, 1, 8.6, 1, 0.0, 0 (repeated for each nuclei) *
---------------------------------------------------- parameters for next species ...
etc... etc...

The first four characters of each line in the must begin and end with apostrophes; they are used as notation for each line. The order presented must be followed. The theta integration parameter translates as follows:

Theta = NO MO
0 = 1 10
1 = 11 28
2 = 29 58
3 = 59 92
4 = 93 164

* All parameters (except nuclear spin) marked with an asterisk can be optimized. If a parameter is to be optimized it should be followed by 1; to be held constant, a parameter should be followed by 0.

# These values only affect the optimization process.

Spectrum Input

Experimental spectrum file data may be formatted as either HP interchange format ASCII or two column ASCII numbers, both of which can be created using the epr.exe program. Be sure that the number of data points and scan width match the simulation parameters. The two column format is more convenient in most cases.

Running the program

  • Start an editor to edit the parameter file, for instance Notepad. Edit and save the text parameter file.
  • Access the command line, for instance via the MS-DOS icon.
  • Use the cd command to change directory to your data directory, for instance cd \group\dave.
  • Start the program, for instance: powfit pow128.pow

    The program will run until finished. Input data will be printed on screen and results will be printed as they become available. If you do not supply a parameter filename, you will be prompted for one. All this data will also appear in the printout file when finished. However, if you want to save the on screen information, redirect the output to a file with this command.

    • powfit pow128.pow > pow128.log
  • View the results file, in our example pow128.epr, with Notepad.
  • View the spectra results with any worksheet/graphics program. We tend to use Origin.

Optimizations

Parameters are optimized by the Downhill Simplex method as described in the book Numerical Recipes, chapter 10. The sample input file contains realistic values for the optimization parameters. An experimental file must be loaded. Try a few simulations to test your parameters before starting an optimization. An optimization of all possible parameters is very complex and frequently leads to false minima; therefore, you should choose a subset of parameters such as the A tensor(s) to optimize at one time. The screen will update with every tenth calculation. At completion, the initial and final spectral parameters will be output to the printout file. Use a text editor such as Notepad or Reporter to examine and print the printout file.

Spectrum output

When finished, the program print a "Finished!" message on a screen and return to the command line. An output file will be written with the epr spectrum as an ASCII data file. Use a general plot program such as Origin to view the output and compare with the experimental spectrum. The first column contains magnetic field values. If you chose to load the experimental file, the second column contains the experimental spectrum, and the third has the simulation. If you did not load the experiment file, the second column is the simulation, there is no third column, and the file may be loaded into the epr.exe program.

References

QCPE program number 265. G.P. Lazos, B.M. Hoffman, & C.G. Franz. Quantum Chemistry Program Exchange, Chemistry Dept., Room 204, Indiana University, Bloomington, Indiana 47401.

Numerical Recipes. W.H. Press, B.P. Flannery, S.A. Teukolsky, & W. T. Vetterling. Cambridge University Press. pp. 271-334 (1986).

Example printout file:

EPR POWDER SPECTRUM SIMULATION PROGRAM
LMB, NIEHS, NIH, US Gov. (1992)
Parameter file .....:  POW512.PAR
Experiment file ....:   pow512.exp
    
Printout file ......:   pow512.epr
Simulation file ....:   pow512.dat
        
Load exp. data ?....:     Y
Optimize values ?...:     Y
        
Spectral data : 
        
Frequency           =     9.3550 GHz
Field center        =  3350.0000 G
Sweep width         =   120.0000 G
Data points         =   512
Spectrum harmonic   =     1
Radical species     =     1
        
Species number :  1
  Theta parameters (NO, MO)    =    11 ,  28
  Number of phi points         =     9
  Lineshape (1=Lor., 0=Gauss.) =     1
  Number of nuclei             =     1
  Relative intensity           =    10.0000 (0)
  Linewidth Peak to Peak       =     2.3340 (0)
  Linewidth Perpendicular      =     4.5600 (0)
  G(xyz)= 2.00150 (1) 2.00320 (1) 2.00300 (1)
  A(1.0)=   16.00 (1)   16.90 (1)   12.70 (1)
    .00 (0)

Simplex parameter fitting algorithm : 

Number of parameters to fit  =     6
Max. number of iterations    =    39
Number of re-starts          =     4
Fractional tolerance         =   .0500000

  Calculation              Error  
  -----------        ------------------
        1             7201.8290000000
      101              169.2659000000
      156              144.6751000000
      216              143.6869000000
      286              142.5958000000
      512              141.8110000000


Species number :  1
  Theta parameters (NO, MO)    =    11 ,  28
  Number of phi points         =     9
  Lineshape (1=Lor., 0=Gauss.) =     1
  Number of nuclei             =     1
  Relative intensity           =    10.0000 (0)
  Linewidth Peak to Peak       =     2.3340 (0)
  Linewidth Perpendicular      =     4.5600 (0)
  G(xyz)= 2.00130 (1) 2.00402 (1) 2.00239 (1)
  A(1.0)=   12.30 (1)   22.97 (1)   15.79 (1)
    .00 (0)
[end]

Example spectrum output file, plotted with Origin :

Example Spectrum