Giter VIP home page Giter VIP logo

quantum_monte_carlo's Introduction

Double Slit Interference Pattern Simulation

https://interactive-quantum-monte-carlo.onrender.com/

This project simulates the interference pattern observed in a double slit experiment using the Monte Carlo method. The simulation is implemented in Python and provides an interactive visualization using Plotly and Dash.

Description

The double slit experiment demonstrates the wave-particle duality of particles such as electrons. When particles pass through two slits, they create an interference pattern on a screen, characteristic of wave behavior. This project aims to numerically simulate this interference pattern using the Monte Carlo method.

Problem Statement

The goal is to simulate the interference pattern produced by a double slit experiment. Traditional analytical methods are complex and limited in handling large-scale simulations. A numerical approach using the Monte Carlo method provides a flexible and scalable solution.

Numerical Technique

The Monte Carlo method is a statistical technique that uses random sampling to solve numerical problems. It is suitable for this simulation because:

•	It efficiently handles a large number of particles.
•	Its stochastic nature mimics the randomness observed in quantum experiments.
•	It is flexible and can be adapted to different scenarios and complexities.

Diffraction Function

The function calculates the probability distribution of particle positions using the interference pattern formula:

$P(x) \propto \left( \cos \left( \frac{\pi d x}{\lambda l} \right) \right)^2 $

Monte Carlo Simulation

•	Random Sampling: Generate random x positions for particles passing through the slits.
•	Probability Calculation: Use the diffraction function to calculate the probability of each position.
•	Acceptance-Rejection: Accept or reject positions based on calculated probabilities to simulate the actual distribution on the screen.

Visualization

The project uses Plotly and Dash to create interactive plots for real-time parameter adjustments and visualization. The outputs include:

•	Scatter Plot: Displays individual particle positions.
•	Histogram: Shows the distribution of particle positions.
•	Theoretical Model Overlay: Compares simulated data with theoretical predictions.

quantum_monte_carlo's People

Contributors

steenos avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.