WxAtoms
I have finally begin work on the new version of Artemis. Most of the functionality I need for Artemis is now in place in the Demeter libraries, so it is high time to get to work! I am starting with the Atoms and Feff interface. One of the neat things about rewriting all this software is that it gives me the opportunity to apply ideas and practice that I have learned since I first began the Tk versions 7 years ago. In this case, I get to apply the wonder of subclassed methods. In short, I now understand how to structure my code so that the big pieces are easily reusable. On this wiki page, I will be showing you the Wx version of Atoms. The Atoms portion of Artemis will use the same code and look much the same. The beauty is that, by writing tings properly, I get to have a stand-alone Atoms and an Atoms portion of Artemis for no extra cost. Yay!
To start:
~> datoms --wx
datoms is the Demeter Atoms script. Without the --wx flag, it behaves like the venerable command line version of Atoms. With the --wx flag, it fires up the Wx-based GUI.
Here is the GUI when it starts up:
One nice thing about the wxWidgets toolkit is that it is a wrapper around native graphics widgets. This screenshot looks like a GTK application on my linux machine, but WxAtoms will look like a Windows application on a Windows machine and like a Mac application on a Mac. Cool!
Here I have imported an atoms.inp file. Note that you can choose from several different options for formatting the feff.inp file that gets written. The "sites", "elements", and "tags" options refer to how the unique potentials gets assigned to the sites in the crystal data. Eventually, this utility will be an interface to Feff8 as well as to Feff6.
Clicking the "Run Atoms" button expands the crystal data into a cluster and formats it for Feff. Like in the Tk version of Artemis, I have chosen to display the feff input data in a big text window. I suppose I could have stuffed all the feff input data into widgets, but it seems to me that, if you need to modify things, it is easiest to do do so in a text window.
Clicking the "Run Feff" button does just that, although it does so the Demeter way! Feff is run to generate the binary blob containing the potentials data. Demeter then uses its own version of the pathfinder to compute the scattering geometries. You may have noted in the screenshot of the Atoms tab that there are two radial distance numbers. Rmax is used for the size of the cluster in the potentials calculation. You can make this plenty big. Rpath is the largest path length for the pathfinder. You should not make this bigger than 6 without a good reason. Demeter's pathfinder is not terribly efficient. Below 6 Angstroms it is not too slow, but it slows down exponentially above that. One rarely needs paths that long anyway....
You can plot paths even without the benefit of data to compare them to:
Finally, all messages associated with the interactions with Atoms and Feff get logged to the console:





