About This Independent Study
Mission
Explore high-performance computing techniques for physics simulations, combining theoretical understanding with practical implementation across multiple programming paradigms.
Focus Areas
- Numerical methods for differential equations
- GPU acceleration & parallel computing
- N-body gravitational simulations
- Quantum mechanics computational methods
- Monte Carlo techniques
- Performance optimization & benchmarking
Technologies
Course Structure
- Weekly Meetings: Discussion & code review
- Textbook: Computational Physics by Newman
- Projects: Hands-on implementations
- Deliverables: Code, documentation, presentations
Projects
N-Body Gravitational Simulation
Multi-Language Performance Comparison
Implemented identical gravitational N-body simulations in JAX (GPU), Fortran, C++, C, and Python. Benchmarked performance across 10-1000 particles, achieving 1384Γ speedup with GPU acceleration.
Quantum Mechanics Solver
1D & 2D SchrΓΆdinger Equation
Numerical solution of time-independent SchrΓΆdinger equation for various potentials. Visualization of wavefunctions and probability densities.
Objectives:
- Finite difference methods
- Matrix diagonalization techniques
- Eigenvalue solvers comparison
- Interactive wavefunction visualization
Molecular Dynamics
Lennard-Jones Fluid Simulation
Classical molecular dynamics simulation using Lennard-Jones potential. Study phase transitions and thermodynamic properties.
Objectives:
- Periodic boundary conditions
- Velocity Verlet integration
- Temperature & pressure calculation
- Radial distribution function analysis
Monte Carlo Methods
Ising Model & Statistical Physics
Monte Carlo simulation of 2D Ising model. Explore phase transitions, critical phenomena, and Metropolis algorithm efficiency.
Objectives:
- Metropolis-Hastings algorithm
- Critical temperature determination
- Autocorrelation analysis
- Parallel tempering techniques
Additional Topics
To Be Determined
Additional computational physics projects based on course progress and interests.
Potential Topics:
- Partial Differential Equations (Heat, Wave, Diffusion)
- Fourier Analysis & Spectral Methods
- Random Walks & Brownian Motion
- Fluid Dynamics (Lattice Boltzmann)
- Machine Learning for Physics
Course Notes & Resources
π Lecture Notes
Weekly meeting summaries
Course Overview & Setup
Numerical Integration Methods
GPU Programming Fundamentals
π Notes will be added as the course progresses
π Textbook Progress
Computational Physics by Newman
Chapter 1: Introduction
Python basics, NumPy, visualization
Chapter 2: Python Programming
Control flow, functions, modules
Chapter 3: Graphics & Visualization
Matplotlib, 2D/3D plotting
Chapter 4: Accuracy & Speed
Floating-point, optimization
Chapter 5: Integrals & Derivatives
Numerical calculus methods
π― 5 of 13 chapters
Learning Resources
π Recommended Reading
- Newman - Computational Physics (Primary textbook)
- Press et al. - Numerical Recipes
- Landau & PΓ‘ez - Computational Physics: Problem Solving with Python
- Giordano & Nakanishi - Computational Physics
π Online Courses
π§ Development Tools
- Python 3.12+ with NumPy, SciPy, Matplotlib
- JAX for GPU acceleration
- Jupyter Notebooks for exploration
- Git & GitHub for version control
- VSCode or PyCharm for development
π Visualization Tools
- Matplotlib - 2D plotting
- Three.js - 3D web visualization
- Plotly - Interactive plots
- Mayavi - 3D scientific visualization