Inspiration

This project was inspired upon talking with some graduate students and learning about their work. Monte Carlo simulations in general are a very powerful tool to help study randomness and we were inspired to learn more about their applications to condensed matter physics.

What it does

We start off by considering a random spin configuration at each point in the lattice. Then we make multiple sweeps and in each sweep we attempt to decrease the energy of the system and stabilize it probabilistically depending on how much the energy decreases by. After making preforming multiple Monte Carlo sweeps, we calculate different physical quantities such as magnetization and see what the finals spin structure looks like.

How we built it

This was built in Python using Numpy and Matplot lib.

Challenges we ran into

NUMPY SUCKS! But on a more serious note, setting up the periodic structure for lattices and creating a very general framework for finding the stable energy configuration for any Hamiltonian specified by the user. Additionally, a lack of computational power would have made things a little easier.

Accomplishments that we're proud of

Pretty plots. Like seriously they're pretty!

What we learned

We learned about how Metropolis–Hastings Algorithm for work Monte Carlo simulations works and how to implement it in practice as well as some of the theoretical foundations of condensed matter physics.

What's next for Montecarlo Simulation in Spin Systems

We hope to analyze the how physical quantities such as specific heat capacity, magnetization, etc. change and see some phase transitions. In addition, we will also look at more complicated interactions and Hamiltonians which can describe exotic physics like topological spin textures.

Built With

Share this project:

Updates