A collection of numerical physics simulations and computational models developed in Python, demonstrating proficiency in scientific computing and algorithm implementation.
This repository contains a series of projects focused on solving complex physical problems using advanced numerical algorithms. It spans electromagnetism, particle dynamics, and numerical analysis, translating theoretical physics into functional, optimized code.
-
Languages & Tools: Python, Jupyter Notebooks (Data Visualization & Scientific Computing)
-
Numerical Algorithms: Euler, Euler-Richardson, Jacobi, Gauss-Seidel, Successive Over-Relaxation (SOR)
-
Core Concepts: Grid Discretization, Convergence Analysis, Laplace's Equation, Lorentz Force
- Charged Particle Dynamics
-
Simulates the 3D motion of charged particles in homogeneous electric and magnetic fields.
-
Implements and analyzes the stability of Euler and Euler-Richardson numerical integrators against analytical solutions.
-
Features multi-particle electrostatic interactions and strict energy conservation analysis.
- Electrostatic Potential Solver
-
Solves Laplace's equation (
$\nabla^2 V = 0$ ) on a 2D discretized grid with complex boundary conditions (e.g., a circular conductor). -
Evaluates and compares the computational performance (CPU time, iteration count) of Jacobi, Gauss-Seidel, and SOR iterative solvers.
-
Generates scientific visualizations of equipotential contours and electric field vectors (
$E = -\nabla V$ ).
-
Translating complex physical laws into functional algorithms.
-
Evaluating numerical stability, grid resolution impact, and algorithm optimization.
-
Advanced scientific data visualization (2D/3D trajectories, vector fields, convergence history).