Welcome to the Quantum Tunneling Simulation project! This repository contains a hybrid quantum-classical simulation built using Q# (for quantum simulation) and C# (as the host program). The simulation models the dynamics of a quantum particle encountering a potential barrier and demonstrates the phenomenon of quantum tunneling.
- Overview
- Features
- Project Structure
- Requirements
- Installation
- Usage
- Visualization
- Contributing
- License
- Acknowledgements
Quantum tunneling is a nonclassical phenomenon where a particle penetrates a potential barrier even when its energy is lower than the barrier height. This project simulates this effect by numerically solving a simplified version of the time-dependent Schrödinger equation. The Q# component performs the simulation and returns the probability distribution of the particle’s position, while the C# host orchestrates the simulation and displays a visualization using OxyPlot.
-
Quantum Simulation:
Simulates the time evolution of a quantum state encountering a potential barrier. -
Parameter Control:
Parameters such as evolution time, number of time steps, barrier height, and barrier width can be adjusted. -
Visualization:
Uses OxyPlot within a Windows Forms application to plot the probability density along the spatial grid. (future addition) -
Extensibility:
Modular code structure allows for further enhancements such as decoherence modeling, parameter sweeps, and resonant tunneling simulations.
QuantumTunneling/
├── QSharp/
│ └── TunnelingSimulation.qs # Q# operations for the simulation
├── CSharp/
│ └── Program.cs # C# host program integrating with Q#
├── README.md # This file
└── QuantumTunneling.sln # Visual Studio solution file
- .NET SDK (version 5.0 or later)
- Visual Studio Code or Visual Studio
- Microsoft Quantum Development Kit
- OxyPlot NuGet package (e.g., OxyPlot.WindowsForms) for visualization (future addition)
-
Clone the Repository:
git clone https://github.com/ChadBrewer/quantumtunneling.git cd quantumtunneling -
Restore NuGet Packages:
In the solution directory, run:
dotnet restore
-
Open the Project:
Open the folder in Visual Studio Code or your preferred IDE.
-
Build the Project:
Use your IDE or run the following command in the solution directory:
dotnet build
-
Run the Simulation:
Launch the C# host program by executing:
dotnet run --project CSharp
This will start the simulation and open a Windows Forms window with the visualization of the probability density.
-
Adjust Parameters:
Modify the simulation parameters (evolution time, time steps, barrier height, and barrier width) in the C# code or pass them as arguments (if you implement such functionality) to observe different tunneling behavior.
Contributions are welcome! If you have ideas for additional features (e.g., decoherence modeling, parameter sweeps, double-barrier resonant tunneling), feel free to fork the repository and submit pull requests. Please follow the standard GitHub workflow and ensure your code is well-documented.
NONE, DO AS YOU PLEASE!
- Microsoft Quantum Development Kit
- OxyPlot
- Inspirations from quantum mechanics and tunneling research
---
Feel free to modify or extend this README document as needed for your project. Simply save the content as `README.md` in your repository’s root folder, commit the changes, and push to GitHub.