deepmodeling / deepmodeling/CrystalFormer

Wyckoff Positions and Standard Cell

Open
#8 0 comments 0 reactions 1 assignee Claimed by @zdcao121 View on GitHub
Dominant language
Jupyter Notebook
Stars
152
Forks
23
PR merge metrics
No merged PRs in 30d

Description

We process the C2DB database with `spglib.get_layergroup`. Positions of atoms are recorded as `std_positions` in `spglib`.
And things went wrong for some materials, such as https://c2db.fysik.dtu.dk/material/2AgNaTe-1 with layer group No. 64.
For Wyckoff position `2a`, the coordinates given in https://www.cryst.ehu.es/ are `(3/4, 1/4, 0)` and `(1/4, 3/4, 0)`.
However, the `2a` Wyckoff positions in `spglib` are `(1/2, 0, 0)` and `(0, 1/2, 0)`.

We can check the layer group operations of `spglib`.
The operations on input cell are stored as `rotations` and `translations`.
And the transformation between input cell and standard cell is stored as `transformation_matrix` and `origin_shift`.
So we can calculate the operations on standard cell, they are listed as following:
`(x, y, z) (-x, y, z) (x, -y, z) (-x, -y, z) (y, x, z) (-y, x, z) (y, -x, z) (-y, -x, z) (x+1/2, -y+1/2, -z) (-y+1/2, -x+1/2, -z) (-x+1/2, y+1/2, -z) (y+1/2, x+1/2, -z) (-x+1/2, -y+1/2, -z) (y+1/2, -x+1/2, -z) (x+1/2, y+1/2, -z) (-y+1/2, x+1/2, -z)`.
This is different from the operations recorded in https://www.cryst.ehu.es/, which is
`(x,y,z) (-x+1/2,-y+1/2,z) (-y+1/2,x,z) (y,-x+1/2,z) (-x,y+1/2,-z) (x+1/2,-y,-z) (y+1/2,x+1/2,-z) (-y,-x,-z) (-x,-y,-z) (x+1/2,y+1/2,-z) (y+1/2,-x,-z) (-y,x+1/2,-z) (x,-y+1/2,z) (-x+1/2,y,z) (-y+1/2,-x+1/2,z) (y,x,z)`.

These two *groups* of operations may be isomorphic to each other, i.e., they are just expressed in two different coordinate systems.
But the problem is how to check they are isomorphic, and find the isomorphism (the transformation between the two set of coordinate systems)?
Because `CrystalFormer` works under the coordinate system given by https://www.cryst.ehu.es/, so we need to perform the transformation so that `CrystalFormer` *recognizes* the output of `spglib`.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.