Você está na página 1de 6

Atividade_didatica_dinamicaEstrtural2

April 2, 2019

#
Atividade Didática - B

In [1]: import numpy as np


import matplotlib.pyplot as plt

In [21]: m = 1
k = 1
c = 0
gamma = 0.5
beta = 0.25
a = 0
b = 20*np.pi
n = 1000
h = (b-a)/n
f=np.zeros(n)
F=10
t = np.linspace(a,b,n)

for i in range(n):
if t[i] <= (20*np.pi/3):
f[i]=(t[i]/(20*np.pi/3))*F
else:
f[i]=F

u = np.zeros(n)
udot = np.zeros(n)
u2dot = np.zeros(n)

u[1] = 0
udot[1] = 0
u2dot[1] = m**(-1)*(f[0]-c*udot[1]-k*u[0])

us = np.zeros(n); #u estrela
udots = np.zeros(n); #u ponto estrela

1
for i in range(1,n-1,1):
#preditores
udots[i+1]= udot[i] + (1-gamma)*h*u2dot[i]
us[i+1] = u[i] + h*udot[i]+(0.5-beta)*u2dot[i]*h**2
#parametros intermediarios
s = m + gamma*h*c+ beta*h**2*k
u2dot[i+1] = (f[i+1] - c*udots[i+1] - k*us[i+1])/s

udot[i+1] = udots[i+1] + gamma*h*u2dot[i+1]


u[i+1] = us[i+1] + beta*h**2*u2dot[i+1]

#
t < tr

In [22]: plt.plot(t,f)
plt.grid()
plt.xlabel("Tempo[s]")
plt.ylabel("Força[N]")
plt.title("Forçante")

Out[22]: Text(0.5,1,'Forçante')

In [46]: plt.plot(3*t/(20*np.pi), u/(F/k))


plt.grid()

2
plt.xlabel("Tempo[s]/tr")
plt.ylabel("Deslocamento[m]/(Força/k)")
plt.title("Fator de amplificação por tempo adimensional")

Out[46]: Text(0.5,1,'Fator de amplificação por tempo adimensional')

1 Discusão:
Para tr maior que o período tem-se que a força é crescente de forma linear até o valor de tr, após
isso há um pequeno um overshoot e a razão de resposta fica oscilando em torno do valor de R
estático. Esse efeito pode ser visto como a aplicação lenta do carregamento e os efeitos dinamicos
podem ser ignorados se o valor do tempo for maior que 3T.

In [41]: m = 1
k = 1
c = 0
gamma = 0.5
beta = 0.25
a = 0
b = 2*np.pi
n = 1000
h = (b-a)/n
f2=np.zeros(n)

3
F=10
t = np.linspace(a,b,n)

for i in range(n):
if t[i] <= (2*np.pi/5):
f2[i]=(t[i]/(2*np.pi/5))*F
else:
f2[i]=F

u2 = np.zeros(n)
udot = np.zeros(n)
u2dot = np.zeros(n)

u2[1] = 0
udot[1] = 0
u2dot[1] = m**(-1)*(f[0]-c*udot[1]-k*u[0])

us = np.zeros(n); #u estrela
udots = np.zeros(n); #u ponto estrela

for i in range(1,n-1,1):
#preditores
udots[i+1]= udot[i] + (1-gamma)*h*u2dot[i]
us[i+1] = u2[i] + h*udot[i]+(0.5-beta)*u2dot[i]*h**2
#parametros intermediarios
s = m + gamma*h*c+ beta*h**2*k
u2dot[i+1] = (f2[i+1] - c*udots[i+1] - k*us[i+1])/s

udot[i+1] = udots[i+1] + gamma*h*u2dot[i+1]


u2[i+1] = us[i+1] + beta*h**2*u2dot[i+1]

#
t > tr

In [42]: plt.plot(t,f2)
plt.grid()
plt.xlabel("Tempo[s]")
plt.ylabel("Força[N]")
plt.title("Forçante")

Out[42]: Text(0.5,1,'Forçante')

4
In [47]: plt.plot(5*t/(2*np.pi),u2/(F/k))
plt.grid()
plt.xlabel("Tempo[s]/tr")
plt.ylabel("Deslocamento[m]/(Força/k)")
plt.title("Fator de amplificação por tempo adimensional")

Out[47]: Text(0.5,1,'Fator de amplificação por tempo adimensional')

5
2 Discusão:
Para tr menor que o período tem-se que o carregamento dinâmico se aproxima de 2. Dessa
maneira, nessa condição o valor da resposta da forçante em rampa se aproxima da resposta
forçada em degrau.

Você também pode gostar