iNMR icon

About Spin Systems

iNMR simulates a 1-D spectrum with documents of a special kind that, when are saved into a file, take the extension .spins. The commands to create and change these documents are “New Spectrum” and “Define Systems”, respectively, under the menu Simulate. This page explains the options offered by the dialog that appears in both cases.

quick creation

If you already have a formatted list of peaks like this:
5.250 (1H, dd, J=7.993, J=2.057), 5.356 (1H, dd, J=14.856, J=2.057), 6.739 (1H, dd, J=14.856, J=7.993)
you can conveniently bypass the definition of the systems. Just copy the list (for example: the text above), go to iNMR and press ⌘-N (on the Mac) or Ctrl-N (on Windows). This quick method does not work if two Js are identical. In this case, use the general method.

If you only know, or guess, the formula, you can generate the required list by using the free NMR Predictor.

you can create one or many systems

A single document can host many separate systems. Separate means that there is no coupling between nuclei of a system and nuclei of another system. Two systems can correspond either to different molecules or to moieties of the same molecule. This sort of factorization not only requires less memory and less computing time, it also simplifies the management of parameters. To create (delete) a system, click the square button with the plus (minus) sign. You move from system to system with the menu “system no.” The number of systems can go from 1 to 30. Each one has its own table of parameters and can have its own value of population (the equivalent of concentration, in arbitrary units). The absolute value of a population has no significance. Only the populations ratio matters.

the table of parameters

Within each system, nuclei are labeled with capital letters: A, B, C... each on a different row. You can create more rows using the button “add row”. Another button removes the last row. In case of magnetic equivalence there can be two or more nuclei with the same label (e.g.: ABC3). You enter the number 3 at the intersection between the second column (labeled n) with the third row (labeled C). Be sure to understand the definition of magnetic equivalence! In the case of chemical equivalence (e.g.: AA'BB'), you cannot use the apostrophe and the system is redefined so that each nucleus has its own letter (the same example becomes: ABCD). In the case of chemical exchange, each system corresponds to an exchanging site. Nuclei with the same label (capital letter) can exchange. For example: you define three systems. If the first one is an ABC3 system, all other systems must also be ABC3. Nucleus B in the first system can exchange with Bs of other systems, but not with As or Cs.

chemical shifts and chemical equivalence

