This paper describes m2rc3, a program that calculates Van Vleck second moments for solids with internal rotation of molecules, ions or their structural parts. Only rotations about C 3 axes of symmetry are allowed, but up to 15 axes of rotation per crystallographic unit cell are permitted. The program is very useful in interpreting NMR measurements in solids. Program summary Title of the program: m2rc3 Catalogue number: ADUC Program summary URL: http://cpc.cs.qub.ac.uk/summaries/ADUC Program obtainable from: CPC Program Library, Queen's University of Belfast, N. Ireland License provisions: none Computers: Cray SV1, Cray T3E-900, PCs Installation: Poznań Supercomputing and Networking Center ( http://www.man.poznan.pl/pcss/public/main/index.html) and Faculty of Physics, A. Mickiewicz University, Poznań, Poland ( http://www.amu.edu.pl/welcome.html.en) Operating system under which program has been tested: UNICOS ver. 10.0.0.6 on Cray SV1; UNICOS/mk on Cray T3E-900; Windows98 and Windows XP on PCs. Programming language: FORTRAN 90 No. of lines in distributed program, including test data, etc.: 757 No. of bytes in distributed program, including test data, etc.: 9730 Distribution format: tar.gz Nature of physical problem: The NMR second moment reflects the strength of the nuclear magnetic dipole–dipole interaction in solids. This value can be extracted from the appropriate experiment and can be calculated on the basis of Van Vleck formula. The internal rotation of molecules or their parts averages this interaction decreasing the measured value of the NMR second moment. The analysis of the internal dynamics based on the NMR second moment measurements is as follows. The second moment is measured at different temperatures. On the other hand it is also calculated for different models and frequencies of this motion. Comparison of experimental and calculated values permits the building of the most probable model of internal dynamics in the studied material. The program described in this paper calculates the second moment for solids with rotation of different groups of spins with C 3 symmetry. Method of solution: The rotation of molecules or their parts, for example CH 3 groups, is simulated as a random walk process by rotating each individual group of spins about its symmetry axis by an angle allowed by the type of symmetry. It is not a continuous rotation, but is in the form of jumps between consecutive positions allowed by the symmetry of the rotating group. Such a model of rotation fulfills assumptions on which theoretical equations used in NMR are derived. The value of Van Vleck's second moment averaged by this rotation is evaluated. The degree of averaging depends on the number of rotational jumps simulated during calculation. This number is then expressed in terms of the frequency of rotation and finally into the temperature. As a result we obtain simulated values of the NMR second moment as a function of temperature. Restrictions on the complexity of the problem: The only restriction is the number of spins for which calculations can be performed in a reasonable amount of CPU time. This restriction is therefore a combination of the number of spins in the unit cell, number of unit cells included in the calculation, and the speed of the computer used. The tested version of the program was compiled for a maximum number of 6250 spins, arranged in 125 unit cells. There are 15 axes of rotation allowed per unit cell. Any of these restrictions can be overcome by increasing the dimensions of the appropriate arrays in the program. The dimensions given in the program are sufficient for analysis of most of the NMR data which one can find in the scientific literature. This is due to the fact that the magnetic dipole–dipole interaction decreases with the third power of distance between spins, and calculations including spins up to a distance of about 2.0 nm give a final accuracy of the second moment equal to about 1%, while experimental values are determined with 5% accuracy or even worse. The program was designed to handle any combination of complex rotations, but only about C 3 axes. Overcoming this restriction by introducing the possibility of C 6 or C 4 rotations would require some changes in the program. They may be quite easily introduced by an experienced programmer.
Read full abstract