quansino is a Python framework for running Monte Carlo simulations on atomic systems, designed to be modular and work with popular quantum chemistry codes/forcefields. The package offer a flexible interface to build custom algorithms, and is designed to be modular and extensible. It is built to work with the Atomic Simulation Environment (ASE) Atoms object.
-
Perform simulations in various ensemble; (grand-)canonical, isobaric, more will be added in the future.
-
The framework allows to design custom simulation algorithms by providing explicit interfaces for each step of the simulation, such as:
-
Moves: Moves are the core of the simulation, allowing for the modification of atomic configurations. The framework supports a wide range of move types, including:
- Displacement Moves: Moves that displace atoms in the simulation box.
- Cell Moves: Moves that change the simulation box size or shape.
- Exchange Moves: Moves that add/remove atoms from the simulation box.
-
Contexts: Hold the state of the simulation, such as temperature, pressure, and chemical potential.
-
Criteria: Criteria objects are used to determine the acceptance of moves based on energy changes.
-
-
The code makes use of Python's type hints and duck typing to ensure that the code is modular and extensible. Along with an extensive documentation, this makes it easy to understand and extend the codebase.
The full documentation can be found here, and includes detailed instructions about:
- 🔧 Installation
- 📖 Overview
- 💡 Examples
If you use quansino in your research, please cite the following repository: https://doi.org/10.5281/zenodo.14854001
This project is licensed under the terms of the BSD 3-Clause license.