You can optionally enter the chemical shift value, in ppm units, into the third column. Alternatively you can leave a zero and set the correct value later on, into the parameters list that appears at the side of the simulated spectrum. There are cases when you know that two nuclei have the same chemical shift. You have to tell it to iNMR, otherwise two unrelated parameters will be created. It's in your interest, indeed, not to define more parameters than those that actually exist in reality (the degrees of freedom of the system). You specify an equality using literal symbols instead of numbers. Let's take the example of an AA'BB' system, that you define as ABCD. You specify numerical values for two nuclei (let's say A=3 ppm and C=2 ppm). For B, instead of inserting a numerical value, you simply write “A” (without quotes). The chemical shift of D will be instead specified as “C”. From this moment on, iNMR will take care of the chemical equivalence. If you change the chemical shift of A, nucleus B will also move, and if you change the shift of C, nucleus D will move as well.


In the above paragraph we have seen an example of parameters entered in literal form. The principle is general and extends to coupling constants and to the parameters defined in previous systems. In the latter case, precede the parameter with the system number, for example: “1B”, “3A”, etc... Remember that you can reference only parameters defined into a previous system or a previous row. You can also put a reference to a coupling constants defined into the same row, if it has been defined into a previous column. The reference to a coupling constant takes the form “JAB” or “1JAB”. The dipolar coupling takes the form “DAB”. The first letter (J or D) tells the kind of parameter, the second letter the row, the third letter the column. The line width takes the forms “WA” or “W A” (with or without a space).

scalar and dipolar coupling constants

For any two nuclei there are two points of intersection into the table. For example: the row A intersects the column B and the row B intersects the column A. This area of the table contains the coupling constants. For generic systems, only the upper triangle receives entries. It means that you can specify JAB, but not JBA (the name of the row precedes the name of the column). In this context “generic” means a spectrum in the liquid phase. iNMR lets you also simulate spectra in liquid crystals, where residual dipolar couplings are visible too. To activate this possibility, select “anisotropic” in the radio group at the top-left and enter the dipolar coupling constants in the lower triangle. It turns out that you can define DBA but not DAB. Obviously, only one J and one D can exist for any given couple of nuclei.
While chemical shifts parameters are always created by the program, if you set a coupling constant equal to zero it is not created. If, instead, you specify any non-zero value, you can modify it afterwards, when the dialog is closed, inside the sidebar.

symmetric systems with an even number of nuclei

Many symmetric systems can be divided into two halves, with no nucleus aligned along the symmetry element. You can easily recognize couples of nuclei with identical chemical shifts and identical coupling constants. Using the information here above (see the paragraph “symmetry”), it would be a good idea to describe one half of the molecule with numerical parameters and the other half with literal references. Actually you also have a better solution. You select “symmetric” at the top-left. Now don't insert all the nuclei, but only those comprised into one half. The number of nuclei corresponding to each letter is assumed to be 2 and therefore is omitted from the table. Insert the chemical shifts and couplings as in the generic case. Question: where will you put the Js between a nucleus into one half and another nucleus of the other half? Answer: along the diagonal or under it. Follow the example below and everything will become clear.

example: ortho-dichlorobenzene

efficient solution

The solution at left is aware of symmetry but not optimal. It explicitly declares only the minimal set of chemical shifts and couplings, but requires 4 rows and 6 columns. A, B, C and D corresponds to nuclei H3, H4, H5 and H6, respectively, of ortho-dichlorobenzene. Note that the system is declared to be “generic”.

a better solution

The second alternative, shown at right, requires only 2 rows and 4 columns. It exploits all the advantages of symmetry (the system is declared to be “symmetric”). The diagonal contains the couplings between nuclei with the same chemical shift. At the bottom-left, the coupling JBA has been measured between nucleus A into one half of the molecule and nucleus B into the opposite half (meta to each other). The value at the top-right has been measured inside the same half (nuclei ortho to each other).
Note how the column “n” has been removed from the table.

X approximation

When the difference in chemical shift between two nuclei is infinitely higher than their mutual coupling, you are allowed to neglect non-diagonal terms in the Hamiltonian. Peak intensities are in accordance with the binomial coefficients. You declare the existence of one or more X nuclei and don't specify the chemical shift (it's infinite!). A typical case is the coupling between hydrogen and another nucleus like fluorine, phosphorus or carbon. You can choose nuclei with any spin number, but no more than a single set of them, all magnetically equivalent.
When the number of X nuclei is not zero, a new column appears in the table, whose header is “X”. Insert therein the couplings with the nucleus X.

There are cases in which a single X nucleus is not enough. For example, you are simulating a nucleus with two different hetero-nuclear couplings. You'll declare some hetero nuclei with the normal letters (B, C...). To tell iNMR not to show a given nucleus, set its chemical shift to a huge negative value (< -800 ppm).

line widths

In the simpler case, all the lines in your simulated spectrum have the same width, governed by the parameter “defW”. To renounce to this option, you have to open the usual dialog and uncheck it (you can read at the bottom of the dialog: “same width for all lines”). A new column appears in the table, where you can specify the individual widths, in Hz. If you don't specify them, the parameters are still created, all taking the default value “defW”.

swapping labels

The button “Do” (swap) can be used to swap the position of any two rows of the table. The first column (#) is not affected, therefore the two nuclei not only swap their rows, they also swap their labels.

Related Topics

Defining a Spin System

Parameters and Controls to Manipulate a Simulated Spectrum

Moving the Parameters into the J Manager


Web Tutorials

How to Fit an Abstract Spin System

Dipolar Couplings