Python Code For Dynamic Analysis of Structures
Python Code For Dynamic Analysis of Structures
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
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 = []
if counter <= 5:
x = P[int(counter)]
else:
x = 0
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("-----------------------------")
print("Max u = %5f m Max v = %5f m/s Max a = %5f m/s2" % (max(ur), max(vr),
max(ar)))