Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Track spacegroup setting #325

Open
wants to merge 18 commits into
base: main
Choose a base branch
from
Open

Track spacegroup setting #325

wants to merge 18 commits into from

Conversation

kbarros
Copy link
Member

@kbarros kbarros commented Oct 10, 2024

Keep track of the affine transformation data $(P, p)$ that defines the spacegroup setting. This transformation can be used to map basis vectors $(a, b, c)$ in any custom setting to the "standard" ITA setting via: $[a_s b_s c_s] = [a \, b \, c] P^{-1} $. It can also be used to map positions in a custom setting coordinates $x$ to standard setting coordinates via: $x_s = P x + p$.

With this setting information, it becomes possible to look up Wyckoffs on the fly, using tables that have been pretabulated for the ITA standard spacegroup settings. It also becomes possible to make use of other packages, such as Brillouin.jl, that require basis vectors in a standard setting.

Fixes #44.

@kbarros
Copy link
Member Author

kbarros commented Oct 26, 2024

This PR also changes the Crystal constructor to employ the ITA standard setting by default. This means that in most cases the user will only need to provide the a space group number. The setting option gets renamed choice for consistency with spglib, but in most cases it will no longer be needed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Sometimes site symmetry can't be inferred
1 participant