ATOMS is program for interpreting crystallographic data and writing out lists of atomic coordinates and other useful kinds of output. ATOMS is also a set of object-oriented modules useful for other crystallographic and x-ray absorption calculations. ATOMS is written in perl.
ATOMS was written by Bruce Ravel. You can contact him by email at
ravel@phys.washington.edu. ATOMS is copyright © 1999-2001 Bruce Ravel.
Originally ATOMS was a Fortran program written to aid in the task of writing input files for Feff, a program for ab initio x-ray absorption theory. As ATOMS grew and was used for more purposes, the limitations of the original Fortran implementation became annoying to the author. Consequently, ATOMS was rewritten from scratch in Perl using object oriented methods. This resulted in a code base that is easier to maintain and extend and allowed many new features to be added to ATOMS.
The ATOMS home page is at
http://feff.phys.washington.edu/~ravel/software/atoms.
Nothing. It's free under the terms of the Perl Artistic License. In brief, legally inaccurate terms, this means that you are free to use, modify, and redistribute ATOMS as you please, with the caveat that, if you modify the code I wrote and redistribute it, you must share your changes with me. It also means that, if you write your own code using the crystallography or x-ray absorption modules that comes with ATOMS, that code belongs to you. For more details see the Perl Artistic License at
http://feff.phys.washington.edu/~ravel/software/atoms/Artistic.txt.
If you like ATOMS, send me email telling me so. Email from users is one of the great pleasures of free software. If you are so taken by ATOMS that you want to express your gratitude in a material manner, then you may make a small donation in my name to my favorite charity, The Women's Foundation of San Francisco. The Women's Foundation serves as a voice and advocate for the needs of women and girls by providing funding and resources and is a convener of groups and individuals for dialogue and collaboration regarding economic, social, and political justice.
General operating budgetMany corporations make matching donations to charitable organizations.
The Woman's Foundation
340 Pine Street, Suite 302
San Francisco CA 94104 USA
phone: 1-415-837-1113
fax: 1-415-837-1144
pchang@twfusa.org
http://www.twfuse.org
Yes there are. The program SEXIE (ftp://xena.llnl.gov/sexie/, Computer Physics Communications 67, (1992) 543-547 Bernhard Rupp, Bryan Smith and Joe Wong) was one of the original inspirations for ATOMS. The original version of ATOMS drew many ideas from SEXIE. Eventually, SEXIE itself was then modified to replicate some of the functionality of ATOMS.
There are a huge number of programs useful to the crystallographer which read crystallographic data and write out lists of atomic coordinates. If you poke around crystallography web sites, you will find many such programs.
There are at least three good reasons to use ATOMS:
perl Makefile.PLThat's it! If you are installing ATOMS as a normal user rather than as root, you should run the 'private-install' script that comes with ATOMS rather than doing make install. Rehash and you're good to go.
make
make test
make install
The easiest thing to do is to download and install the ATOMS Bundle. It contains everything you need. There is a Bundle for Unix which installs in the standard CPAN manner. The required CPAN modules are included in the Windows and Macintosh distributions. You can also download the modules by hand. See question
.
Don't fret. The version number advertised by 'Tk::Pod' that 'check-cpan' reads is 3.15. The version number it is distributed under is 0.11. Isn't that annoying?
These are integral parts of ATOMS:
You have not installed the ATOMS Bundle.
You must be root to do make install because it tries to write to a system directory. As a normal user, use the 'private-install' script instead.
If you are root and make install fails, the look at the screen messages from the failed make install. They will be helpful to you for diagnosing the problem or when making a bug report. Also look at the output of perl -V to make sure the install directory is under one of the directories in @INC.
When installing as a normal user, 'private-install' needs to know where to put all of the stuff that ATOMS needs. It determines this from the value of an environment variable. To let 'private-install' continue, designate a place where you want to store perl stuff. '$HOME/perl/' is a good choice. Then, if you are a bash user put these lines in your '.profile'
export PERL5LIB=$HOME/perl/If you are a c-shell user, put these lines in your '.cshrc'
setenv PERL5LIB $HOME/perl/
Run your '.profile' or source your '.cshrc' and you are ready to install ATOMS.
Please send me a bug report. These reports are very valuable to me. Include the type of computer you are using, the version number of perl, and the file 'test1.log' which you should find in the main ATOMS after running make test. I might need to ask you for more information, which will involve about 5 minutes of work on your part.
One of the goals of ATOMS is to have it run identically on all platforms. This means that any number written to output files must be the same on all computers within 0.00001. In my experience with recent versions of ATOMS, most failed platform tests are due to differences in the that digit when comparing the output file generated during `make test' with those used in the test. Probably, ATOMS is fine even if it fails some platform tests. Be sceptical and check the output carefully, but go ahead and start using ATOMS.
Yes there is. There is a page of icons in three sizes and five image formats on the ATOMS web page. The smallest, 16x16 pixels, is good for use in a menu. The larger sizes, 32x32 and 48x48, are good for use on the desktop. This same set of icons can be found in the 'etc/' directory of the Unix ATOMS distribution.
At the command line, type
perl -e 'use Xray::Xtal; print $INC{"Xray/Xtal.pm"}, $/'Under MS Windows use a DOS window. Under Macintosh use the MacPerl ``one-liner'' option. If you have trouble, try putting the two commands in between the single apostrophes in a file and executing that file as a perl script.
Until ATOMS 3.0 is officially released, I am calling the executable 'atoms.pl' to avoid name conflict with the Fortran version. Similarly, the dafs and Tk programs are called 'dafs.pl' and 'tkatoms.pl'.
The functionality of the ``index'' keyword in earlier versions of ATOMS has been moved to the atp files. If you want to turn shell indexing on or off, do so with the <itag> and <tag> tokens in the atp file. The standard 'feff.atp' file uses shell indexing. You may find it useful to keep a 'feff_noindex.atp' (or some such) in your '~/.atoms' directory.
ATOMS reads runtime configuration data from a system file and from a personal file called 'atomsrc' which it looks for in the '~/.atoms/' directory. One of the variables that can be set is $atoms_language. Set this to your choice of language. If the language data in ATOMS has been translated into your language choice, then that will be used. If not, then ATOMS will default back to English.
Language data does not magically appear. (Darn!) I am happy to ship any set of language data with ATOMS for which I am given a translation. If your language is not included in ATOMS, that means the translation has not yet been made. If you volunteer to make a translation, I will be grateful forever. Contact me for details.
Check out the questions in this FAQ. If your bug is not one of those, then submit a bug report to me at ravel@phys.washington.edu. A good bug report consists of some or all of the following information:
perl -e 'use Tk; print $Tk::VERSION,$/'at the command line.
The perl distributed with RH 5.2 is severely broken. The only really good solution is to download the source code for perl from CPAN and compile up a new version. Don't fret, compiling perl is easy, although a bit time consuming. Just follow the installation instructions that come with the source code distribution.
This error probably says something like
Global symbol "$Restore the initial symbol: pm3m"
requires explicit package name at
/usr/lib/perl5/5.00502/i586-linux/Tk/Balloon.pm line 331.
I am aware of this, but don't know what causes it. It is probably a bug in the Tk help balloon code.
This was a problem in earlier versions of TkATOMS, but I think that it no longer happens. Please let me know if it happens to you. And please read FAQ #
.
Nope. It sure doesn't. This whole feature is disabled on Windows in ATOMS 3.0beta1 due to a bug in the Windows version of Tk.
By default Tk's help balloons fall down and to the right of the widget they are attached to. It is a short coming of the help balloon code that this is also the only behavior. I suppose one solution is to always have TkATOMS on the left side of the screen, but that is surely not the answer you are looking for. In the 'etc/' directory of the ATOMS distribution is a file called 'patch.balloon'. This is a patch against the balloon code in the perl installation. Applying this patch requires that you have root access. The balloon code is the file 'Balloon.pm' which can be found in the place where Tk was installed on your computer. If you have the patch program on your computer, you can apply the patch by moving it to the same directory as 'Balloon.pm' and doing
patch < patch.balloonThis patch prevents the balloon from displaying off screen. However, it is an incomplete solution. The little arrow in the corner of the balloon identifying the widget that the balloon is attached to will likely be in the wrong place. At least you can read the balloon!
This is a bug that happens when you double click the ``Run DAFS'' button and have bad luck. It should happen very rarely. Unfortunately, without my rewriting a significant portion of TkATOMS, the only solution is to kill TkATOMS and re-launch it.
Probably you moved the folder while MacPerl was running. Quit MacPerl completely then try double clicking on the 'atoms.pl' icon again.
Unix, Microsoft, and Apple use different conventions for denoting the end of line in a text file. You must take care to transfer ATOMS' output files between platforms as ASCII files. Using ftp, be sure to specify ASCII transfer. Using a removable disk (floppy, Zip, whatever) or network file sharing, be sure to transform the text file after transferring it.
Monoclinic space groups have an inherent ambiguity regarding their setting in three dimensional space. There are 6 possible orientations of the unique and secondary axes. In the case of monoclinic and orthorhombic groups, the symbols corresponding to different settings are different from one another. The most likely cause of your problem is that you used a symbol that is correct for your group but incorrect for the setting. See Section
and Appendix
.
If you use 1935 symbols for certain tetragonal and cubic groups, the space inserting algorithm will fail. For example, if you use the symbol p422, ATOMS assumes you mean p 4 2 2 using the modern notation, rather than p 42 2 in the 1935 notation. To resolve this ambiguity, use spaces.
The space groups for which the 1935 notation sans spaces will fail are:
number 1935 symbol modern symbol
89 p 4 2 p 4 2 2
90 p 4 21 p 4 21 2
93 p 42 2 p 42 2 2
95 p 43 2 p 43 2 2
97 i 4 2 i 4 2 2
98 i 4 21 i 4 21 2
207 p 4 3 p 4 3 2
211 f 4 3 f 4 3 2
214 i 4 3 i 4 3 2
This is a very common question. One reference on the structure of these two materials uses an odd setting, thus requiring clever use of the shift keyword. See Section
for a complete explanation of the solution.
The output files are formatted using template files found in the 'atp/' directory underneath the installation location of ATOMS. The syntax and use of the template files (atp files) is discussed in the atp document which comes in various formats with ATOMS. To change the format of an output file, either edit the atp files which come with ATOMS or make a copy of the atp file in '~/.atoms/' and alter it as desired. On a Mac or Windows 9x, the altered atp file should be placed in the 'atp' folder in the ATOMS installation folder.
Make a new atp file according to your specifications and place it in '~/.atoms/'. On a Mac or Windows 9x, the new atp file should be placed in the 'atp' folder in the ATOMS installation folder.
There are three schemes for assigning unique potentials. They are assignment by atomic species, by user-supplied tag, or by crystallographic site. Change the value of the :ipots argument to the <potentials> token in 'feff.atp' to be one of species, tags, or sites. I welcome suggestions for new assignment schemes.
Change the :gcd argument of the <potentials> token in 'feff8.atp' from 0 to 1.
If you set the variable $prefer_feff_eight to 1 in the 'atomsrc' file, then the feff8 input file becomes the default output. This means that 'atoms.pl' will write a FEFF8 input file when no file type is specified and that TkATOMS starts up with the FEFF8 output option selected.
Some day I may write such a thing for ATOMS. For now, you will have to use one of ATOMS' output files with you favorite ball-and-stick plotter. ATOMS supports two common ball-and-stick file formats and you can create a suitable atp file for your favorite format.
It calculates a crude approximation of a DAFS scan. Specifically it computes the energy dependent structure factor using tables of f0, f', and f". However, it does not include solid state effects, so includes none of the fine structure. It does, however, give you a sense of the relative magnitude of the reflection and of the cusp as well as which direction the cusp points. It should not be misconstrued as an analytical tool.
The 'dafs.atp' file that comes with ATOMS writes out energy versus amplitude squared. The amplitude, phase, real, and imaginary parts of the complex DAFS function are available using the <a>, <p>, <r>, and <i> tokens in the dafs list. Either edit the 'dafs.atp' file or make a new one which includes the columns that you want to look at.
The canvas in the DAFS notecard in TkATOMS is only meant to be a snapshot of the calculation. As such it is a very simple plot. You can save the data and plot it using your favorite plotter. See Section
.
These two data resources are interpolated from a rather sparse grid. Following Chantler's suggestion of semi-log interpolation of f' results in a function that is discontinuous in first derivative at each actual grid point. A future improvement might be to do some sort of spline interpolation, but a much bettr solution would be to convince Henke and Chantler to release their codes on a more appropriate grid near the edge energies. If possible, use the Cromer-Liberman tables instead.
Currently, they only work on Linux and Irix. There is no a priori reason they cannot be made to work on other platforms, but so far that's it.