![[Commission Home Page]](cpd.gif)
|
|
The IUCr-CPD Homepage is at http://www.iucr.org/iucr-top/comm/cpd/
GUI-based tools for Powder Diffraction Analysis Using Tcl/TkBrian TobyNIST Center for Neutron Research National Institute of Standards & Technology Gaithersburg, MD 20899, USA. E-mail: Brian.Toby@NIST.gov WWW: http://rrdjazz.nist.gov/~toby/ Over the last few years we have been using a script language, Tcl/Tk to create graphical user interface (GUI) based programs for use in powder diffraction applications. Tcl/Tk is available for free (see http://www.tcltk.com for more information) and runs on virtually all computer platforms. At the NIST Center for Neutron Research, we do virtually all our code development for Silicon Graphics and PCs running Linux, but much of the code runs with no modification on other UNIX platforms and often with only minor debugging in Windows. Tcl/Tk is easy to learn, even for fossils such as the author (who learned to program on computer cards). Below I describe a few programs that are in use at the NCNR and are freely available over the web. While these programs are quite useful in their current form, I would like to encourage others to add more functionality and I would particularly like to get some help with Windows debugging.
CMPRThe goal of this program is to be a "Swiss army knife" for powder diffraction. At present, its current functions are the display of diffraction data, peak fitting and manual indexing. Manual indexing is done by generating allowed reflection positions for an arbitrary unit cell and then watching these positions move as the lattice constants are changed via sliders. Reflections extinctions can be tested by entering a symmetry operation or space group. Extinct reflections are then highlighted.
The most recent version of the program accepts reciprocal unit cells. Dick Harlow has had considerable success indexing diffractograms from materials with low symmetry unit cells by determining two reciprocal cell parameters and the angle between them from electron diffraction data. The remaining unknown parameters can then be found using this program. Peak fitting is done with the GPLSFT program from Dave Cox et al, which incorporates the Finger-Cox- Jephcoat assymetry correction. One of the nicest features of the code is built into the BLT graphics package that we use. Any part of the graphical display can be "zoomed in" by using a mouse to draw a box around the feature. (http://rrdjazz.nist.gov/~toby/cmpr.html)
LOGICThis program is used to locate entries in the ICDD-JCPDS database that match a set of constraints, such as chemical composition, peak positions, etc. It can be used either with a GUI or a Web interface. It provides a nice example of how FORTRAN subroutines can be integrated into Tcl/Tk code and has been debugged both with Unix and Windows- 95. It is in use in a number of labs around the world, but I do not have much use for the database and currently do have a copy of the database so I am not planning any additional development for this program. (http://rrdjazz.nist.gov/~toby/logic.html)
GSAS GUI
This is not a full GUI implementation of GSAS, but it does provide a GUI shell that allows the various GSAS programs to be started from a menu and toolbar interface. The menus and toolbars are user-configurable. It provides a few unique tools. For example, it has a plotting program, liveplot, that shows the observed and computed diffraction patterns; the display is updated automatically as the refinement progesses. A second tool, textview (viewlst) eases the task of examining the .LST file that contains the GSAS output. A recent improvement to liveplot allows CMPR to be used to generate peak positions from an arbitrary unit cell which are then superimposed on the Rietveld output. This aids in identification of supercells and impurity phases. (http://rrdjazz.nist.gov/~toby/gsastcl.html and http://rrdjazz.nist.gov/~toby/gsastcl_cfg.html)
Please feel free to email any queries to:
r.j.cernik@dl.ac.uk
|