Molecular Collision Theory

Reaction dynamics is a field where approximation methods flourish. However, algebraic methods can be used to construct a Hamiltonian such that one may avoid differential operators and/or wave functions, thus avoid approximations. The familiar ladder operator form of the harmonic oscillator Hamiltonian is an example of this using a Lie algebra. When approaching molecular dynamics with this method the calculations become cleaner. A more common procedure, perturbation theory, results in an infinite amount of differential equations while the algebraic approach sustains analyticity with a finite amount of equations. However, the equations are coupled and nonlinear. To calculate dynamics of many atom systems, approximations are essential. Perhaps the most common approach is the Born-Oppenheimer Approximation. For processes with no electron transfer this method is analogous to the adiabatic theorem in that the nuclei move much slower than the electrons. The energy eigenvalue othe resulting equation is a function of the "parametrized" nuclear coordinates. This is considered the potential energy surface for the nuclei. This surface is available from electronic structure calculations or obtained by some semiempirical or emperical method. With this surface, reactions between different molecular species can be visualized intuitively. An important detail of these reactions is seen when different types of energy are transferred/exchanged during the scattering process...continue

Fundamental intermolecular interactions

Here is a plot of a comparison between the Morse potential shape at large distances versus two other dispersion terms. It turns out that the red is only valid when two atoms are close, while farther out the green one becomes valid. Then even farther out recently it is shown that the blue shape is the true interatomic potential in the assymptotic region.

Computational applications

A discussion of vectors as instances of an algebra class leads to how easy it is for rotors to transform, dilate, rotate or reflect these vectors in their respective spaces with object oriented programming. I consider a new kind of product for two arbitrary multi-vectors. Using this goemetric product cleans up many derivations and representations in physics.  Here is a short look at what I am doing my dissertation on, Collisions.

Lie algebra is used to generate the quantum states of a molecule. A molecular Hamiltonian class is constructed by u(2) algebra class instances. Then a general total molecular state class is built with the Hamiltonian instances. Methods are used in the construction of normal and local modes of a given molecule with direct products of single algebra instances. Other methods are then used to raise and lower the stretching, rotational and bending quantum states of molecular instances. A clear example is then calculated for a tetrahedral molecule from the ground state gaining quanta in different forms. Here is a poster of the idea Object Oriented Approach to the Algebraic Theory of Molecules .

The major unique aspects of object oriented programming all stem from one key idea, inheritance.

In application to molecular collisions

I am using objects to minimize the size of actual code to debug during an explicit calculation. The process can be seen graphically below:

Key Processes:
  • The first inheritance at the bottom can be of a vector of subalgebra instances. The algebra class must then contain a method which combines subalgebra objects into larger algebra via a method of the algebra class called directProduct().
  • The second inheritance in the molecule is making use of a single algebra instance. A method is then written for the molecule class that allows a calculation of the amplitude  of any particular operator within the array of subalgebra instances. This can only be done because an instantiation of a molecule carries with it arbitrary fock space states.
  • The third inheritance is in the main class which contains the explicit calculation formed from methods of its subclasses. The great advantage here is that knowing the subclasses are functioning properly I get to work with less code formed from fundamental objects at a "higher level". At this point the molecule class implements the parameters interface. This keeps the initial conditions and constant parameters associated with a calculation separate, simplifying the overall debugging process.
  1. Raise and Lower Molecule Methods correct to mode
  2. Set natural frequency and depth of Morse
  3. Get Spectrum and threshold for dissociation
  4. Get State
  5. Get Transition Amplitudes
  6. Write collide method
  7. Write normal or local mode algebra construction method



Name Type Contains Inherits Steady Object
Molecules Package 4 Classes, 1 Interface N/A no
Parameters Interface Instances and constants none no
Main Executable Class Molecule Instances Extends Molecule, Implements Parameters no
Molecule Class Count, Raise and Lower Methods, Algebra Instances Extends Algebra yes
Algebra Class  Direct Product Method,Subalgebra Instances  Subalgebra yes
Subalgebra Class Commutation Methods, String Vector, Vector of Matrices Extends G3, Implements bosoncalculus yes
Geometric Algebra Class Pauli Algebra Subspaces, Geometric Product Method, Rotation Method none yes
Boson Calculus Interface Commutation Methods, Abstract Stuff none yes

download Molecular collision Net Beans project


Tim Wendler timoth500@yahoo.com

Manuel Berrondo   Jean-Francois Van Huele   J. Ward Moody   Scott Bergesen  Gus Hart