Skip to content

Latest commit

 

History

History
112 lines (75 loc) · 3.92 KB

File metadata and controls

112 lines (75 loc) · 3.92 KB

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