This repository collects small Python projects and a final course project demonstrating physics concepts through simulation and visualization.
- Visualizes constructive/destructive interference from pairs of sinusoids.
- Emphasizes how frequency, phase, and amplitude shape the resulting waveform.
- Includes example plots/animations for fast visual inspection of effects.
- Simulates a 2D idealized gas with elastic particle–particle and particle–wall collisions.
- Tracks trajectories, speeds, and aggregate statistics; illustrates approach to equilibrium.
- Useful for discussing conservation laws and links to Maxwell–Boltzmann intuition.
3) Numerical Optics — Undergraduate Final Project (Physics 325)
- Report:
Numerical_Optics.pdf
- Implements multiple solvers for the paraxial wave/propagation equation:
- Rayleigh–Sommerfeld integral, Leapfrog FD, Forward Euler, and Crank–Nicolson.
- Compares stability, boundary conditions, and computational trade-offs; includes derivations and results.
4) Anharmonic Oscillator — Undergraduate Final Project (Physics 311)
- Notebook:
Anharmonic_Oscillator.ipynb
- Derives equations of motion (Lagrangian → Hamiltonian → nonlinear ODE) and analyzes:
- Amplitude-dependent period (elliptic integral), parametric driving, inverted-pendulum stabilization,
- Onset of chaos and sensitivity to initial conditions (with RK4 simulations and phase portraits).
5) Laplace Equation via Relaxation — Undergraduate Honors Project (Physics 322)
- Report:
Laplace_Relaxation.pdf
- Implements a 2D relaxation solver on a rectangular grid and benchmarks against an analytic Fourier-series solution.
- Includes convergence checks, error metrics (RMSE/percent accuracy), and side-by-side visual comparisons.
The scripts require Python 3.x and the following external libraries:
You can install them with:
pip install numpy matplotlib scipy
Clone the repo and run any script:
git clone https://github.com/hschn58/Physics.git
cd Physics/Wave_Superposition
python3 wave_superposition.py
Wave Superposition | Particle Dynamics | Rayleigh–Sommerfeld Integral |
---|---|---|
![]() |
![]() |
![]() |
This project is licensed under the MIT License.