pub fn run_sweep_loop(
lattice: &Lattice,
real: &mut Realization,
n_replicas: usize,
n_temps: usize,
n_sweeps: usize,
warmup_sweeps: usize,
sweep_mode: &str,
cluster_update_interval: Option<usize>,
cluster_mode: &str,
pt_interval: Option<usize>,
houdayer_interval: Option<usize>,
on_sweep: &(dyn Fn() + Sync),
) -> SweepResultExpand description
Run the full Monte Carlo loop (warmup + measurement) for one Realization.
Each sweep consists of:
- A full single-spin pass (
sweep_mode:"metropolis"or"gibbs") - An optional cluster update (
cluster_mode:"wolff"or"sw", everycluster_update_intervalsweeps) - Measurement (after
warmup_sweeps) - Optional Houdayer ICM (every
houdayer_intervalsweeps, requiresn_replicas ≥ 2) - Optional parallel tempering (every
pt_intervalsweeps)
on_sweep is called once per sweep (useful for progress bars).