I wonder if what he was asking about is an automated way of mapping the position parameters for a given space group, that is, fractional atomic coordinates as listed in a .cif, onto
the various path distances. As it is now, it's impractically hard to do it except for very simple cases.
Maybe what is needed is a language for specifying local structures in which
atom positions and occupancies can be given by variables, and the program would automatically parameterize the paths. As a hypothetical toy example, consider a simple model of
a substitutional model of Fe in bcc W (atoms chosen more or less at random). Here, we suspect that since Fe is a smaller atom than W, the first neighbors would be
displaced inward.
Thus, we might have a specification something like
SET a0 = 3.165 /* lattice parameter of pure W */
CENTRAL Fe 0 0 0
ATOM W /* 1st NN */
POS a0*(1-dist1)*(sqrt(3),sqrt(3),sqrt(3))/2
OCC 1
SS SS1
ATOM W
POS a0*(1-dist1)*(-sqrt(3),sqrt(3),sqrt(3))/2
OCC 1
SS SS1
... add the other 6
ATOM W /* 2nd NN */
POS a0*(1-dist2)*(1,0,0)
OCC 1
SS SS2
... add the other 5
The program would then automatically compute not only the distances for the SS paths, but those for the MS paths as well,
and perhaps even estimate the ss values based on the ss's for the shells. This is a relatively trivial example in which the scripting isn't needed.
However, it gets bigger. For instance, suppose that some of the 1NN atoms might have Fe on them. Then, the W sites would have
OCC 1-xFe
and there would be ATOM Fe sites specifications like:
ATOM Fe
POS a0*(1-dist1Fe)*(sqrt(3),sqrt(3),sqrt(3))/2
OCC xFe
SS SS1Fe
and the program would automatically work up MS paths with the proper weighting for the number of W and Fe atoms involved.
Now, consider an octahedral cage in which the central atom may be off-center:
SET a0 = <appropriate value>
CENTRAL Ti a0*(d_off,d_off,d_off)/sqrt(3)
ATOM O
POS (a0/2)*(1+d1,d2,d2)
OCC 1
SS SS1
ATOM O
POS (a0/2)*(d2,1+d1,d2)
OCC 1
SS SS1
ATOM O
POS (a0/2)*(d2,d2,1+d1)
OCC 1
SS SS1
ATOM O
POS (a0/2)*(-1+d1,d2,d2)
OCC 1
SS SS1
...
The distortions shown are intended to keep the 3-fold symmetry about 111. Now, when you consider the higher shells, you can see that it could get
pretty messy to work out what the distances would be as a function of d_off, even if you don't allow displacements of higher neighbors.
This sort of specification only becomes sort of practical because computers can now handle the multitudes of paths which will appear. Funny
that the Vpath thing should have just got discussed; that tool would be extra-important for distorted structures.
For the POS parameters, the above are given in Cartesian coords, but it would be good to have the option to do it in crystal coords, invoking
the crystal symmetry. I'm not sure how to do that for impurities.
I realize that this would be a HUGE job, but whoever does it would win the hearts of EXAFS people everywhere :-)
mam