next up previous
Next: Data input and data Up: Feature and organization Previous: Feature and organization

Overall organization

The need to partition a refinement program into independent functional units was mentioned in the Introduction and has shaped the overall organization and structure of the package. The different function that are minimized in the refinement are treated as separate `terms' where each term is defined on the basis of the calculations required to evaluate the term and its gradient. Most commonly, two terms are included: a crystallographic and a stereochemical term. The programs required to calculate a term and its gradient are collectively referred to as a `module'. The overall refinement package consists of the control program plus a variable number of modules. The control program combines the information presented by all the modules to determine the direction in which to shift the parameters of the model, and, eventually, to determine the magnitude of the shift. This program `knows' nothing about the specifics of the terms that are handled by the various modules. The stereochemical module is implemented as a single program. Because it involves several Fourier transforms, the crystallographic module is broken up into five different programs. This fractionation allows appropriate space-group-specific fast Fourier transform (FFT) programs to be used for different projects.



Dale Edwin Tronrud
Thu Jan 22 14:07:35 PST 1998