Skip to content

A collection of computational physics simulations implemented in GNU Octave, covering classical mechanics, orbital motion, and dynamical systems using numerical methods such as ODE solvers. This project focuses on visualizing physical phenomena through plots and simulations as part of a first-semester engineering curriculum.

License

Notifications You must be signed in to change notification settings

wasitkrish/Computational-Physics

Repository files navigation

Numerical simulation and visualization of physical systems using GNU Octave


🧮 Computational Physics with GNU Octave

This repository contains my Computational Physics coursework implemented using GNU Octave, completed during the first semester of my B.Tech in Artificial Intelligence & Data Science program.

The project applies numerical methods, differential equation solvers, and visualization techniques to model and analyze a wide range of physical systems encountered in classical mechanics and engineering physics.


📌 Simulations and Topics Covered

📁 Classical Mechanics

  • basic_xy_plot.m – Coordinate plotting and rotation visualization
  • first_order_ode_solution.m – Numerical solution of first-order ODEs using ode45
  • forced_harmonic_oscillator.m – Driven harmonic oscillator simulation
  • van_der_pol_oscillator.m – Nonlinear oscillator and limit cycle behavior

(Associated plots and animations stored in Plots & Outputs)


📁 Orbital & Missile Dynamics

  • gravitational_field_trajectory.m – Motion under a central gravitational field
  • missile_trajectory_central_gravity.m – Missile trajectory simulation under gravity
  • satellite_motion_ode.m – Satellite motion modeled using coupled ODEs
  • two_body_orbital_motion.m – Two-body gravitational interaction

(Associated plots stored in Plots & Outputs)


📁 Pendulum Dynamics

  • simple_pendulum_dynamics.m – Time evolution of a simple pendulum
  • pendulum_random_initial_conditions.m – Pendulum motion with varying initial conditions
  • pendulum_with_linear_air_resistance.m – Effect of linear drag on pendulum motion

(Associated plots stored in Plots & Outputs)


📁 Projectile, Particle & Drag Motion

  • projectile_motion_2d.m – Two-dimensional projectile motion
  • projectile_motion_with_air_drags.m – Projectile motion with air resistance
  • particle_motion_linear_drag.m – Particle dynamics under linear drag

(Associated plots stored in Plots & Outputs)


📁 Rigid Body & Rotational Mechanics

  • planar_rotation_of_rigid_body.m – Planar rotation of a rigid body
  • rigid_body_rotation_matrix.m – Rotation matrices for rigid body motion
  • time_dependent_rigid_body_rotation.m – Time-dependent rotational dynamics

(Associated plots and animations stored in Plots & Outputs)


⚙️ How to Run

Requirements

  • GNU Octave (version 6 or later)

Steps

  1. Open GNU Octave
  2. Navigate to the folder containing the desired .m file
  3. Run the script directly (example: first_order_ode_solution)
  4. View the generated plots and outputs

🧠 Key Concepts Learned

  • Numerical solution of ordinary differential equations
  • Use of ODE solvers such as ode45
  • Modeling of mechanical, orbital, and rotational systems
  • Linear and nonlinear dynamics
  • Scientific computing and visualization

🎓 Course Context

This work was completed as part of the Computational Physics course during the first semester of the B.Tech AI & Data Science curriculum.

The course emphasizes computational approaches to physics problems, enabling deeper understanding through simulation and visualization.


📜 License

MIT License

Copyright (c) 2026
Krish Singh
https://github.com/wasitkrish

About

A collection of computational physics simulations implemented in GNU Octave, covering classical mechanics, orbital motion, and dynamical systems using numerical methods such as ODE solvers. This project focuses on visualizing physical phenomena through plots and simulations as part of a first-semester engineering curriculum.

Topics

Resources

License

Stars

Watchers

Forks

Languages