https://github.com/in-c0/quantum-wavefunction-simulation
This project simulates the behavior of quantum wavefunctions as they interact with various potential barriers and wells in one dimension. The core of the simulation is written in Fortran, solving the time-dependent Schrödinger equation. The results are visualized in Unity to explore quantum phenomena such as tunneling and interference.
https://github.com/in-c0/quantum-wavefunction-simulation
Last synced: 3 months ago
JSON representation
This project simulates the behavior of quantum wavefunctions as they interact with various potential barriers and wells in one dimension. The core of the simulation is written in Fortran, solving the time-dependent Schrödinger equation. The results are visualized in Unity to explore quantum phenomena such as tunneling and interference.
- Host: GitHub
- URL: https://github.com/in-c0/quantum-wavefunction-simulation
- Owner: in-c0
- License: mit
- Created: 2024-08-22T02:13:51.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2024-09-05T11:42:12.000Z (9 months ago)
- Last Synced: 2025-01-26T09:29:21.168Z (4 months ago)
- Language: Fortran
- Size: 543 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
⚠️As of 26/08/2024, the project is in WIP and may not be functioning as described
# Quantum Wavefunction Simulation in 1D PotentialsThis project simulates the behavior of quantum wavefunctions as they interact with various potential barriers and wells in one dimension. The core of the simulation is written in Fortran, solving the time-dependent Schrödinger equation. The results are visualized in a Unity application, allowing users to explore quantum phenomena such as tunneling and interference.
## TODO
- Parsing data into Unity in a correct format
- Error handling (e.g. NaN) implementation### Sources of Inspiration:
- https://www.youtube.com/watch?v=MXs_vkc8hpY
- https://www.falstad.com/mathphysics.html
- https://lab.quantumflytrap.com/lab?mode=waves## Table of Contents
- [Features](#features)
- [Installation](#installation)
- [Running the Simulation](#running-the-simulation)
- [Using the Unity Visualization](#using-the-unity-visualization)
- [Repository Structure](#repository-structure)
- [Contributing](#contributing)
- [License](#license)## Installation
Please refer to the [Installation Guide](Docs/Installation.md) for detailed setup instructions.
### Prerequisites
- **Fortran Compiler**: Ensure you have a Fortran compiler installed (e.g., GNU Fortran, Intel Fortran).
- **Unity**: Unity Hub and Unity Editor (version 2021.x or newer recommended).
- **Git**: For version control and project management.### Steps
1. **Clone the Repository**:
```bash
git clone https://github.com/in-c0/quantum-wave-simulation.git
cd quantum-wave-simulation
```2. **Build the Fortran Simulation**:
- Navigate to the `Fortran/src/` directory and compile the Fortran code:
```bash
cd Fortran/src/
gfortran -o ../build/simulation simulation.f90
```
- This will generate the simulation executable in the `Fortran/build/` directory.3. **Set Up Unity**:
- Open the Unity project located in the `Unity/` directory using Unity Hub.
- Unity should automatically load the project and resolve any dependencies.## Running the Simulation
### Running the Fortran Simulation
1. Navigate to the `Fortran/build/` directory.
2. Run the simulation with the following command:
```bash
./simulation
```
3. The output data will be saved in the `Fortran/data/` directory.### Using the Unity Visualization
1. After running the Fortran simulation, launch the Unity Editor.
2. In Unity, load the scene titled `QuantumWaveSimulation`.
3. Play the scene to visualize the wavefunction data.
4. Use the UI to adjust potential parameters and observe the changes in real-time.## Repository Structure
A quick overview of the key directories in this project:- **Fortran/**: Contains all Fortran-related code, including the solver for the Schrödinger equation.
- **Unity/**: Unity project files for visualizing the simulation results.
- **Docs/**: Documentation files, including a detailed project report and user guide.
- **AI/**: (Optional) Any machine learning scripts or models used to enhance the simulation.For more details, refer to the individual `README.md` files in each directory.
## Contributing
Contributions are welcome! If you'd like to improve the simulation, visualization, or add new features, feel free to fork the repository and submit a pull request.
### Guidelines
- Please make sure to update tests as appropriate.
- Ensure your code follows the existing style and structure of the project.
- Document any new features in the relevant markdown files.## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.