Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
53 views

Python Code For Dynamic Analysis of Structures

This document simulates the displacement, velocity, and acceleration of an object over time using numerical integration. The simulation models the object as a spring-mass-damper system. It calculates the displacement, velocity, and acceleration at each time step and stores the results in arrays. Graphs of displacement over time are plotted and maximum values reported.

Uploaded by

DolzMaGiCz
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
53 views

Python Code For Dynamic Analysis of Structures

This document simulates the displacement, velocity, and acceleration of an object over time using numerical integration. The simulation models the object as a spring-mass-damper system. It calculates the displacement, velocity, and acceleration at each time step and stores the results in arrays. Graphs of displacement over time are plotted and maximum values reported.

Uploaded by

DolzMaGiCz
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

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

You might also like