Universidade Federal do Rio Grande do Sul (UFRGS)   
Programa de Pós-Graduação em Engenharia Civil (PPGEC)   

# Pré-Introdução à teoria das vibrações

### Aula 6 - Vibração forçada

*Daniel Barbosa Mapurunga Matos (Aluno PPGEC/UFRGS)*




```python
import numpy as np
import matplotlib.pyplot as plt
```

Nesta aula, serão apresentados exemplos de vibrações forçadas e as respectivas soluções da equação de equilíbrio dinâmico exposta abaixo.

\begin{align}
m\ddot{u}(t) + c\dot{u}(t) + ku(t) = F(t) 
\end{align}

# 1. Vibração forçada harmonicamente

De forma simplificada, os carregamentos harmônicos serão definidos como funções seno e cosseno, como exposto abaixo:

\begin{align}
F = f_0 \sin{\omega t}\\
F = f_0 \cos{\omega t}
\end{align}

Usando a função seno como exemplo, é possível escrever a equação do movimento da seguinte forma:

\begin{align}
m\ddot{u}(t) + c\dot{u}(t) + ku(t) = f_0 \sin{\omega t}
\end{align}








Dessa forma, é possível resolver esta equação diferencialseparando-a em duas soluções: solução homogênea e solução particular.

\begin{align}
u(t) = u_{homogênea} + u_{particular}
\end{align}

A solução homogêna consiste na resolucão de uma vibração livre, enquanto a solução particular será feita a partir do teorema da preservação da frequência, onde a frequência da resposta terá mesma frequência de oscilação da carga.

## 1.1 Sistema não amortecido

Num sistema sem amortecimento, a equação de equilíbrio pode ser escrita por:
\begin{align}
m\ddot{u}(t) + ku(t) = f_0 \sin{\omega t}
\end{align}

 Para , a resposta homogêna ser pode ser escrita por:
 
 \begin{align}
 u_{homogênea} = A \cos{\omega_n t} + B \sin{\omega_n t}
 \end{align}
 
 Enquanto a solução particular será dada pelo teorema da preservação da frequência:
 
\begin{align}
u_{particular} = C \sin{\omega t}
\end{align}



Substituindo a solução particular na equação de equilíbrio, é possível descobrir a constante C:

\begin{align}
-m \omega^2C\sin{\omega t} + kC \sin{\omega t} &= f_0 \sin{\omega t} \\
-m \omega^2 C + kC &= f_0 \\
-\frac{\omega^2}{\omega_n^2} C + C &= \frac{f_0}{k} \\
\end{align}
Apresentando o termo $\beta$ como:

\begin{align}
\beta &= \frac{\omega}{\omega_n} \\
\end{align}









É possível definir a constante C:

\begin{align}
C                  &= \frac{f_0}{k} \left(\frac{1}{1 - \beta^2}\right)
\end{align}

É importante observar que o termo $ \frac{f_0}{k}$ corresponde ao deslocamento estático do sistema.



Agora, é possível escrever a equação geral como:

\begin{align}
u(t) = A \cos{\omega_n t} + B \sin{\omega_n t} + \frac{f_0}{k} \left(\frac{1}{1 - \beta^2}\right) \sin{\omega t}
\end{align}

Onde as constantes A e B podem ser definidas a partir dos valores iniciais do sistema $u(0)$ e $ \dot{u}(0)$. Para um sistema com valores iniciais nulos $ u(0) = \dot{u}(0) = 0$, as constantes serão:
\begin{align}
A &= 0 \\ 
B &= -\frac{f_0 \beta}{k}\left(\frac{1}{1 - \beta^2}\right)
\end{align}

Sendo possível, agora, definir a expressão do deslocamento:

\begin{align}
u(t) = \frac{f_0}{k}\left(\frac{1}{1 - \beta^2}\right) (\sin{\omega t} - \beta\sin{\omega_n t})
\end{align}

Com isso, é possível perceber que o deslocamento pode ser escrito em fução do seu deslocamento estático:

\begin{align}
u(t) = u_{est} R(t)
\end{align}

em que $R(t)$ é a função de ganho, que pode ser escrita por:

