next up previous contents index
Next: The Programs of TNT Up: Program Reference Manual The Previous: Conventions

TNT Refinement Package

Congratulations! You have decided to leave the world of canned shell scripts and enter the real world of TNT operation.

TNT is actually a collection of utility programs which can be ordered and combined in many different ways. The scripts you have been using are one way of putting the pieces together but there are many uses and functions in TNT which are not accessible from the limited world of rigid scripts.

The design of TNT differs from that of other refinement packages. It is broken into a number of isolated programs, each of which performs a specific and limited set of functions. All of the programs are similar in that they enjoy the same style of input and share a great deal of internal code. They only differ in the particular command statements each will accept.

Originally this design was chosen to save memory and improve the ability to handle special cases. It did not make sense to allocate memory for holding structure factors when evaluating stereochemical functions or to allocate memory to store the standard geometry library when calculating structure factors. Since Fortran 77 does not allow dynamic allocation of memory the only way to control this is to write separate programs.

In addition this architecture was chosen because there was no means to handle the numerous space groups efficiently without using a different program for each one. In the far past one calculated structure factors by first running a space group general program to calculate electron density maps from coordinates, then running a space group specific program which read the map file and calculated structure factors, and finally running the original form of the program Rfactor which read these calculated structure factors. In the current form of TNT all these activities are incorporated in the libraries which underlie all the crystallographic programs.

One benefit of TNT's design which is still quite relevant is that one can access the data which flows from one program to another. If you are developing your own ideas for refinement you can work them into TNT without learning its internal structure and you can optimize your calculations by structuring your data in whatever way you want.

Clearly the direction of TNT is to be merged into larger programs until the entire package is unified. The challenge of design is to find a way to bring these programs together while maintaining your ability to include your own ideas. That is my job.




next up previous contents index
Next: The Programs of TNT Up: Program Reference Manual The Previous: Conventions

Dale Edwin Tronrud
Thu Jul 6 23:24:57 PDT 2000