kups.mcmc
¶
Monte Carlo simulation components for canonical and grand canonical ensembles.
This package provides Monte Carlo move proposals and acceptance criteria for NVT (canonical) and µVT (grand canonical) ensemble simulations. All components are designed for use with MCMCPropagator and support batched parallel systems.
Module Organization¶
- moves: MC move proposals (translations, rotations, insertions/deletions)
- probability: Acceptance criteria (Boltzmann, fugacity, combined µVT)
- fugacity: Equation of state calculations for real gas mixtures
Typical Usage¶
from kups.mcmc.moves import ParticleTranslationMove, ExchangeMove
from kups.mcmc.probability import BoltzmannLogProbabilityRatio, MuVTLogProbabilityRatio
from kups.core.propagator import MCMCPropagator, compose_propagators
# NVT simulation
translation_move = ParticleTranslationMove(...)
boltzmann_ratio = BoltzmannLogProbabilityRatio(...)
nvt_propagator = MCMCPropagator(
proposal_fn=translation_move,
log_probability_ratio_fn=boltzmann_ratio
)
# GCMC simulation
exchange_move = ExchangeMove(...)
muvt_ratio = MuVTLogProbabilityRatio(...)
gcmc_propagator = MCMCPropagator(
proposal_fn=exchange_move,
log_probability_ratio_fn=muvt_ratio
)
# Combine moves
combined = compose_propagators(nvt_propagator, gcmc_propagator)
See individual module documentation for detailed APIs.