Skip to content

Commit e98e106

Browse files
PeaBraneclaude
andcommitted
add SimConfig, free CMR clock assignment, top-4 cluster collection
Replace 11+ bare args on run_sweep_loop with a single &SimConfig backed by typed enums and validator-based cross-field checks. New features: - Free CMR overlap update: independently flip each replica (SW) or pick uniformly from {flip_a, flip_b, flip_both} (Wolff) instead of swapping σ^a ↔ σ^b. Validated to require houdayer_mode=cmr. - Top-4 cluster sizes: opt-in collection of average relative sizes of the 4 largest overlap clusters per temperature. Split spin glass Binder tests into tests/spin_glass_crossings.py so CI can run ferromagnet and spin glass suites in parallel. Signed-off-by: PeaBrane <peabrane@users.noreply.github.com> Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 2d29ad2 commit e98e106

File tree

13 files changed

+1128
-176
lines changed

13 files changed

+1128
-176
lines changed

.github/workflows/ci.yml

Lines changed: 27 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ jobs:
3131
- run: cargo clippy -- -D warnings
3232
- run: cargo test
3333

34-
test-python:
34+
test-ferromagnets:
3535
runs-on: ubuntu-latest
3636
steps:
3737
- uses: actions/checkout@v4
@@ -53,5 +53,30 @@ jobs:
5353
uv pip install maturin numpy matplotlib
5454
maturin develop --release
5555
56-
- name: Binder crossings
56+
- name: Binder crossings (ferromagnets)
5757
run: source .venv/bin/activate && cd tests && python binder_crossings.py
58+
59+
test-spin-glass:
60+
runs-on: ubuntu-latest
61+
steps:
62+
- uses: actions/checkout@v4
63+
64+
- uses: actions/setup-python@v5
65+
with:
66+
python-version: "3.13"
67+
68+
- name: Install uv
69+
uses: astral-sh/setup-uv@v5
70+
71+
- name: Rust cache
72+
uses: Swatinem/rust-cache@v2
73+
74+
- name: Build and install
75+
run: |
76+
uv venv .venv
77+
source .venv/bin/activate
78+
uv pip install maturin numpy matplotlib
79+
maturin develop --release
80+
81+
- name: Binder crossings (spin glass)
82+
run: source .venv/bin/activate && cd tests && python spin_glass_crossings.py

0 commit comments

Comments
 (0)