All Projects → marl0ny → QM-Simulator-2D

marl0ny / QM-Simulator-2D

Licence: BSD-2-Clause license
Interactive simulation of a quantum particle in 2D.

Programming Languages

javascript
184084 projects - #8 most used programming language
GLSL
2045 projects
HTML
75241 projects
python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to QM-Simulator-2D

Interlin-q
A Quantum Interconnect Simulator for Distributed Quantum Algorithms
Stars: ✭ 32 (+88.24%)
Mutual labels:  quantum
libra-code
quantum-dynamics-hub.github.io/libra/index.html
Stars: ✭ 33 (+94.12%)
Mutual labels:  quantum
emperor-os
(new released v2.5 LTS.2022-06-25) It has focused on developing an All in One operating system for programming, designing and data science.Emperor-OS has over 500 apps and important tools
Stars: ✭ 32 (+88.24%)
Mutual labels:  quantum
cas
Cellular Automata Simulator
Stars: ✭ 22 (+29.41%)
Mutual labels:  quantum
iqsharp
Microsoft's IQ# Server.
Stars: ✭ 112 (+558.82%)
Mutual labels:  quantum
8Q
General Purpose 8 Qubit Optical Quantum Computer
Stars: ✭ 55 (+223.53%)
Mutual labels:  quantum
QuantumResources
A collection of resources for Quantum Computing
Stars: ✭ 43 (+152.94%)
Mutual labels:  quantum
NeuralQuantum.jl
Neural-Network representation of Quantum Systems
Stars: ✭ 33 (+94.12%)
Mutual labels:  quantum
SchrodingerWellPython
2D 3D Time independent FDM Schrodinger equation solver for arbitrary shape of well
Stars: ✭ 21 (+23.53%)
Mutual labels:  quantum
Quantum-Computer-Simulator-with-Algorithms
C++ simulator of quantum registers and quantum algorithms
Stars: ✭ 15 (-11.76%)
Mutual labels:  quantum
quantum-journal
LaTeX template class for Quantum - the open journal for quantum science
Stars: ✭ 73 (+329.41%)
Mutual labels:  quantum
unitaryhack
Rules and information for the 2021 unitaryHACK event hosted by @unitaryfund
Stars: ✭ 16 (-5.88%)
Mutual labels:  quantum
prune-horst
Signature scheme submitted to NIST's Post-Quantum Cryptography Project
Stars: ✭ 23 (+35.29%)
Mutual labels:  quantum
qcl
Quantum Computation Language port from http://tph.tuwien.ac.at/~oemer/qcl.html
Stars: ✭ 29 (+70.59%)
Mutual labels:  quantum
gravity-sphincs
Signature scheme submitted to NIST's Post-Quantum Cryptography Project
Stars: ✭ 67 (+294.12%)
Mutual labels:  quantum
Schroedinger
A Schroedinger Equation solver in C++, with flexible basis definition
Stars: ✭ 31 (+82.35%)
Mutual labels:  quantum
Quantum-Computing-Resources
This repository contains the best resources for learning practical quantum computing. This repository will be updated frequently.
Stars: ✭ 60 (+252.94%)
Mutual labels:  quantum
IonSim.jl
a simple tool for simulating trapped ion systems
Stars: ✭ 46 (+170.59%)
Mutual labels:  quantum
qp2
Quantum Package : a programming environment for wave function methods
Stars: ✭ 37 (+117.65%)
Mutual labels:  quantum
TrulyQuantumChess
A game of truly quantum chess, with interference, entanglement, etc.
Stars: ✭ 77 (+352.94%)
Mutual labels:  quantum

Quantum Mechanics in 2D

This WebGL program simulates the quantum mechanics of a single particle confined in a 2D box, where inside this box the user can create new potential barriers and scatter Gaussian wavepackets off them. The full instructions are found here.

The simulation uses an integration method described in page 690 of An Introduction to Computer Simulation Methods by H. Gould et al (which references an article by P. Visscher). This method involves splitting the complex-valued wavefunction into its real and imaginary components, where each component is updated separately for each time step.

Two other integration methods are also currently under development: Crank-Nicolson and the Split-Operator method, which are located on a separate branch. Note that this branch is not included in Github Pages, so you will need to download or pull from it separately.

Also provided is a (work in progress) simulation of a 2D relativistic quantum particle using the Dirac equation. The Dirac equation is numerically solved by updating each of the two two-component spinors separately at staggered time and spatial steps. This method is found in an article by R. Hammer and W. Pötz.

APIs and Frameworks Used

References

  • Gould, H., Tobochnik J., Christian W. (2007). Quantum Systems. In An Introduction to Computer Simulation Methods, chapter 16. Pearson Addison-Wesley.

  • Visscher, P. (1991). A fast explicit algorithm for the time‐dependent Schrödinger equation. Computers in Physics, 5, 596-598. https://doi.org/10.1063/1.168415

  • Schroeder D. Quantum Scattering in Two Dimensions.

Crank-Nicolson Method:

  • Wikipedia contributors. (2021, October 6). Crank-Nicolson method. In Wikipedia, The Free Encyclopedia.

  • Wikipedia contributors. (2021, August 1). Jacobi method. In Wikipedia, The Free Encyclopedia.

  • Sadovskyy I., Koshelev A., Phillips C., Karpeyev D., Glatz A. (2015). Stable large-scale solver for Ginzburg-Landau equations for superconductors. Journal of Computational Physics 294, 639-654. https://doi.org/10.1016/j.jcp.2015.04.002

Split-Step:

Dirac Equation:

  • Wikipedia contributors. (2021, June 16). Dirac equation. In Wikipedia, The Free Encyclopedia.

  • Wikipedia contributors. (2021, August 5). Dirac spinor. In Wikipedia, The Free Encyclopedia.

  • Hammer, R., Pötz W. (2014). Staggered grid leap-frog scheme for the (2 + 1)D Dirac equation. Computer Physics Communications, 185(1), 40-53. https://doi.org/10.1016/j.cpc.2013.08.013

Nonlinear Schrödinger Equation:

Laplacian Stencils:

Approximating the vector potential:

Fast Fourier Transform:

Hartree Atomic Units:

  • Wikipedia contributors. (2021, May 14). Hartree atomic units. In Wikipedia, The Free Encyclopedia.

Names of the Different Boundary Conditions:

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].