Skip to main content
Chemistry LibreTexts

Internal coordinate definitions

  • Page ID
  • The relation of internal coordinates to atomic displacements

    Instead of using three Cartesian coordinates to describe the displacement of an atom, it is convenient to introduce a vector ra for each atom a whose components along the three axis directions are Cartesian displacement coordinates xi, xi', xi'' for that atom. The displacement vector ra gives the displacement from the equilibrium position along the internal coordinate of interest. For bond stretching ra for each atom is along the bond in the connecting the equilibrium position to the stretched position. Likewise, for valence angle bending the vectors point from the nuclei in their equilibrium positions to their bent positions.

    The coefficients Bti for a given St are also grouped into a set of three, Bti, Bti', Bti'', each set being associated with a particular atom a. The vectors sta are those that will result in the largest change in the coordinate of interest, bond stretching, angle bending, torsion etc. from the equilibrium position. We then take the dot product of that coordinate with a unit displacement along the vector sta for each atom.

    The internal coordinate St can be calculated independent of the Cartesian coordinate system by this method using the definition

    Bond stretching

    Let St be the increase in the distance between atoms 1 and 2. The atoms are displaced along the line connecting them, but in directions away from one another. The Bti, Bti', Bti'' are components of a vector sta located on atom a and point away from a second atom along the bond to that atom. When St is the extension of the bond between atoms 1 and 2 the unit vectors point in opposite directions along the bond

    The elements Bti are components of the unit vectors along the bond direction in Cartesian coordinate space. Thus, for bond stretching the vectors ra and sta and colinear.

    The code for computation of a bond stretching internal coordinate was written by Schachtschneider and is contained in the subroutine BOST in the programs UMAT and BMAT.

    Valence angle bending

    The increase in the angle between two valence bonds with a central atom 2 is shown in the figure below.

    The end vectors st1 and st3 will be perpendicular to the bond directions. The length of st1 is 1/r21, where r21 is the length of the bond between atoms 2 and 1. This relationship results because a unit displacement in st1 will increase q by an amount 1/r21.

    This is not explained explicitly in "Molecular Vibrations", but you can see that it is true if you draw a diagram in which the angle increases by an amount dq as shown below

    Since tan(dq) = st1/r12 and tan(dq) � dq for small q, we can see that for a small change in angle dq and a unit displacement st1 = 1 the change is proportional 1/r12.

    To derive the mathematical expression for the displacement vectors sta (where a is the atom number) we can use the definition of the scalar product of the vectors directed outwards from the unit vector e21 and e23. The scalar product is

    A small change in the angle q can be obtained from differentiation of this scalar product.

    The definition of the unit vectors is e2a = r2a /r2a where r2a is the vector from 2 to atom a and r2a is the distance (here a = 1,3).

    The differential of e2a is

    in which r2a and r2a are represent equilibrium values.

    The change in the bond vectors during the angle bending displacement is

    r'2a = r2a + ra - r2 or dr2a = ra - r2.

    To obtain dr2a (the change in distance along the bond between 2 and a) we can compute the scalar product of the r2a vector with itself.

    (r'2a)�(r'2a) = (r2a)�(r2a) + 2(r2a)�(ra - r2) + (ra-r2)�(ra-r2).

    We neglect the second order term in ra. The scalar product of a vector with itself is just the square of the vector so we have

    (r'2a)2 = (r2a)2 + 2(r2a)�(ra - r2)

    which shows that the small variation in the square of the bond length is 2(r2a)�(ra - r2). Thus,

    We now have expression for dr2a and dr2a that we can substitute in above to obtain

    solving for dq we obtain

    The expression can the be expressed in terms of the scalar coefficients for the vectors ra. This leads to

    To find the s vector for the apex atom, use is made of the fact that a rigid displacement of the whole molecule does not alter the angles. Therefore, the displacement of the central or apex atom 2 is the sum of the s vectors for the end atoms, but with opposite sign

    st2 = -st1 - st3

    In addition to the treatment given that follows exactly that presented in "Molecular Vibrations" by Wilson, Decius and Cross, there is an excellent presentation in Califano's book "Vibrational States".

    Application of bond stretching and valence angle bending are shown explicitly in the example of a non-linear triatomic molecule.

    The code for computation of a valence angle bending internal coordinate was written by Schachtschneider and is contained in the subroutine BEND in the programs UMAT and BMAT.

    The order of the input for calculation of the B-matrix is always

    1. end atom
    2. apex atom
    3. end atom

    Out-of-plane wag

    An out-of-plane wag is defined as a displacement of an atom out of the plane defined by three other atoms. In the diagram below we could imagine that the displacement vectors r2, r3, and r4 are all zero and that only atom 1 is displaced out of the plane. The nomenclature is that atom 1 is the wagged atom (also called the end atom), 2 is the apex atom and atoms 3 and 4 are the anchor atoms.

    The order of the input for calculation of the B-matrix is always

    1. wagged atom
    2. apex atom
    3. anchor atom
    4. anchor atom

    Note that the order of the anchor atoms does not matter.


    A torsion is an internal coordinate defined by the dihedral angle between two planes formed by atoms 1, 2, 3, and 2, 3, 4 as shown below. Note that this definition is not general since we have not considered other atoms that may be to the atoms 2 and 3. The general case includes n atoms bonded to atom 2 and m atoms bonded to atom 3. This modification of the definition of torsion was made by Hilderbandt (J. Mol. Spec. 1972, 44, pp.599-601). For this reason when you define a torsion in bmat_setup you must declare the number of atoms bonded to each of the axis atoms (2 and 3 in this example). Then the program will prompt you for the atom numbers of each set of the atoms, those bonded to atom 2 and those bonded to atom 3.

    The order of the input for calculation of the B-matrix is always

    1. number of atoms bonded to atom 2
    2. axis atom
    3. axis atom
    4. number of atoms bonded to atom 3

    Then you are prompted for the appropriate atom labels (also numbers) in separate input statements that follow the four initial atom inputs above.