H.K.D.H. Bhadeshia,
Phase Transformations Group,
Department of Materials Science and Metallurgy,
University of Cambridge,
Cambridge, U.K.
An interactive program for the analysis of crystal structures. crystal.f will require subroutines available in this library to be added. crystal.for is the complete program, ready for compilation.
Language: | FORTRAN |
Product form: | Source code |
This is a self-contained program.
The program gives guidance to the user when choices have to be made. The initial choice is selecting which of the following are to be performed:-
The camera constant may be known, in which case the program needs an input of two d-spacings from a pair of reciprocal lattice vectors and the angle between the two vectors concerned. The crystal system and lattice type must also be specified.
It is often the case that the camera constant is unknown. The program then operates without d-spacings, using instead an input of the ratio of the lengths of two reciprocal lattice vectors, as measured from the diffraction pattern. If the crystal type is unknown then it can be assumed to be primitive in the first instance. Crystallographically equivalent solutions can be avoided, but this may increase the computing time required.
This calculates the metric tensor, which is a coordinate transformation relating the real and reciprocal axes.
This calculates the spacing of planes in crystals of arbitrary system, taking account of absences due to lattice types.
This calculates the angles between two vectors in an arbitrary crystal system, whether the vectors are plane normals (i.e. reciprocal vectors) or directions (i.e. real vectors). Any combination of these two kinds of vectors may be used as the input.
This converts the components of a vector from real to reciprocal space, or vice versa, for any crystal system. It can be used to identify a plane normal which is parallel to a specified direction, or a direction which is parallel to a specified plane normal.
This calculates axis-angle pairs relating crystals belonging to the cubic system. It also calculates rotation matrices and symmetry-related descriptions.
This calculates the orientation relationship between two crystals, each of which may
belong to any crystal system, from a knowledge of a pair of vectors (in any
combination of real or reciprocal) from each crystal. For example,
(1 1 0)A | | (1 1 1)B and [1 0 0]A | | [-1 0 1]B.
It calculates coordinate transformation matrices, generates lists of planes (and directions) which are parallel in the two crystals, and allows chosen vectors to be examined in detail.
Gives information on the calculations performed by the program.
This converts four index notation to three index notation, and vice versa. Miller-Bravais notation is used for plane normals and Weber notation for directions, allowing correct use of the Weiss zone law.
This calculates the vector magnitude in Ångstroms.
No information supplied
None.
Complete program
None supplied.
None supplied.
The subroutines called by this program correspond to non-interactive routines described elsewhere in the documentation :-
Subroutines:
MAP_CRYSTAL_ED1
MAP_CRYSTAL_ED2
MAP_CRYSTAL_TENSOR1
MAP_CRYSTAL_TENSOR2
MAP_CRYSTAL_TENSOR3
MAP_CRYSTAL_TENSOR4
MAP_CRYSTAL_TENSOR5
MAP_CRYSTAL_TENSOR6
MAP_CRYSTAL_DSPACE
MAP_CRYSTAL_ANGLEE
MAP_CRYSTAL_CONVERT
MAP_CRYSTAL_PAIR
MAP_CRYSTAL_CORD
MAP_CRYSTAL_NOTAT1
MAP_CRYSTAL_NOTAT2
MAP_CRYSTAL_VECMAG
electron diffraction, metric tensor, angle, real and reciprocal space, axis-angle pair, four index notation
MAP originated from a joint project of the National Physical Laboratory and the University of Cambridge.
MAP Website administration / map@msm.cam.ac.uk