Skip to content

Add Phonopy mode projection with text spectra and per-mode fitting - #111

Draft
Tingliangstu wants to merge 2 commits into
codex/pysed-3.0-architecturefrom
codex/eigenvector-projection
Draft

Tingliangstu wants to merge 2 commits into
codex/pysed-3.0-architecturefrom
codex/eigenvector-projection

Conversation

@Tingliangstu

Copy link
Copy Markdown
Collaborator

What changed

  • Add eigenvector_file for Phonopy projection with the existing positive spatial phase, normalization, and CPU/GPU q batching.
  • Write plain-text <prefix>.SED_mode_N files under mode-resoved-SED/, sharing the existing axes.
  • Add mode_index and fit_all_modes for plotting/fitting, with separate text fit results and documentation.

What this improves

  • Resolves individual reference modes while retaining ordinary total/partial spectra. All modes are checked against the independently accumulated total before output.
  • Streams YAML by q point; checks q coverage, site mapping/periodic images, orientation, and eigenvector completeness.

Validation

  • Ba_Ga_Ge: 432,000 atoms, first 64 frames, 2 blocks, 66 path entries, 162 modes. Text sum error relative to peak total intensity: 7.984e-15; maximum pointwise relative error: 1.173e-14. Independent total-only run agrees exactly. This checks completeness, not converged lifetimes.
  • 13 new tests include complex single-mode isolation, reordered atoms/periodic images, CPU workers, GPU dispatch via a NumPy adapter, text roundtrip, and fitting.
  • Suite: 159 passed, 2 skipped; 2 Windows failures were reproduced on the unmodified base and deselected (CRLF byte offsets and native worker thread limits).
  • Actual CUDA hardware validation remains outstanding (CuPy unavailable). The 0.01 amu Ge mass mismatch is reported; original masses and data are unchanged.

Targets the existing 3.0 architecture branch. Local data and validation outputs are not committed.

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