Open
Conversation
Add a new StateTracker that builds a histogram of energy changes per
event, binned to a configurable precision (default 1e-6). This is useful
for analyzing the distribution of energy changes in simulations.
Replace the simple TrackingType enum with a richer TrackingConfig enum
that carries per-variant configuration (e.g., bin_width for
EnergyChanges). This avoids polluting TileSet with per-tracker fields.
TrackingConfig supports custom serde (string or map) and FromPyObject
(str or dict) for backward-compatible Python usage:
tracking="movie"
tracking={"type": "energychanges", "bin_width": 0.01}
Also adds energy_histogram() method on State for lightweight access
to the histogram data without requiring polars, and adds polars to
test dependencies.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Test that the EnergyChangesTracker correctly captures the distribution of energy changes during simulation. For each test, extract per-bond- count attach/detach events and verify: - Growth: net two-bond attachments account for most tile gain - Melt: net two-bond detachments account for most tile loss - Equilibrium: two-bond and one-bond attach/detach are roughly equal - All cases: three/four-bond events are rare vs two-bond Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #38 +/- ##
===========================================
- Coverage 60.57% 42.51% -18.06%
===========================================
Files 35 31 -4
Lines 15574 13785 -1789
===========================================
- Hits 9434 5861 -3573
- Misses 6140 7924 +1784 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
The testing dependency group in pyproject.toml includes polars (needed by the new energy tracking tests), but CI was hardcoding a subset of test deps. Use `uv pip install --group testing` instead. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Allow passing CriticalStateConfig fields as keyword arguments directly to find_first/last_critical_state. Export CriticalStateConfig and CriticalStateResult from rgrow package. Fix type stubs to use concrete class names instead of Self. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The Rust implementation is commented out, so these stub entries were misleading. Remove them from all model classes (ATAM, SDC, KTAM, OldKTAM, KBlock). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…arch Add `parallel: bool` to CriticalStateConfig and calc_committor_threshold_test, defaulting to true. When false, runs committor trials sequentially with a single state. Also change evolve_states and related methods from &mut self to &self since evolve only requires &self. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
These methods only call &self methods on the system (evolve, evolve_states, calc_dimers, etc.) and never mutate it. Changed to &self/&S in: - analysis.rs: calc_committor, calc_forward_probability - dispatch.rs: DynSystem trait and impl for run_ffs, run_rbffs, calc_committor, calc_forward_probability - ffs.rs: FFSRun::create, FFSLevel::next_level, nmers_from_dimers, FFSRunResult::run_from_system - rbffs.rs: RBFFSResult::run_from_system, run_rbffs - python.rs: get_param, calc_mismatch_locations, py_calc_committor, py_calc_forward_probability, py_run_ffs, py_calc_committor_threshold_test Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.