Welcome to the Wave Simulator in Python repository! This project uses the Finite Difference Method to model wave propagation in various media.
This project simulates the Wave Equation, a fundamental second-order partial differential equation used to describe how waves propagate through different environments. The simulation helps visualize wave behavior in various scenarios, including interactions with obstacles like slits.
The Finite Difference Method (FDM) numerically solves differential equations by approximating derivatives with finite differences. In this project, it discretizes the spatial and temporal domains into a grid, converting the Wave Equation into algebraic equations. Using a second-order approximation for greater accuracy, the simulation iteratively updates grid values over time. This approach models wave propagation and visualizes how waves interact with obstacles, such as in the double-slit experiment, revealing detailed interference patterns.
- Simulation of the Wave Equation using Finite Differences.
- Visualization of wave interference patterns.
- Implementation of the double-slit experiment.
Check out the simulation videos below to see the wave patterns and interference effects in action:
simulation.mp4
simulation2.mp4
simulation3.mp4
simulation4.mp4
Feel free to contribute to this project! If you have suggestions, improvements, or fixes, please open an issue or submit a pull request.
Special thanks to Dr. Philip Mocz, Computational Physicist at Lawrence Livermore National Laboratory, for the article detailing the method used in this project.
Article: Create Your Own Finite Difference Wave Equation Simulation (With Python)
This project is licensed under the MIT License.