The projects in this repository focuses on translating continuous analytical physics (calculus and differential equations) into discrete numerical methods and physics simulations using Python.
Curriculum & Reference: The foundational numerical algorithms in this repository are guided by the UC Berkeley curriculum: Python Programming and Numerical Methods: A Guide for Engineers and Scientists.
notebooks/: Interactive Jupyter notebooks used for algorithm prototyping and chapter exercises from the Berkeley text (e.g., Root Finding, Linear Algebra, Ordinary Differential Equations).src/: Modular, reusable backend physics engines and mathematical solvers (e.g., Finite Difference matrices, Runge-Kutta integrators).simulations/: Executable physics visualizations and applied production scripts.
- 1D Quantum Tunneling Engine: A visualization of a Gaussian wave packet interacting with a potential barrier. Solves the Time-Dependent Schrödinger Equation using the unconditionally stable Crank-Nicolson method and sparse matrix linear algebra.
- Language: Python
- Math & Engine:
numpy,scipy - Visualization:
matplotlib - Environment:
jupyter
- Clone the repository.
- Activate the virtual environment:
source .venv/bin/activate - Install dependencies:
pip install -r requirements.txt - Run simulations from the
simulations/directory.