Program EPR-NMR Simulated spectrum of the Aluminum 'uncompensated' center in quartz.

The latest version (6.40) of our program EPR-NMR, in the form of both a diskette bearing the FORTRAN source code and utilities, and also a much updated manual, is now available.

This program was written primarily to achieve generality and flexibility in handling magnetic resonance spectra of single crystals and powders, but spectra of low-viscosity liquids can easily be dealt with. The number of spins included and their values (non-negative half-integers and integers) is arbitrary, as is their assignment as either electronic or nuclear.

The program sets up spin-hamiltonian (SH) matrices, and determines their eigenvalues (energies) using "exact" diagonalization. It is a versatile program, having many operating modes tailored to a variety of applications. These modes can be grouped into four categories, in increasing order of complexity as follows:

  1. Energy-level calculation,
  2. Spectrum simulation,
  3. Comparison with observed data,
  4. Parameter optimization.

For each category, most of the operations of the lower categories remain available, so that a good way to learn how to use the program effectively is to start at the lowest category and work one's way up.

Category 1: the user provides the program with SH parameters, and directions and magnitudes of applied magnetic fields.

Category 2: the user also specifies an experiment, chosen from field-swept or frequency-swept electron paramagnetic resonance (EPR) or nuclear magnetic resonance (NMR), electron nucleus double resonance (ENDOR), or electron spin echo envelope modulation (ESEEM) line positions. Also, the user must identify the transitions of interest. The "spectra" simulated consist of sets of transition frequencies or magnetic field magnitudes, and possibly relative transition probabilities. The program can also convolute these data with a line-shape function (lorentzian or gaussian) to produce a plot.

Category 3: the user also supplies appropriate observed single-crystal data, with transition labels assigned, and the program determines the degree of consistency with data calculated from the given SH parameters. This can include an error analysis on a user-selected subset of SH parameters and/or magnetic-field directions.

Category 4: the user-selected subset of parameters may be optimized, so as to give better agreement between observed and calculated transition frequencies. This uses a non-linear least-squares routine which systematically varies the parameters so as to minimize weighted differences between observed and calculated transition frequencies (or fields). In this category, user-supplied SH parameters need only be estimates or outright guesses.

The new version of the program contains many corrections and improvements, including:

and much more.

We have plans for numerous further improvements, which will be installed as our time and resources permit. Our first aim must remain the continuation of our own research program. We will appreciate receiving word from you regarding your usage of the program, especially, any and all flaws you discover in this version and its manual, as well as suggestions for improvements that could be incorporated in the future. We intend to continue to be helpful if you contact us with questions. We would also be very pleased to receive any financial contributions to recover the considerable cost of producing and sending the program.

The program runs on any computer capable of running 32-bit FORTRAN 77. We currently have it running on several machines (operating systems):

and on several other computers at other facilities.

Input consists of an ASCII file containing commands and data. Output can be in ASCII or in binary (for spectral output). Several types of spectral simulation files can be produced for use with any spread-sheet graphics application which can read in column formatted ASCII data (space or tab separated). It also produces output specifically formatted for the TELL-A-GRAPH package running under VMS and, as well, it produces binary files which WIN-EPR (from BRUKER) can read. The WIN-EPR option currently works properly only under OS/2, DOS, Win 95, OS9 and VMS. Some UNIX machines can also produce the proper WIN-EPR binaries but this is not guaranteed.

We can supply you with a distribution diskette containing the source code and example files as well as some utility files installing it on the machines we can access here. There is also a printed manual (soon to be on-line), complete with theoretical discussions and examples of options available in the program, as well as descriptions of all the sample files on the distribution diskette, including the graphic output as applicable.  By registering on-line, you will receive a username and password that will allow you to download the files you need directly from this site.

To use this program on a PC, you will need at least a 386 with a math co-processor and 8 MB RAM minimum. I suggest at least a 486 DX/33 with 12-16 MB RAM running either OS/2 using Micro-Way's NDP FORTRAN for OS/2 or MS Windows 95 using NDP FORTRAN for DOS. Either of these systems is far faster and more efficient than an equivalent DOS/Windows 3.xx system. I use Windows 98 now on a Pentium 333MMX IBM Laptop with 64 MB RAM on a day-to-day basis as my development platform.

We do not formally sell the program but do make it available (there are currently ca. 110 users). We are a financially stressed group here and our EPR-NMR project has been surviving on the donations of groups who use our program. The average donation for the program is US$400 but any amount you feel affordable (some clients have given as much as US$6500 and others have given as little as US$50) is acceptable. Please consider at least covering our printing and shipping and handling costs.


For some years, I only recommended OS/2 (versions 2.0 through Warp Connect) as it was the only PC-based operating system which could handle this type of stuff with any efficiency. In January (1996), I switched to Windows 95 to achieve compatibility with the rest of The University of Saskatchewan Campus. Both operating systems are very capable and there are features I like and dislike about both. You choose for yourself. Alas, my preference is still OS/2. I lament those days.

I also switched Fortran compilers since the one I used from Micro Way does not work as well as I would like under Win 95,98 or NT.  That was a few years ago.  I'm sure they now have a very capable Windows compiler but I haven't checked recently.