Green Paper #2
Vectors in non-orthogonormal systems
PHY491
Simon Billinge
Fall 2000
Atomic Molecular and Condensed Matter Physics
Objective:
Practice basic vector manipulations in non orthonormal systems. Write a computer program to calculate bond lengths and angles for a general crystalline solid. This will take two classes. In the first class we will define the problem, in the next class you will write and test the program.
Jobs:
Coordinator: You are responsible for organization. When it comes time to make a program, go through a planning process with input from your colleagues (this can begin in the first class). Plan the program in some detail using flow charts or other means. You should probably break the code up into different components (coding the I/O, coding the functions and subroutines, etc.) and have different people do it to save time.
Entertainer: You are responsible for telling jokes and ensuring that everyone in the group doesn’t rip each other’s throat out.
Secretary: You are responsible for ensuring that the project proceeds in a timely way. You are responsible for taking notes and documenting the proceedings. Solutions should be handed in and you are in charge of that.
First class:
Working together, answer the following questions:
Let the vector v be defined in terms of basis vectors as follows:
.
The last definition uses the Einstein summation convention. The convention states that if an index is repeated (in this case i appears twice) it is summed over. This is a very compact notation which will be used throughout this exercise. Another convention is to name quantities where the index is low as covariant (co-is-low) and where the index is high as contravariant. This helps bookkeeping when we start making transformations between different bases etc.. In this case the basis vector is the covariant quantity and the coefficients are contravariant.
OK, you are pretty familiar with this, but let us take a general case where the basis vectors are not orthonormal (i.e., the unit cell vectors in a general crystal).
For (b) and (c) write general equations for the length of any vector u and the angle between two vectors u and v.
Metric tensor
The metric tensor, g, is a matrix which contains the elements
.
It is a symmetric tensor (the dot product is commutative).
(2)
2nd Class
In the same groups as last class, write a computer program using the metric tensor to calculate the bond distances and bond angles in a general crystal. It should take as inputs lengths and angles of the unit cell and atom positions in the unit cell expressed in fractional coordinates (e.g., an atom at the center of the cell would be at [0.5,0.5,0.5]) and output all the bond lengths and angles (e.g., the A-B-C bond angle is the angle between the A-B and the B-C bonds).