QUESTION 2-A
from numpy import *
import matplotlib.pyplot as plt
g = 9.81
m = 65
k = 1817.3
zeta = 0.05
gama = 1/2
beta = 1/4
dt = 0.1
t = 4.0
no_steps = t / dt
time = arange(0, t, dt)
Ug = array([0, -0.3*g, 0, 0.3*g, 0, 0])
P = -m*Ug
Wn = sqrt(k/m)
C = 2*m*Wn*zeta
a1 = (m/(beta*dt**2)) + (C*gama)/(beta*dt)
a2 = (m/(beta*dt)) + ((gama/beta)-1)*C
a3 = ((1/(2*beta))-1)*m + dt*((gama/(2*beta))-1)*C
Kcap = k + a1
u = 0
v = 0
a = 0
counter = 1.0
ur = []
vr = []
ar = []
while counter <= no_steps:
if counter <= 5:
x = P[int(counter)]
else:
x = 0
Pcap = x + a1*u + a2*v + a3*a
u_new = Pcap/Kcap
v_new = (gama*(u_new - u))/(beta*dt) + v*(1-(gama/beta)) + dt*a*(1-(gama/(2*beta)))
a_new = (u_new - u)/(beta*dt**2) - v/(dt*beta) - a*((1/(2*beta))-1)
u = u_new
v = v_new
a = a_new
ur.append(u)
vr.append(v)
ar.append(a)
print("step %r>>>>> u=%5f m v=%5f m/s a=%5f m/s2" % (counter, u, v, a))
counter += 1
print("-----------------------------")
print("Max u = %5f m Max v = %5f m/s Max a = %5f m/s2" % (max(ur), max(vr),
max(ar)))
plt.plot(time, ur, label='Displacement')
plt.xlabel("Time (s)")
plt.ylabel("Displacement (m)")
plt.legend()
plt.show()
RESULT:
step 1.0>>>>> u=0.006711 m v=0.134220 m/s a=2.684401 m/s2
step 2.0>>>>> u=0.024809 m v=0.227738 m/s a=-0.814037 m/s2
step 3.0>>>>> u=0.035707 m v=-0.009771 m/s a=-3.936153 m/s2
step 4.0>>>>> u=0.023552 m v=-0.233334 m/s a=-0.535100 m/s2
step 5.0>>>>> u=-0.000734 m v=-0.252390 m/s a=0.153980 m/s2
step 6.0>>>>> u=-0.023662 m v=-0.206163 m/s a=0.770559 m/s2
step 7.0>>>>> u=-0.039450 m v=-0.109590 m/s a=1.160895 m/s2
step 8.0>>>>> u=-0.044415 m v=0.010272 m/s a=1.236356 m/s2
step 9.0>>>>> u=-0.037815 m v=0.121734 m/s a=0.992884 m/s2
step 10.0>>>>> u=-0.021890 m v=0.196776 m/s a=0.507953 m/s2
step 11.0>>>>> u=-0.001150 m v=0.218017 m/s a=-0.083128 m/s2
step 12.0>>>>> u=0.018883 m v=0.182636 m/s a=-0.624502 m/s2
step 13.0>>>>> u=0.033134 m v=0.102385 m/s a=-0.980507 m/s2
step 14.0>>>>> u=0.038248 m v=-0.000105 m/s a=-1.069295 m/s2
step 15.0>>>>> u=0.033361 m v=-0.097625 m/s a=-0.881111 m/s2
step 16.0>>>>> u=0.020203 m v=-0.165546 m/s a=-0.477305 m/s2
step 17.0>>>>> u=0.002527 m v=-0.187974 m/s a=0.028747 m/s2
step 18.0>>>>> u=-0.014941 m v=-0.161383 m/s a=0.503061 m/s2
step 19.0>>>>> u=-0.027756 m v=-0.094920 m/s a=0.826210 m/s2
step 20.0>>>>> u=-0.032875 m v=-0.007455 m/s a=0.923075 m/s2
step 21.0>>>>> u=-0.029363 m v=0.077692 m/s a=0.779868 m/s2
step 22.0>>>>> u=-0.018533 m v=0.138920 m/s a=0.444688 m/s2
step 23.0>>>>> u=-0.003498 m v=0.161767 m/s a=0.012270 m/s2
step 24.0>>>>> u=0.011703 m v=0.142260 m/s a=-0.402422 m/s2
step 25.0>>>>> u=0.023187 m v=0.087414 m/s a=-0.694489 m/s2
step 26.0>>>>> u=0.028204 m v=0.012922 m/s a=-0.795362 m/s2
step 27.0>>>>> u=0.025786 m v=-0.061273 m/s a=-0.688539 m/s2
step 28.0>>>>> u=0.016909 m v=-0.116264 m/s a=-0.411278 m/s2
step 29.0>>>>> u=0.004148 m v=-0.138953 m/s a=-0.042506 m/s2
step 30.0>>>>> u=-0.009055 m v=-0.125113 m/s a=0.319320 m/s2
step 31.0>>>>> u=-0.019312 m v=-0.080034 m/s a=0.582263 m/s2
step 32.0>>>>> u=-0.024150 m v=-0.016719 m/s a=0.684037 m/s2
step 33.0>>>>> u=-0.022596 m v=0.047806 m/s a=0.606461 m/s2
step 34.0>>>>> u=-0.015354 m v=0.097028 m/s a=0.377968 m/s2
step 35.0>>>>> u=-0.004546 m v=0.119131 m/s a=0.064107 m/s2
step 36.0>>>>> u=0.006900 m v=0.109788 m/s a=-0.250965 m/s2
step 37.0>>>>> u=0.016034 m v=0.072898 m/s a=-0.486841 m/s2
step 38.0>>>>> u=0.020639 m v=0.019197 m/s a=-0.587188 m/s2
step 39.0>>>>> u=0.019758 m v=-0.036810 m/s a=-0.532951 m/s2
step 40.0 >>>>> u=0.013881 m v=-0.080729 m/s a=-0.345419 m/s2
Max u = 0.038248 m Max v = 0. 227738 m/s Max a = 2.684401 m/s2