Inspiration

Inspired by how modern quantum dots trap single electrons to create vibrant displays and quantum logic gates, this project specifically models the spatial probability distribution of a particle confined within a potential well."

What it does

Ultimately, this project acts as a digital laboratory. It bridges the gap between abstract mathematical formulas (which are impossible to visualize manually) and tangible data, allowing researchers or students to test how altering physical dimensions or potential barriers changes subatomic behavior instantly without needing millions of dollars in physical lab equipment.

How we built it

The theoretical framework of this project was constructed analytically by solving the boundary-value problems of the Time-Independent Schrödinger Equation (TISE): (-\frac{\hbar ^{2}}{2m}\frac{d^{2}\psi (x)}{dx^{2}}+V(x)\psi (x)=E\psi (x)) The structural derivation of the system was built using the following mathematical sequence:

  1. Imposing Boundary Conditions: The physical geometry of the potential energy landscape (V(x)) was defined. Boundaries were established where the potential energy spikes to infinity, forcing the boundary condition requirements: (\psi(x_{\text{boundary}}) = 0).
  2. Solving the General Differential Equation: Inside the allowed regions where (V(x) = 0), the TISE simplifies to a second-order linear ordinary differential equation, yielding the general sinusoidal wave solution: (\psi(x) = A\sin(kx) + B\cos(kx)).
  3. Applying Normalization: To guarantee physical reality, the constants of integration ((A) and (B)) were solved by strictly enforcing the total probability normalization condition, proving that the particle must exist somewhere within the physical system limits: ## Challenges we ran into Translating continuous quantum mechanics into a discrete digital environment introduced several critical engineering and computational bottlenecks: • Floating-Point Underflow Errors: Working at the true subatomic scale meant handling mass values of electrons (~ 10⁻³¹ kg) and Planck's constant (~ 10⁻³⁴ J·s). This caused the processor to hit floating-point underflow limits, resulting in numerical rounding errors. • How we solved it: We scaled all variables into atomic units (setting (\hbar = m_e = 1)), which normalized the numbers and stabilized the calculations. • Grid Convergence and Resolution Trade-offs: Finding the correct size for the spatial grid (N) was a major balancing act. If the spatial step (Δ x) was too large, the finite-difference approximation introduced massive errors, causing the calculated energy levels ((E_{n})) to drift from reality. If the grid was made too fine, matrix dimensions exploded, causing computation times to skyrocket. • How we solved it: We performed a convergence test, systematically increasing grid resolution until the energy outputs stabilized to within a strict tolerance window (10⁻⁶). • Accumulated Probability Drift: Due to iterative numerical integration over long simulation time-steps, small floating-point rounding errors accumulated. This caused the total cumulative probability to drift away from 1.0, violating the fundamental law of quantum normalization. • How we solved it: We replaced standard Euler solvers with a unitary-preserving algorithm (Crank-Nicolson method) to strictly conserve probability over time.

Accomplishments that we're proud of

• Flawless Visual Mapping of Wave Probabilities: We successfully built an intuitive, high-resolution visualization system that translates abstract, complex-numbered wavefunctions ((\psi )) into clear, physical probability density charts ((\lvert\psi\rangle^2)). This makes highly counterintuitive quantum concepts visible and immediately understandable. • High-Precision Quantum Convergence: Despite early floating-point and rounding issues, we successfully implemented a numerical grid setup that matches exact analytical theoretical models up to six decimal places ((10^{-6}) precision tolerance). • A Self-Sustaining Virtual Laboratory: We successfully constructed a stable computational engine that preserves unitary time-evolution perfectly over extended runtimes. The simulation functions as an accessible, cost-effective digital playground capable of testing subatomic mechanics without expensive physical hardware.

What we learned

• The Practicality of Scaling and Dimensionless Units: We learned that computers are structurally unequipped to handle raw subatomic scales (10⁻³⁴). Transitioning to scaled atomic units taught us how professional physicists format data to eliminate floating-point underflow errors and optimize calculation stability. • The Delicate Nature of Numerical Approximations: We learned firsthand how discrete spatial grids introduce truncation errors. Discovering that a grid that is too coarse breaks the laws of physics (causing energy drift) emphasized the vital importance of running systematic convergence tests before trusting code outputs. • Algorithmic Preservation of Physical Laws: Standard numerical integration loops quickly lose accuracy over time. By implementing unitary-preserving algorithms like the Crank-Nicolson method, we learned how deeply mathematical symmetries must be hardcoded into a simulator to strictly enforce physical conservation laws like probability normalization.

What's next for Quantum mechanics

The immediate next step for modern research is bridging the gap between ideal, isolated textbook calculations and real-world environmental noise (decoherence). Future development relies on scaling one-dimensional single-particle models into multi-dimensional, multi-particle systems that can be executed directly on cloud-based classical-quantum hybrid computing frameworks.

Built With

  • calculus
  • eigenvalues
  • git
  • github
  • ibm-quantum
  • jupyter-notebook
  • latex
  • linear-algebra
  • markdown
  • matplotlib
  • matrix-mechanics
  • numerical-methods
  • numpy
  • overleaf
  • physics
  • python
  • qiskit
  • quantum-computing
  • quantum-mechanics
  • research
  • schrodinger-equation
  • scipy
  • simulation
  • wave-function
Share this project:

Updates

Submission history