Skip to content

Symmetry, spacegroup, Wyckoff and fitting of symmetry-preserving and equivalent atoms#64

Merged
tifuchs merged 10 commits into
masterfrom
symmetry
Jul 12, 2026
Merged

Symmetry, spacegroup, Wyckoff and fitting of symmetry-preserving and equivalent atoms#64
tifuchs merged 10 commits into
masterfrom
symmetry

Conversation

@tifuchs

@tifuchs tifuchs commented Jul 9, 2026

Copy link
Copy Markdown
Owner

Summary

This PR adds Wyckoff symmetry support to the CTR stack. It introduces symmetry metadata for surface UnitCell objects, PyXtal-backed symmetry construction from parent structures, symmetry-aware Wyckoff fit parameters, and persistence of resolved symmetry metadata in .xtal / .xpr text output.

The structure-factor calculation path remains based on ordinary UnitCell.basis atom coordinates; symmetry is used for construction, queries, fitting helpers, and file round-tripping.

Main Changes

  • Add new CTRsymmetry module for:

    • surface-cell specifications
    • Wyckoff site and coupling metadata
    • PyXtal-backed symmetry assignment
    • surface unit-cell generation from parent structures
    • rutile 110 surface helper
    • symmetry metadata serialization/deserialization
  • Extend UnitCell with:

    • wyckoff_sites()
    • wyckoff_couplings()
    • wyckoff_site_couplings()
    • atom_wyckoff_metadata()
    • addWyckoffParameter(s)
    • addWyckoffShift(s)
    • symmetry-aware layered transforms and supercells
    • .xtal / .xpr persistence of symmetry metadata
  • Add Wyckoff helper forwarding for:

    • Film
    • PoissonSurface
    • EpitaxyInterface
    • SXRDCrystal coupled parameters across components
  • Add optional dependency extra:

    • symmetry = ['pyxtal']
    • included in full and full-devel
  • Add documentation:

    • doc/source/wyckoff_fitting.rst
    • linked from the API docs
  • Add regression coverage for:

    • PyXtal Wyckoff assignment
    • rutile 110 surface generation
    • Wyckoff variable fitting
    • representative-site shifts
    • metadata round-tripping
    • supercells
    • layered affine transforms
    • coupled crystal/interface Wyckoff parameters

@tifuchs

tifuchs commented Jul 9, 2026

Copy link
Copy Markdown
Owner Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: ea76c7f7e6

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread orgui/datautils/xrayutils/CTRsymmetry.py
Comment thread orgui/datautils/xrayutils/CTRuc.py Outdated
Comment thread orgui/datautils/xrayutils/CTRuc.py Outdated
@tifuchs

tifuchs commented Jul 9, 2026

Copy link
Copy Markdown
Owner Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 3446de66f1

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread orgui/datautils/xrayutils/CTRuc.py
Comment thread orgui/datautils/xrayutils/CTRuc.py
tifuchs added 2 commits July 9, 2026 20:37
Persist parent lattice parameters in Wyckoff symmetry metadata,
round-trip them through UnitCell parsing, and consolidate the new
symmetry/layer helper paths without changing fitted behavior.
@tifuchs

tifuchs commented Jul 11, 2026

Copy link
Copy Markdown
Owner Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: adc09f3725

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread orgui/datautils/xrayutils/CTRsymmetry.py Outdated
@tifuchs tifuchs merged commit 528ab67 into master Jul 12, 2026
4 checks passed
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.

1 participant