\begin{align}
R(t) = \left(\frac{1}{1 - \beta^2}\right) (\sin{\omega t} - \beta\sin{\omega_n t})
\end{align}


```python
# Fenômeno do batimento
F0 = 1000                                                      # Amplitude da força
wn = 2                                                         # Frequência natural
w  = 1.9                                                         # Frequência da oscilação
beta = w/wn
m  = 200                                                       # Massa do sistema
k  = wn**2 * m                                                 # Rigidez
ust = F0/k                                                     # Deslocamento estático
t = np.linspace(0,200,1000)
R = (1/(1-beta**2))*(np.sin(w*t) - beta*np.sin(wn*t))          # Função de ganho
u = ust*R                                                      # Deslocamento



```


```python
plt.figure(1,figsize = (8,6))
plt.plot(t,u,'b')
plt.xlabel('tempo(s)') ; plt.ylabel('deslocamento(m)')
plt.grid(True)
```

## 1.2 Sistema amortecido 

No caso de um sistema amortecido, o mesmo procedimento deve ser realizado para a resolução da equação de equilíbrio dinâmico.

\begin{align}
m\ddot{u}(t) + c \dot{u} + ku(t) = f_0 \sin{\omega t}
\end{align}

A solução homogênea é igual a de um sistema em vibracão livre amortecida, podendo ser escrita como:

\begin{align}
u_{homogênea} = e^{-\zeta\omega_nt}(A\cos{\omega_nt} + B\sin{\omega_nt})
\end{align}


Já a solução particular será dada pelo teorema da preservação da frequência:

\begin{align}
u_{particular} = G_1\cos{\omega t} + G_2\sin{\omega t}
\end{align}

Substituindo a solução particular na equação de equilíbrio dinâmico, é possível obter as constantes $G_1$ e $G_2$.

\begin{align}
G_1 &= \frac{f_0}{k}\left(\frac{-2 \zeta \beta}{(1- \beta^2)^2 + (2 \zeta \beta)^2}\right) \\
G_2 &= \frac{f_0}{k}\left(\frac{1 - \beta^2}{(1- \beta^2)^2 + (2 \zeta \beta)^2}\right)
\end{align}





Portanto, a resposta total pode ser dada por:

\begin{align}
u(t) = e^{-\zeta\omega_nt}(A\cos{\omega_nt} + B\sin{\omega_nt}) + \\
\frac{f_0}{k}\left(\frac{1}{(1- \beta^2)^2 + (2 \zeta \beta)^2}\right)\left[(1- \beta^2)\sin{\omega t}- 2 \zeta \beta\cos{\omega t}\right]
\end{align}

O primeiro termo da expressão é chamado de estado transiente, que perderá sua importância com o tempo, visto que o amortecedor diminui a amplitude da resposta. Já o segundo termo é chamado de estado harmônico, que continuará indefinidamente. Ignorando a parcela transiente e transformado a soma $ \sin{\omega t} + \cos{\omega t}$ em $ \sin{(\omega t + \theta)}$, escreve-se a equação da seguinte forma:

\begin{align}
u(t) &= \rho \sin{(\omega t + \theta)} \\
\end{align}

em que $\rho$ e $\theta$ são, respectivamente a amplitude do movimento e o ângulo de fase, que podem ser escritos por:
\begin{align}
\rho   &= \frac{f_0}{k}\sqrt{\frac{1}{(1- \beta^2)^2 + (2 \zeta \beta)^2}} \\
\theta &= \tan^{-1}\left[\frac{2\zeta \beta}{1-\beta^2}\right]
\end{align}

Observando agora que o pico de deslocamento ocorrerá quando $\sin{(\omega t + \theta)} = 1$ e que $\frac{f_0}{k} = u_{est}$, pode-se calcular o máximo deslocamento do sistema a partir da relação:
\begin{align}
u_{dyn} &= A  u_{est} \\
A       &= \sqrt{\frac{1}{(1-\beta^2)^2 + (2\zeta\beta)^2)}}
\end{align}

Onde A é o fator de amplificação dinâmico.

