Skip to content

MichalPytlarz/Computer_Physics

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Numerical Methods for Physics – Set of projects

This repository contains a series of laboratory projects completed during the Computer physics course. The projects focus on the practical implementation of mathematical algorithms to solve physics-based problems using Python.

🛠 Tech Stack

  • Language: Jupyter Notebook
  • Core Libraries: NumPy, Matplotlib

📂 Project Highlights

1. Ordinary Differential Equations (ODEs) & Modeling

  • Explicit & Implicit Solvers: Implementation of various schemes (Euler, Runge-Kutta, RK2, RK4) to solve autonomous problems and harmonic oscillations (damped and driven).
  • Epidemic Modeling (SIR): Application of implicit methods to simulate the spread of infectious diseases.
  • Stiff Problems: Using adaptive time-stepping to maintain stability in computationally challenging systems.
  • Kuramoto Model (Neurobiology): Simulating large-scale synchronization of oscillators, representing neural network activity or collective biological behavior.

2. Wave Dynamics & Eigenvalues

  • Shooting Method (Project 9): Finding the normal modes (eigenvalues) of a 1D vibrating string.
  • Verlet Method (Project 10): Solving the 1D wave equation using the Verlet algorithm to ensure energy conservation during string vibration simulations.

3. Partial Differential Equations (PDEs)

  • Poisson Equation: Solving static field problems using global and local relaxation techniques.
  • Multigrid Acceleration: Using hierarchical grids to significantly speed up the convergence of PDE solvers.

4. Stochastic Methods

  • Monte Carlo Integration: Using probabilistic sampling to compute high-dimensional integrals where traditional quadrature fails.

📈 Key Concepts Learned

  • Stability & Convergence: Understanding when and why numerical schemes fail.
  • Vectorization: Leveraging NumPy for high-performance calculations in Python.
  • Physics Modeling: Translating physical laws (Newton, Maxwell, Poisson) into code.

Created as part of the Computer Physics course.

About

The goal of this course was to familiarize with applying different modelling techniques using Python. Learned how to apply math equations to real-world problems.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors