Skip to content

Support explicit disconnected q paths in pySED 3.0 - #101

Merged
Tingliangstu merged 2 commits into
codex/pysed-3.0-architecturefrom
codex/discontinuous-q-paths
Nov 4, 2026
Merged

Tingliangstu merged 2 commits into
codex/pysed-3.0-architecturefrom
codex/discontinuous-q-paths

Conversation

@Tingliangstu

@Tingliangstu Tingliangstu commented Nov 3, 2026 •

Copy link
Copy Markdown
Collaborator

Change

Support explicit disconnected paths with q_path_name = GXU|KGL (quotes optional) and num_qpaths = 4. This computes Gamma-X-U and K-Gamma-L, without generating the unintended U-K segment. | specifies connectivity, not degeneracy or symmetry equivalence.

  • Preserve each sampled segment's column range in .Q_distances_and_labels and render segments independently for total and partial SED. Existing files without this metadata remain readable.

  • Use requested Cartesian path lengths for distances and labels; report unsampled endpoints and retain empty segments as gaps rather than silently converting them into breaks.

  • Update the Si input, its path instructions, the input template, and manual. Recalculation is required after changing path connectivity.

  • Print the full path and explicit terminal break notices, e.g. Path break : U|K (no connecting segment), between path groups.

Benefit

The Si path definition now stays the same for 20, 40, and 41 repeats. Previously, U-K disappeared only when no commensurate points existed on that segment; 40 repeats produced an unintended connecting segment. Saved topology also prevents plotting from interpolating between distinct endpoints at a break.

Related to #36. This addresses the identified path-definition issue; it does not claim a rerun of the original reported MD trajectory.

Validation

  • WSL existing pysed environment: full suite 123 passed, 344 subtests passed, including CuPy/GPU tests.

  • Windows focused parser/path/output/plot/CLI suite: 54 passed.

  • Windows full suite: 120 passed, 1 skipped, 2 failed. Both failures reproduce on unchanged base 1e99ed9: text-file CRLF byte-offset assertion and persistent-worker native thread-limit assertion. No unrelated fixes included.

  • Strict Sphinx HTML build (-W --keep-going): passed.

  • Visually inspected saved/reloaded synthetic spectra for 20, 40, and 41 repeats. Deliberately unequal peaks on either side of U|K stay disconnected; missing commensurate endpoints remain unfilled. Regression tests also cover partial SED, multiple breaks, malformed inputs, empty and single-point segments, and historical output loading.

  • Terminal-output follow-up: 15 path tests passed; directly checked the break position, multiple breaks, continuous paths, and quiet mode.

@Tingliangstu
Tingliangstu merged commit dba70da into codex/pysed-3.0-architecture Nov 4, 2026
10 of 16 checks passed
@Tingliangstu
Tingliangstu deleted the codex/discontinuous-q-paths branch November 6, 2026 06:36
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