Minimization in Computational Chemistry


Previous Next

Homework assignments

Choose the difficulty level for your homework. For each level, you have two tasks to accomplish. One of the tasks is mainly theoretical in nature, for example you will need to read and understanding a scientific paper before completing the task. The second task is more practical, for example you will need to write a compute program to accomplish the task. You may program in your language of choice (no assembler or machine code, please). Submit your program, the text of the output it generates, and any graphics (plot image file) that is generated by the program.

Level One

1. Read the Introduction and Theory chapters of the paper titled "Geometry Optimization in Redundant and Internal Coordinates" by Peter Pulay and Geza Fogarasi. Write an illustrated (at least one picture that you have created) essay that discusses what are Cartesian coordinates and what are internal coordinates in the context of molecular geometries.

2. a) Write a program that performs Newton-Rhapson minimization of carbon monoxide in the harmonic potential. Compare the number of steps it takes for the steepest descent minimizer and the Newton-Rhapson minimizer to reach the minimum when the search starts at 1.40 Angstroms.

2. b) Modify the program to perform minimization in the Kratzer potential, and repeat the analysis for this potential. The Kratzer potential is given by: E = D0((r-req)/r)^2 where D0 is the dissociation energy (258.9 kcal/mol for CO), and req is the equilibrium distance (1.1283 Angstroms for CO). Discuss why it took more steps to minimize the structure with the Kratzer potential.


Level Two

1. Read the Introduction and Theory chapters of the paper titled "Geometry Optimization in Redundant and Internal Coordinates" by Peter Pulay and Geza Fogarasi. One of the key technical points is that while the molecular mechanics energy can be calculated directly in internal coordinates, most quantum chemistry programs require Cartesian coordinates before energy can calculated. Write an essay that discusses what general steps are needed in order to combine the internal coordinate geometry optimization of a water molecule with the evaluation of molecular energy in Cartesian coordinates at each point during the optimization.

2. a) Write a program that performs Newton-Rhapson minimization of carbon monoxide with the Morse potential. Compare the number of steps it takes to find the minimum when you start at 0.95 Ang, 1.37 Ang, and 1.66 Ang with both potentials.

2. b) Modify the program by implementing the BFGS Hessian Update method and repeat the analysis. This method was first proposed in 1970 by Broyden, Fletcher, Goldfarb, and Shanno and has become a standard algorithm in many optimization programs. The highly mathematical paper by Charles Broyden who at the time worked at the Department of Computer Science at the University of Essex is available here; an historic account to the work that lead to the "good Broyden" method is also available. Research on such pseudo-Newton-Rhapson methods continues; for example Koval has recently outlined a procedure that updates both the gradient and hessian based on function values alone. Discuss your findings (did the number of steps change; was BFGS useful in this situation; under what conditions does BFGS become useful?

The programs must be flexible enough to allow user to specify the file with potential parameters, the initial distance, the force convergence criterion, and the maximum number of iteration steps. The program must produce formatted text output and generate a graphical plot of the Morse function. Optionally, you may plot the search path on the same graph. Use & in a line that separates the first data set (Morse function) and the second data set (search path points) to tell XMgrace that these are two data sets.

The Morse potential is given by:

where D0 is the dissociation energy (258.9 kcal/mol for CO), α is the Morse width parameter (2.302 1/Ang for CO), and req is the equilibrium distance (1.1283 Angstroms for CO). You are allowed to use web services to find derivatives of the Morse potential. Alternatively, you could use Mathematica© to find and simplify the derivatives. For example, Mathematica© expression D[Exp[a*x^2],x] takes a partial derivative of a function exp(ax**2) with respect to x.

Level Three

1. Read the Introduction and Theory chapters of the paper titled "Geometry Optimization in Redundant and Internal Coordinates" by Peter Pulay and Geza Fogarasi. Also read the Introduction and Theory chapters of the paper titled "The generation and use of delocalized internal coordinates in geometry optimization" by Jon Baker, Alain Kessi, and Bernard Delley. Write an essay that discusses what specific steps are needed in order to combine the internal coordinate geometry optimization of a water molecule with the evaluation of molecular energy in Cartesian coordinates at each point during the optimization. Discuss what is a B-matrix. The B-matrix for water is given below:

   # r is the bond distance to the central atom (1-3)
   # a is the angle around the central atom (1-3-2)
   s = sin(0.5*a)
   c = cos(0.5*a)
   B = array(( (-s,-c,0,  0,0,0,  s,c,0), (0,0,0, s,-c,0, -s,c,0), (-c/ri,s/ri,0, c/ri,s/ri,0, 0,-2*(s/ri),0) ))

Show (with the help of geometric) illustrations, how one can derive one of the non-zero B-matrix elements given above (i.e. give a mathematical proof that element [1][1] is -sin(0.5*a).

2. Write a program that performs Newton-Rhapson minimization of a two-dimensional Rosenbrock function. This function is described in http://mathworld.wolfram.com/RosenbrockFunction.html. If you use Mathematica, you may take advantage of the accompanying Mathematica© notebook for plotting. However, make sure to replace the built-in Minimize and FindMinimum functions with your own Newton-Rhapson routines. If you decide to use Python, you are not required to create graphics output and may use web services to find derivatives of the Rosenbrock function.

The program should be flexible enough to read the potential parameters from the text file. If you use languages other than Mathematica© the program must allow the user to specify initial starting coordinates on the command line.


Previous Next
Materials by Dr. Kalju Kahn, Department of Chemistry and Biochemistry, UC Santa Barbara. ©2006-2008