Analisando o fator de amplificação em função de $\beta$, é possível visualizar a influência da frequência do carregamento no deslocamento máximo do sistema, assim como a influência do fator de amortecimento.


```python
wn = 3
z  = [0.000001,0.01,0.03,0.1,0.3,0.5,1]
w  = np.linspace(0,10,1000)
beta = w/wn
```


```python
plt.figure(2,figsize=(6,6))
plt.xlim(0.8,1.2) ; plt.ylim(0,55)
for i in z:
    A = np.sqrt(1/((1-beta**2)**2 + (2*i*beta)**2))
    plt.plot(beta,A)
    plt.legend(('ζ = 0','ζ = 0.01','ζ = 0.03','ζ = 0.1','ζ = 0.5','ζ = 1'))
    plt.xlabel('Frequência adimensional(β)') ; plt.ylabel('Fator de amplificação (A)')
    plt.grid(True)
```

Percebam que o máximo fator de amplificação, independente do valor de $\zeta$ ocorre quando $\omega = \omega_n$, ou seja, $\beta = 1$. Isto ocorre porque o sistema entrou em **ressonância**.

## 1.3 Ressonância

O fenômeno de ressonância ocorre quando o sistema recebe o máximo de energia proviniente da excitação externa. Nos gráficos acima, é possível observar que o pico de deslocamento ocorre quando $\beta$ é igual a 1, ou seja, quando a frequência de excitação é igual a frequência natural do sistema.

No caso de um sistema não amortecido, como não há dissipação de energia, um carregamento ressonante acarreta num fator de amplificação infinito. Para observar este fenômeno, observe o gráfico abaixo:


```python
F0 = 1000
wn = 2
w  = 1.9999999
beta = w/wn
m  = 2
k  = wn**2 * m
ust = F0/k
t = np.linspace(0,200,1000)
R = (1/(1-beta**2))*(np.sin(w*t) - beta*np.sin(wn*t))
u = ust*R

```


```python
plt.figure(3,figsize = (8,6))
plt.plot(t,u,'b')
plt.xlabel('tempo(s)') ; plt.ylabel('deslocamento(m)')
plt.grid(True)
```

No caso de um sistema amortecido em ressonância, a equação do deslocamento, considerando a parcela transiente com valores iniciais nulos $ u(0) = \dot{u}(0) = 0$, pode ser escrita por

\begin{align}
u(t) = e^{-\zeta\omega_nt}\left(\frac{f_0}{2k\zeta}\cos{\omega_nt} + \frac{f_0}{2k\sqrt{1-\zeta^2}}\sin{\omega_nt}\right) - \frac{f_0}{k} \frac{\cos{\omega t}}{2\zeta}
\end{align}

Observe o gráfico abaixo onde o fator de amplificação pode ser facilmente identificado pela relação:

\begin{align}
A = \frac{1}{2\zeta}
\end{align}


```python
t = np.linspace(0,300,1000)
z     = 0.01
wn    = 2
w     = 2 
u1    = F0/2/k/z *np.cos(wn*t)
u2    = F0/2/k/np.sqrt(1-z**2)*np.sin(wn*t)
u3    = -F0/k/2/z* np.cos(w*t)

u_z   = np.exp(-z*wn*t)*(u1+u1) + u3
A     = np.ones(len(t))/2/z

```


```python
plt.figure(4,figsize=(12,4))
plt.plot(t,u_z/ust,'c')
plt.plot(t,A,'r--',t,-A,'r--')
plt.xlabel('tempo (s)')
plt.legend(('Função de amplificação','Fator de amplificação'))
plt.grid(True)
```


```python
print(' ---------------------------------------','\n'
      ' Deslocamento estático:           {}m'.format(ust),'\n'
      ' Fator de amplificação:             {0:.1f}'.format(A[0]),'\n',
      'Deslocamento dinâmico:            {0:.0f}m'.format(np.max(u_z)),'\n',
      '--------------------------------------')
```

     --------------------------------------- 
     Deslocamento estático:           125.0m 
     Fator de amplificação:             50.0 
     Deslocamento dinâmico:            6250m 
     --------------------------------------


