next up previous
Next: Crystal Data Card Descriptions Up: THE CRYSTAL DATA FILE Previous: General Remarks on Crystal


Routines to Read Specific Crystal Data Cards

Most cards have a corresponding simple input routine INPUT x to read in one card starting x . Thus, INPUTC reads the C card and INPUTE reads the E card. There are often also more complicated input routines which then deal with the information on the card. So, e.g., SYMOP calls INPUTS for every S card given; INPUTS produces a rotation matrix and a translation vector, doing a little preliminary checking on the way, then SYMOP adds this new operator to its existing list and does further necessary generation of operators.

For some initial letters there is an obvious setting-up routine to read all cards starting with that letter. ATOPOS reads all A cards via INPUTA, checks them and does further setting up (e.g. detecting special positions) which the user would almost certainly want every time he inputs A cards.

Other cards are of more general application. For the I cards just described, INPUTI reads in all the CCSL-word/number pairs but does not interpret any of the words, so other setting-up routines (like SYMFRI to read FRIE , or IICD1 to read the variations from the defaults required in a Least Squares Refinement) are free to pick out the words they understand.

It is not essential to read a particular card using the existing CCSL routine. If the user wishes to put different numbers on, say, an E card for a new form of extinction correction, he may do this and write his own version of INPUTE to read them. He will probably do this by taking the existing INPUTE and modifying it. If he presents his new INPUTE to the FORTRAN linker, following his main program and before it scans the Library, it will accept his and ignore the one in the Library. There is further discussion on writing one's own program in Chapter 7.


next up previous
Next: Crystal Data Card Descriptions Up: THE CRYSTAL DATA FILE Previous: General Remarks on Crystal
P.J. Brown - Institut Laue Langevin, Grenoble, FRANCE. e-mail brown@ill.fr