All notable changes to libcasm-monte will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Update libcasm-global dependency to
>=2.3.0,<3 - Update libcasm-xtal dependency to
>=3.0a1,<4 - Update libcasm-composition dependency to
>=2.2.0,<3
- Build for Python 3.14
- Stop building for Python 3.9
- Restrict requires-python to ">=3.10,<3.15"
- Restrict
libcasm-xtaldependency to>=2.2.0,<3
- Set pybind11~=3.0
- Build Linux wheels using manylinux_2_28 (previously manylinux2014)
- Removed Cirrus CI testing
- Build for Python 3.13
- Restrict requires-python to ">=3.9,<3.14"
- Run CI tests using Python 3.13
- Build MacOS arm64 wheels using MacOS 15
- Build Linux wheels using Ubuntu 24.04
- Changed all random number engine type to default to the value set for the typedef
monte::default_engine_type. The default engine is stillstd::mt19937_64.
- Added
AtomInfoandAtomInfoMaptolibcasm.monte.events. - Added more informative error messages for continuous 1d histogram functions that give a bad partition or infinite value
- Fixed documentation and binding errors in
libcasm.monte.eventsandlibcasm.monte.sampling.
- Fixed error parsing SelectedEventFunctionParams from JSON.
- Fixed error merging log space Histogram1D which resulted in infinite loops.
- Added
SamplingParams.json_sampler_names,SamplingParams.append_to_sampler_names,SamplingParams.remove_from_sampler_names,SamplingParams.extend_sampler_names,SamplingParams.append_to_json_sampler_names,SamplingParams.remove_from_json_sampler_names, andSamplingParams.extend_json_sampler_names. - Added
jsonSamplerandjsonSamplerMaptolibcasm.monte.sampling. - Added selected event data sampling methods to
libcasm.monte.sampling. - Added memory usage to results.
- Changed
SamplingFixture::initializeto copy sampling functions from the SamplingFixtureParams object so functions that sample changes do not need to check if a new run has begun.
- Fixed Conversions constructor to differentiate sublattices by symmetry and order of occupants. Documentation has been updated to reflect that the
asymunit index used by Conversions, Mol, OccTransform, OccCandidate, OccCandidateList, etc. indicates sites that are equivalent by symmetry and order of occupants.
- Added to_json for CompletionCheckParams, SamplingFixtureParams, SamplingParams, jsonResultsIO
- Added "json_quantities" option to SamplingParams
- Added Conversions::species_list()
- Use shared_ptr to hold sampling fixtures in RunManager
- Output scalar quantities under "value" key in JSON results output
- Allow MethodLog to output to stdout
- Allow constructing libcasm.monte.ValueMap from dict
The libcasm-monte package provides useful building blocks for Monte Carlo simulations. This includes:
- Sampling classes and functions
- Equilibration, convergence checking, and statistics calculation
- Generic results IO
- Supercell index conversions
- Generic event definitions, construction, and selection
This package includes the Python package libcasm.monte, which may be installed via pip install, using scikit-build, CMake, and pybind11. This release also includes documentation, built using Sphinx.