Week 3 - Solving second order ODEs
1. AIM:- Write a programme for solving second order differential equation for a pendulum and also transient behaviour of a pendulum .
2.Governing Equation :
3.OBJECTIVE OF PROJECT: To To study how the time period of a simple changes when its amplitude (θ ) is changed.
4.BODY:-
import numpy as np
from scipy.integrate import odeint
import matplotlib.pyplot as plt
import math
#function that return dz/dt
def model (theta,t,b,g,l,m):
theta1 = theta[0]
theta2 = theta[1]
dtheta1_dt = theta2
dtheta2_dt = -(b/m)*theta2 - (g/l)*math.sin(theta1)
dtheta_dt = [dtheta1_dt, dtheta2_dt]
return dtheta_dt
b= 0.05
g = 9.81
l=1
m=1
#initial conddition
theta_0 = [math.pi/2,0]
#time points
t = np.linspace(0,10,150)
#solve ODE
theta = odeint(model,theta_0,t,args = (b,g,l,m))
#plot results
plt.plot(t,theta[:,0],'b-',label=r'$\frac{d\theta_1}{dt}=\theta2$')
plt.plot(t,theta[:,1],'r--',label=r'$\frac{d\theta2}{dt}=-\frac{b}{m}\theta_2-\frac{g}{L}sin\theta_1$')
plt.ylabel('Plot')
plt.xlabel('time')
#plt.legend(Loc='best')
plt.show()
ct = 1
range = theta[:,0]
for i in range:
x_start = 0
y_start = 0
x_end = l*math.sin(i)
y_end = -l*math.cos(i)
plt.figure()
plt.plot([-0.5,0.5],[0,0],linewidth=8,color='y')
plt.plot([x_start,x_end],[y_start,y_end],linewidth=3)
plt.plot(x_end,y_end,'o',markersize=20,color='r')
plt.plot([0,0],[0,-1.5],'--',color='k')
plt.xlim([-1.25,1.25])
plt.ylim([-2,1])
plt.title('MOTION STUDY OF SIMPLE PENDULUM')
filename = 'test%005d.png' % ct
plt.savefig(filename)
ct = ct + 1
STEPS TAKEN TO WRITE A PROGRAMME
- Import math command, matplotlib command, and also Numpy command.
- Function Model is created for required arguments, inside which the term is broken to solve secondary order.
- Give The value of b,g,l,m.
- give the range of THETa
- USE Odient command to solve ode function.
- PLOt the result using plotting command
- save the file in .png format
- use image magic to convert .png to gif.
PLOT
SCREENSHOT:-
YOUTUBE LINK:-
https://youtu.be/A9KgtwVuMmg
5.CONCLUSION
- From getting a simulation result clear the concept of Simple Pendulum.
- ALso gave how the above equation is important to get a result
- its show hoe time and amplitude depend