This project implements Markov Chain Monte Carlo (MCMC) methods to simulate and study systems in solid-state physics using statistical physics principles. The project focuses on modeling and analyzing the behavior of physical systems, such as the Ising model, and provides tools to integrate machine learning algorithms for extracting insights from simulation data.
The project is designed to:
- Simulate physical phenomena using Monte Carlo methods.
- Model systems like the Ising model on a lattice to study magnetism and phase transitions.
- Visualize lattice configurations and statistical quantities like magnetization and energy in Python.
- Provide a flexible platform for extending simulations with machine learning algorithms for predictive and exploratory analysis.
- C++ Backend: Computationally efficient implementation of simulation algorithms for lattice models.
- Python Integration: Use
pybind11
to expose C++ functionality for Python users. - Visualization: Easy-to-use tools in Python for visualizing lattice configurations and statistical properties.
- Future Machine Learning Integration: Framework for training models on simulation results.
-
Simulate Physical Systems:
- Implement MCMC algorithms for models like the Ising model to explore phase transitions, magnetization, and energy fluctuations.
- Support for lattice-based statistical physics models.
-
Machine Learning for Physics (Planned):
- Train models to learn properties of physical systems from simulation data.
- Predict behaviors like critical temperatures or classify phases of matter.
-
Visualization:
- Visualize lattice configurations (e.g., spin alignment in the Ising model).
- Plot statistical quantities (e.g., magnetization vs. temperature).
- C++ Compiler:
- GCC, Clang, or MSVC with support for C++17 or higher.
- CMake (3.14 or higher)
- Python (3.8 or higher)
- Required Python libraries:
matplotlib
,numpy
,pybind11
.
- Clone the repository:
git clone https://github.com/yourusername/mcmc-solid-state.git cd mcmc-solid-state
- Configure and build the project:
mkdir build cd build cmake .. -DPYTHON_EXECUTABLE=$(which python3) cmake --build .
- Install dependencies for Python and my C++ compiled library (root directory)
pip install -r requirements.txt pip install -e .