Skip to content

Add Ti64 and diamond phonon benchmarks#391

Open
7radians wants to merge 6 commits intoddmms:mainfrom
7radians:phonons_ti_c
Open

Add Ti64 and diamond phonon benchmarks#391
7radians wants to merge 6 commits intoddmms:mainfrom
7radians:phonons_ti_c

Conversation

@7radians
Copy link

Pre-review checklist for PR author

Summary

This PR adds two new bulk-crystal phonon benchmarks with Dash app integration:

Ti-6Al-4V (Ti64) phonons (bulk_crystal/ti64_phonons)

  • Calc: Runs a CASTEP-referenced phonon suite across 10 Ti64 configurations (hcp/hex + bcc variants). For each model/case it relaxes the structure (LBFGS) then computes:
    • dispersion on a high-symmetry k-path,
    • DOS/PDOS on a dense mesh,
    • optional thermo/free-energy curves for a defined subset of cases.
      Raw outputs are written to outputs/<model>/ as <case>.npz + <case>.json.
  • Analysis: Produces per-model metrics.json plus:
    • ti64_phonons_metrics_table.json (Dash table)
    • ti64_phonons_interactive.json (interactive scatter)
      Metrics include dispersion RMSE (mean/max), ω_avg MAE, and ΔF per-atom at 0 K / 2000 K for TP-enabled cases.
  • App: Adds a Dash app that reuses shared callback builders to provide:
    • table → ω_avg scatter (ref vs pred),
    • scatter selection → rendered dispersion + DOS preview from calc artifacts.

Diamond phonons (bands-only) (bulk_crystal/diamond_phonons)

  • Calc: Computes phonopy force constants and band dispersions for diamond for each model and writes FORCE_CONSTANTS + band.yaml under outputs/<model>/. The phonon band path is taken directly from the DFT reference NPZ (dft_band.npz) so predictions match the exact reference q-path.
  • Analysis: Loads the DFT reference bands (cm⁻¹ → THz), loads each model’s band.yaml, sorts bands per q-point and reports Band MAE + Band RMSE (THz). Writes:
    • diamond_phonons_bands_table.json
    • diamond_phonons_bands_interactive.json
  • App: Adds a Dash app that shows metric scatter plots and a per-model dispersion preview panel rendered from band.yaml with optional DFT overlay (RSCAN).

Linked issue

Resolves #297

Progress

  • Calculations
  • Analysis
  • Application
  • Documentation

Testing

Tested both benchmarks on:

  • mace-mp-0a
  • mace-mp-0b3
  • mace-mpa-0
  • mace-omat-0
  • mace-matpes-r2scan
  • orb-v3-consv-inf-omat
  • pet-mad

New decorators/callbacks

  • No new callbacks/decorators required (reuses existing table/scatter decorators and shared callback builders).

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.

Add Ti64 and diamond phonon benchmarks

1 participant