Вы находитесь на странице: 1из 2

Let X = (x1 , x2 , ..., xN ) denote an N-tuple of positions s.t. i xi R3 .

Consider
a sequence X0 , X1 , X2 , .... Define some metric d : X X [0, ) on the space of Xi
(the precise metric is just Euclidean) and let X = limi Xi according to the usual
definition of limit of sequences on metric spaces. Let Sg be the space group of X , and
let {(M, t)}, M R33 , t = R3 be the elements of Sg corresponding to rotations and
translations. We will assume that X is not distorted at all, but perfectly obeys the space
group symmetries. Then, xi X , {Mj xi + tj | (Mj , tj ) {(M, t)}} = X , i.e. applying
the space group elements to any position in X should generate all of the other positions
in X . In general, however, we can take any vector x R3 and apply the space group
operations.
Now assume that there is some  > 0 such that if d(Xk , X ) < , then spglib will
identify the space group of Xk as Sg provided some precision . As the initial structure may
be substantially distorted, simply selecting some xi Xk and applying the space group
operators may result in a poor approximation of X .

With those preliminaries, I can frame my questions. For my specific structure of in-
terest, X conforms to the symmetry of space group 220 (I-43d), and therefore so does
Xk up to some precision . I also have the additional information that the positions in
X are located on the 16c Wyckoff sites, which means that a s.t. given x = (a, a, a),
{Mj x + tj | (Mj , tj ) {(M, t)}} = X . I have one file where I have explicitly generated
X , i.e. I know that the positions explicitly obey the space group symmetries. I generated
this file by applying the space group operators to the vector x = (1/12, 1/12, 1/12). My un-
derstanding of how spglib works is that it shifts the system into some unique setting where
it is easiest to algorithmically identify the space group. Based on my understanding of
spglib, this vector x should be exactly the origin shift returned by get symmetry dataset;
however, that is not the case. spglib gives me that a 0.671, whereas 1/12 0.083; I
suspect that this is because spglib is somehow centering the cell differently from the way
I had anticipated. Therefore, my first question is, given the positions X and
the corresponding lattice, which is cubic with lattice vector length 2.68, can
I use spglib to recover the value a = 1/12?

My second question concerns another file, which instead contains a sequence of Xi as


described. I have selected the final element Xk in this sequence as an approximation of
X , where X again conforms to the symmetry of space group 220 (I-43d) with positions
located on the 16c Wyckoff sites. Therefore, there must again exist some vector x = (a, a, a)
that can be used to generate X by constructing the symmetrically equivalent atoms.
Selecting some xi Xk gives a very bad approximation because in general xi does not
have the form (a, a, a), but rather the form (a, b, c) where the three components are distinct
(because the cell is distorted). Unlike in the first case, I do not know a priori what a should

1
be, but again based on my understanding the origin shift should be the best approximation
for a that spglib can provide. My second question is, given the positions Xk and
the corresponding lattice, by what process can I determine the value a? Stated
differently: given the positions Xk and the corresponding lattice, how can I
find the value of a such that applying the space group operators to the vector
x = (a, a, a) would give the best approximation for X , noting that in this case
X is not known? The answer to the first question will also answer this question, but
this should provide some more context for what I am trying to accomplish.

Вам также может понравиться