# 2. Resposta impulsiva

Antes da realização da análise de um sistema sob ação de um carregamento impulsivo, é necessário relembrar o conceito de impulso e de quantidade de movimento, assim como a relação entre os dois.

## 2.1 Impulso
Impulso é definido fisicamente como a variação da quantidade de movimento e pode ser descrita matematicamente como a integral da força em relação ao tempo.
\begin{align}
I = \int_{0}^{td} F dt
\end{align}

Esta relação indica a área da figura num gráfico força x tempo.

## 2.2 Quantidade de movimento
A quantidade de movimento define o quanto de matéria está se movendo e a velocidade com que ela se move, sendo possível escreve-la matematicamente como o produto de massa e velocidade.

\begin{align}
Q = mv
\end{align}

## 2.3 Teorema do impulso

O teorema do impulso relaciona o impulso com a quantidade de movimento a partir da definição física de impulso, sendo assim:

\begin{align}
I &= \Delta Q \\
I &= m_2v_2 - m_1v_1 
\end{align}

## 2.4 Resposta impulsiva para carregamentos de formato definido

Para certos carregamentos impulsivos em que o formato do carregamento influencia na resposta do sistema, exite um ábaco para a definição do fator de amplificação.





A partir do ábaco, tendo como dado de e entrada a razão entre o tempo de duração do impulso e o período de oscilação do sistema, retira-se o fator de amplificação dinâmica.

\begin{align}
u_{dyn} &= A  u_{est}
\end{align}

## 2.5 Aproximação para análise de carregamento impulsivo

Para carregamentos com duração menor que $\frac{T_n}{4}$, em que $T_n$ é o período de oscilação do sistema, o formato do carregamento não é de suma importância para a resposta do sistema, sendo possível considerar o impulso como uma velocidade inicial aplicada ao sistema.

Considerando que o sistema está em repouso e aplicando o teorema do impulso, representa-se o impulso por uma velocidade inicial.

\begin{align}
I &= m(v - v_0) \\
v &= \frac{I}{m}
\end{align}





Então, para uma vibração livre não-amortecida é possível escrever a equação de equilíbrio como:

\begin{align}
u(t) &= \frac{v}{\omega_n} \sin{\omega_n t} \\
u(t) &= \frac{I}{m \omega_n} \sin{\omega_n t}
\end{align}

Sendo possível calcular o deslocamento máximo por:

\begin{align}
u_{max} = \frac{I}{m \omega_n}
\end{align}

Para a vibração livre amortecida, utiliza-se o mesmo procedimento de substituir o carregamento impulsivo por uma velocidade inicial.

### Consideração importante:

E  se o projétil que colidiu com o sistema permanecer acoplado neste após a colisão? Utiliza-se a conservação da quantidade de movimento

\begin{align}
Q_{final}  &= Q_{inicial}\\
(m_p + m)v &= m_pv_p + mv_0 \\
v          &=\frac{m_pv_p + mv_0}{m_p+m} \\
u(t) &= \frac{v}{ \omega_n} \sin{\omega_n t}
\end{align}

É importante ressaltar que a frequência natural do sistema deve ser calculada com a massa total, visto que isso provocará alterações significativas no comportamento do sistema.


```python

```

58feb240ab90a599e08f48ac2e339b1cd65f6f4b
ipynb
Jupyter Notebook
Aula 6 - Vibracao forcada.ipynb
danielbmmatos/Pre-Vibracoes
2b62c532fa78060c05be9bf5c4a3330f0751d966
MIT
2020-03-25T01:25:10.000Z
2020-05-25T14:44:08.000Z
Aula 6 - Vibracao forcada.ipynb
danielbmmatos/Pre-Vibracoes
2b62c532fa78060c05be9bf5c4a3330f0751d966
MIT
Aula 6 - Vibracao forcada.ipynb
danielbmmatos/Pre-Vibracoes
2b62c532fa78060c05be9bf5c4a3330f0751d966
MIT
2021-03-10T18:05:51.000Z
2021-04-12T01:14:59.000Z
Qwen/Qwen-72B
1. YES
2. YES