<jupyter_start><jupyter_text>Pré-Introdução à teoria das vibrações Aula 2 - Elementos de mola *<NAME> <NAME> (Aluno PPGEC/UFRGS)*<jupyter_code>import numpy as np
import matplotlib.pyplot as plt<jupyter_output><empty_output><jupyter_text>1. Equação da molaA mola é responsável por representar as forças restitutivas do sistema, sendo estas causadas por **deformações** em seu comprimentoTambém chamada de forçarestitutiva , a forçaelástica atua contra a direção do movimento e temseu módulo calculado por:\begin{align}F_{el} = Kx\end{align}Onde K é a **rigidez** da mola ( constante elástica) e x a deformação. É válido lembrar que a energia potencial elástica para uma mola linear pode ser calculada por:\begin{align}U =\frac{ Kx^2}{2}\end{align}  2. Associação de molas em sérieNeste tópico, criaremos uma função para calcular a **rigidez equivalente** para molas em série. Relembrando a teoria, molas em série são aquelas que estão sujeitas a mesma força, podendo apresentar deformações iguais ou diferentes. A figura abaixo ilustra esta associação. Chamando de $K_1$ e $K_2$ a rigidez de cada mola, é possível deduzir a equação da mola equivalente.\begin{align}F_1 &= K_1x_1\\F_2 &= K_2x_2 \\F &= K_{eq} x_{eq}\\F &= F_1 = F_2\end{align}Igualando as forças a força total que atua no sistema, é possível escreve:\begin{align}F &= F_1 = F_2 \\x_{eq} &= x_1+x_2 \\x_{eq} &= \frac{F_1}{K_1} + \frac{F_2}{K_2}\end{align}Agora, substituindo as forças por $F$, pode-se escrever que:\begin{align}\frac{F}{K_{eq}} = \frac{F}{K_1} + \frac{F}{K_2}\end{align}Sendo assim, chega-se a seguinte expressão genérica:\begin{align}\frac{1}{K_{eq}} = \frac{1}{K_1} + \frac{1}{K_2}+... + \frac{1}{K_n}\end{align} Agora, monta-se o script:<jupyter_code>def serie(x):                       #x será uma lista com a rigidez de cada mola
    keq_inv = 0
    for i in range(len(x)):        # loop para fazer a soma dos inversos
        keq_inv += 1/x[i]
    keq = 1/keq_inv                # invertendo para resultar na rigidez equivalente.
    
    return keq

x = [2,6,16]
keq = serie(x)

print(keq)<jupyter_output>1.3714285714285714<jupyter_text>3. Associação de molas em paraleloPara molas em paralelo, será feito o mesmo procedimento.De acordo com o exposto, é possível visualisar agora que $ F = F_1 + F_2$ e $x_{eq} = x_1 = x_2$, sendo fácil deduzir que:\begin{align}K_{eq}x_{eq} &= K_{1}x_{1} + K_{2}x_{2}\\\end{align}cancelando as deformações, é possível escrever:\begin{align}K_{eq} &= K_{1}+ K_{2}+...+ K_N\end{align}<jupyter_code>def paralelo(x):                       #x será uma lista com a rigidez de cada mola
    keq = np.sum(x)             # invertendo para resultar na rigidez equivalente.
    
    return keq

x = [2,6,16]
keq = paralelo(x)

print(keq)<jupyter_output>24<jupyter_text>Existem outros tipos de associação de molas, porém os mais importantes estão expostos neste notebook. A associação de amortecedores é exatamente igual à de molas, sendo possível utilizar as mesmas expressões.  4. Exercícioconsiderando $ K1 = 5 \frac{N}{m}$ e $K2= 10 \frac{N}{m}$, calcular a rigidez equivalente. Nota-se que a associação é mista, sendo necessário resolver por etapas.Primeiramente, faz-se a associação dos sistemas que estão em paralelo ( cada um em um "andar")<jupyter_code>keq1 = paralelo([5,5,5])
keq2 = paralelo([10,10])<jupyter_output><empty_output><jupyter_text>E agora associa-se em série as duas resultantes já encontradas:<jupyter_code>keq = serie([keq1,keq2])
print("a rigidez equivalente vale {}".format(keq))<jupyter_output>a rigidez equivalente vale 8.571428571428571
{'fraction_non_alphanumeric': 0.11465324384787472, 'fraction_numerical': 0.02936241610738255, 'mean_word_length': 4.511556240369799, 'pattern_counts': {'":': 0, '<': 20, '<?xml version=': 0, '>': 20, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '5', 'dir': 'jupyter-structured-clean-dedup', 'id': '530261', 'license': 'MIT', 'n_tokens_mistral': 1448, 'n_tokens_neox': 1395, 'n_words': 401, 'path': '.ipynb_checkpoints/Aula 2- Elementos de mola-checkpoint.ipynb', 'repo_name': 'danielbmmatos/Pre-Vibracoes', 'size': '3593'}