Skip to content

Disorder builder#1410

Open
ColinBundschu wants to merge 10 commits intomaterialsproject:new-buildersfrom
ColinBundschu:new-builders
Open

Disorder builder#1410
ColinBundschu wants to merge 10 commits intomaterialsproject:new-buildersfrom
ColinBundschu:new-builders

Conversation

@ColinBundschu
Copy link
Copy Markdown
Contributor

This is for the disordered materials builder

@ColinBundschu ColinBundschu changed the title WIP disorder builder first pass Disorder builder Apr 3, 2026
Comment thread emmet-core/emmet/core/disorder.py Outdated
Comment thread emmet-core/emmet/core/disorder.py Outdated
Comment thread emmet-core/emmet/core/disorder.py Outdated
Comment thread emmet-builders/emmet/builders/disorder/disorder.py Outdated
Comment thread emmet-builders/emmet/builders/disorder/disorder.py Outdated
Comment thread emmet-builders/emmet/builders/disorder/disorder.py Outdated
Comment thread emmet-builders/emmet/builders/disorder/disorder.py Outdated
Comment thread emmet-builders/emmet/builders/disorder/infinite_wang_landau.py Outdated
Comment thread emmet-builders/emmet/builders/disorder/prototype_spec.py Outdated
Comment thread emmet-builders/pyproject.toml Outdated
@esoteric-ephemera
Copy link
Copy Markdown
Collaborator

Thanks! Skimmed through mostly looking for structural stuff, will take a deeper look later

Maybe a major question for you: Do you see a benefit to moving some of the Wang-Landau code to pymatgen / ase for others to use?

@ColinBundschu ColinBundschu marked this pull request as ready for review April 7, 2026 17:57
Copilot AI review requested due to automatic review settings April 7, 2026 17:57
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR introduces a “disorder” workflow across emmet-core and emmet-builders, adding schemas and builder-side drivers to train a cluster expansion on disordered tasks and run Wang–Landau sampling to produce an aggregated DisorderDoc.

Changes:

  • Add new disorder-related core models (DisorderDoc, DisorderedTaskDoc, CE/WL submodels) and a ULID dependency.
  • Add a new disorder builder pipeline (prototype specification, random config generation, CE training, WL kernel + sampling driver, and the build_disorder_doc entrypoint).
  • Add optional disorder extras in emmet-builders for required third-party packages.

Reviewed changes

Copilot reviewed 11 out of 12 changed files in this pull request and generated 8 comments.

Show a summary per file
File Description
emmet-core/pyproject.toml Adds python-ulid dependency for disorder task IDs.
emmet-core/emmet/core/disorder.py Defines disorder task/property schemas and JSON parsing updates.
emmet-builders/pyproject.toml Adds optional disorder dependency group for CE/WL tooling.
emmet-builders/emmet/builders/disorder/disorder.py Implements the functional builder to generate DisorderDoc from DisorderedTaskDocs.
emmet-builders/emmet/builders/disorder/train_ce.py Adds CE training driver + metrics assembly.
emmet-builders/emmet/builders/disorder/wl_sampling.py Adds WL block sampling driver that interfaces with the custom kernel.
emmet-builders/emmet/builders/disorder/infinite_wang_landau.py Adds the infinite-window WL kernel implementation + checkpointing.
emmet-builders/emmet/builders/disorder/prototype_spec.py Adds prototype parsing/building utilities for disorder workflows.
emmet-builders/emmet/builders/disorder/random_configs.py Adds random supercell snapshot generator from integer composition maps.
emmet-builders/emmet/builders/disorder/mixture.py Adds composition-map canonicalization and sublattice extraction helpers.
emmet-builders/emmet/builders/disorder/design_metrics.py Adds design-matrix diagnostics used during CE training.
emmet-builders/emmet/builders/disorder/init.py Introduces the disorder builder package namespace.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread emmet-core/emmet/core/disorder.py
Comment thread emmet-core/emmet/core/disorder.py
Comment thread emmet-builders/emmet/builders/disorder/train_ce.py
Comment thread emmet-builders/emmet/builders/disorder/disorder.py
Comment thread emmet-builders/emmet/builders/disorder/disorder.py Outdated
Comment thread emmet-builders/emmet/builders/disorder/disorder.py Outdated
Comment thread emmet-builders/emmet/builders/disorder/disorder.py
Comment thread emmet-builders/emmet/builders/disorder/random_configs.py
ColinBundschu and others added 3 commits April 7, 2026 11:54
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
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.

3 participants