Você está na página 1de 6

18/09/2023, 10:18 Trabalho Teórico.

ipynb - Colaboratory

1 import numpy as np
2 import matplotlib.pyplot as plt
3
4 # Parâmetros do problema
5 Lx = 0.03 # Comprimento da barra (30 mm em metros)
6 Ly = 0.02 # Largura da barra (20 mm em metros)
7 k = 20.0 # Condutividade térmica (W/(m.K))
8 T0 = 300.0 # Temperatura inicial (K)
9 q = 5e7 # Taxa de geração de calor (W/m^3)
10
11 #Número de interações (pode ser ajustado)
12 num_iterations = 1000
13
14 # Função para calcular a temperatura em cada nó
15 def calcular_temperaturas(Lx, Ly, k, q, T0, dx, dy, num_iterations):
16 # Tamanho do passo na malha
17 Nx = int(Lx / dx) + 1
18 Ny = int(Ly / dy) + 1
19
20 # Matriz de temperaturas
21 T = np.ones((Ny, Nx)) * T0
22
23 # Condições de contorno
24 T[:, 0] = 300.0 # Temperatura na superfície
25 T[:, -1] = 300.0 # Temperatura na superfície
26
27 # Parâmetro de relação (pode ser ajustado)
28 alpha = 0.1
29
30 # Loop principal para iterar e resolver
31 for iteration in range(num_iterations):
32 T_new = T.copy() # Matriz temporária para armazenar os novos valores
33
34 for i in range(1, Ny - 1):
35 for j in range(1, Nx - 1):
36 # Método de diferenças finitas para atualizar a temperatura
37 T_new[i, j] = (1 - 4 * alpha) * T[i, j] + alpha * (T[i - 1, j] + T[i + 1, j] + T[i, j - 1] + T[i, j + 1]
38 + (q / k) * dx * dy)
39
40 T = T_new # Matriz de temperatura para a próxima iteração
41
42 return T
43
44 # Tamanhos do passo na malha
45 dx_values = [0.005, 0.01, 0.0025, 0.001] # Espaçamentos na malha (5 mm, 10 mm, 2.5 mm e 1mm em metros)
46 dy_values = [0.005, 0.01, 0.0025, 0.001] # Espaçamentos na malha (5 mm, 10 mm, 2.5 mm e 1mm em metros)
47
48
49 # Tolerância para a convergência
50 tolerancia = 1e-5
51
52 # Loop para calcular e comparar diferentes espaçamentos na malha
53 for dx, dy in zip(dx_values, dy_values):
54 # Calcula as temperaturas com base nos parâmetros e malha especificados
55 temperaturas = calcular_temperaturas(Lx, Ly, k, q, T0, dx, dy, num_iterations)
56
57 # Imprimir as temperaturas diferentes de T0
58 unique_temperatures = np.unique(temperaturas)
59 for temp in unique_temperatures:
60 if temp != T0:
61 print(f'Temperatura = {temp:.2f} K')
62
63 print()
64
65 # Geração de gráfico da temperatura em relação ao nó
66 node_numbers = np.arange(1, temperaturas.shape[1] + 1)
67 temperature_profile = temperaturas[temperaturas.shape[0] // 2, :] # Temperaturas ao longo da barra
68
69 # Imprimir a taxa de geração de calor necessária
70 print(f'Número total de nós (dx={dx}m, dy={dy}m): {temperaturas.size}')
71 print()
72
73 plt.figure(figsize=(10, 4))
74 plt.subplot(1, 2, 1)
75 plt.plot(node_numbers, temperature_profile)
76 plt.xlabel('Nó')
77 plt.ylabel('Temperatura (K)')
78 plt.title(f'Distribuição de temperatura ao longo da barra (dx={dx}m, dy={dy}m)')
79 plt.grid(True)
80
81 # Geração de gráfico da disposição dos nós na barra

https://colab.research.google.com/drive/19NccfKYJZhS22UI2SG67ZqOIvSmUZhcN#scrollTo=G1ZEpqWItlIt&printMode=true 1/6
18/09/2023, 10:18 Trabalho Teórico.ipynb - Colaboratory
82 x_coords, y_coords = np.meshgrid(np.linspace(0, Lx, temperaturas.shape[1]), np.linspace(0, Ly, temperaturas.shape[0]))
83 plt.subplot(1, 2, 2)
84 plt.scatter(x_coords, y_coords, c='r', marker='o', label='Nós')
85 plt.xlabel('Posição na direção x (m)')
86 plt.ylabel('Posição na direção y (m)')
87 plt.title('Disposição dos Nós na Barra')
88 plt.grid(True)
89 plt.legend()
90
91 plt.tight_layout()
92 plt.show()
93
94 # Resultados para plotagem
95 resultados = []
96
97 # Loop para calcular e comparar diferentes espaçamentos na malha
98 for dx, dy in zip(dx_values, dy_values):
99 # Calcula as temperaturas com base nos parâmetros e malha especificados
100 temperaturas = calcular_temperaturas(Lx, Ly, k, q, T0, dx, dy, num_iterations)
101 resultados.append((dx, dy, temperaturas))
102
103 # Geração de gráfico da temperatura ao longo do comprimento da barra
104 plt.figure(figsize=(10, 6))
105 for dx, dy, temperaturas in resultados:
106 length_values = np.linspace(0, Lx, temperaturas.shape[1])
107 temperature_profile = temperaturas[temperaturas.shape[0] // 2, :] # Temperaturas ao longo da barra
108 plt.plot(length_values, temperature_profile, label=f'dx={dx}m, dy={dy}m')
109
110 plt.xlabel('Comprimento da barra (m)')
111 plt.ylabel('Temperatura (K)')
112 plt.title('Distribuição de temperatura ao longo do comprimento da barra')
113 plt.grid(True)
114 plt.legend()
115
116 plt.tight_layout()
117 plt.show()
118

https://colab.research.google.com/drive/19NccfKYJZhS22UI2SG67ZqOIvSmUZhcN#scrollTo=G1ZEpqWItlIt&printMode=true 2/6
18/09/2023, 10:18 Trabalho Teórico.ipynb - Colaboratory

Temperatura = 348.46 K
Temperatura = 362.41 K
Temperatura = 368.94 K
Temperatura = 374.60 K
Temperatura = 390.21 K
Temperatura = 398.03 K

Número total de nós (dx=0.005m, dy=0.005m): 35

Temperatura = 383.33 K

Número total de nós (dx=0.01m, dy=0.01m): 12

Temperatura = 319.10 K
Temperatura = 319.10 K
Temperatura = 330.18 K
Temperatura = 330.59 K
Temperatura = 336.10 K
Temperatura = 336.10 K
Temperatura = 337.73 K
Temperatura = 337.97 K
Temperatura = 337.97 K
Temperatura = 342.06 K
Temperatura = 344.39 K
Temperatura = 345.12 K
Temperatura = 349.91 K
Temperatura = 360.61 K
Temperatura = 362.63 K
Temperatura = 364.05 K
Temperatura = 364.05 K
Temperatura = 370.48 K
Temperatura = 370.48 K
Temperatura = 374.75 K
Temperatura = 374.75 K
Temperatura = 376.10 K
Temperatura = 376.78 K
Temperatura = 376.78 K
Temperatura = 381.36 K
Temperatura = 381.36 K
Temperatura = 386.88 K
Temperatura = 386.88 K
Temperatura = 392.23 K
Temperatura = 392.23 K
Temperatura = 392.39 K
Temperatura = 392.39 K
Temperatura = 394.14 K
Temperatura = 398.18 K
Temperatura = 400.06 K

Número total de nós (dx=0.0025m, dy=0.0025m): 117

https://colab.research.google.com/drive/19NccfKYJZhS22UI2SG67ZqOIvSmUZhcN#scrollTo=G1ZEpqWItlIt&printMode=true 3/6
18/09/2023, 10:18 Trabalho Teórico.ipynb - Colaboratory

Temperatura = 304.47 K
Temperatura = 307.68 K
Temperatura = 307.69 K
Temperatura = 310.13 K
Temperatura = 310.17 K
Temperatura = 310.17 K
Temperatura = 312.04 K
Temperatura = 312.04 K
Temperatura = 312.14 K
Temperatura = 312.14 K
Temperatura = 313.54 K
Temperatura = 313.54 K
Temperatura = 313.63 K
Temperatura = 313.73 K
Temperatura = 314.70 K
Temperatura = 315.04 K
Temperatura = 315.56 K
Temperatura = 316.11 K
Temperatura = 316.16 K
Temperatura = 316.51 K
Temperatura = 316.51 K
Temperatura = 316.63 K
Temperatura = 316.98 K
Temperatura = 317.69 K
Temperatura = 318.25 K
Temperatura = 318.30 K
Temperatura = 318.30 K
Temperatura = 318.35 K
Temperatura = 318.69 K
Temperatura = 319.02 K
Temperatura = 319.25 K
Temperatura = 319.39 K
Temperatura = 319.43 K
Temperatura = 322.00 K
Temperatura = 322.16 K
Temperatura = 322.16 K
Temperatura = 324.93 K
Temperatura = 324.93 K
Temperatura = 324.94 K
Temperatura = 325.27 K
Temperatura = 327.20 K
Temperatura = 327.82 K
Temperatura = 328.90 K
Temperatura = 329.92 K
Temperatura = 330.08 K
Temperatura = 330.26 K
Temperatura = 330.26 K
Temperatura = 330.39 K
Temperatura = 330.78 K
Temperatura = 331.01 K
Temperatura = 331.63 K
Temperatura = 333.03 K
Temperatura = 333.03 K
Temperatura = 334.14 K
Temperatura = 334.49 K
Temperatura = 334.88 K
Temperatura = 334.88 K
Temperatura = 335.01 K
Temperatura = 335.67 K
Temperatura = 336.12 K
Temperatura = 336.39 K
Temperatura = 336.47 K
Temperatura = 337.11 K
Temperatura = 337.80 K
Temperatura = 338.58 K
Temperatura = 338.58 K
Temperatura = 340.28 K
Temperatura = 341.63 K
Temperatura = 342.01 K
Temperatura = 342.51 K
Temperatura = 342.80 K
Temperatura = 343.03 K
Temperatura = 343.37 K
Temperatura = 344.14 K
Temperatura = 346.18 K
Temperatura = 346.75 K
Temperatura = 346.75 K
Temperatura = 347.52 K
Temperatura = 347.52 K
Temperatura = 347.81 K
Temperatura = 349.09 K
Temperatura = 349.22 K
Temperatura = 349.95 K
Temperatura = 350.04 K
Temperatura = 350.71 K
Temperatura = 350.71 K
Temperatura = 351.10 K
https://colab.research.google.com/drive/19NccfKYJZhS22UI2SG67ZqOIvSmUZhcN#scrollTo=G1ZEpqWItlIt&printMode=true 4/6
18/09/2023, 10:18 Trabalho Teórico.ipynb - Colaboratory
p
Temperatura = 351.10 K
Temperatura = 351.23 K
Temperatura = 351.43 K
Temperatura = 351.43 K
Temperatura = 352.18 K
Temperatura = 353.50 K
Temperatura = 353.50 K
Temperatura = 353.93 K
Temperatura = 353.93 K
Temperatura = 354.29 K
Temperatura = 354.65 K
Temperatura = 354.65 K
Temperatura = 354.82 K
Temperatura = 354.82 K
Temperatura = 357.27 K
Temperatura = 357.27 K
Temperatura = 358.12 K
Temperatura = 359.38 K
Temperatura = 359.47 K
Temperatura = 360.61 K
Temperatura = 360.61 K
Temperatura = 360.81 K
Temperatura = 361.02 K
Temperatura = 362.26 K
Temperatura = 362.26 K
Temperatura = 362.39 K
Temperatura = 362.39 K
Temperatura = 362.92 K
Temperatura = 362.92 K
Temperatura = 363.12 K
Temperatura = 363.31 K
Temperatura = 363.62 K
Temperatura = 363.79 K
Temperatura = 365.00 K
Temperatura = 365.87 K
Temperatura = 365.87 K
Temperatura = 366.44 K
Temperatura = 366.44 K
Temperatura = 368.08 K
Temperatura = 368.96 K
Temperatura = 369.91 K
Temperatura = 369.91 K
Temperatura = 370.23 K
Temperatura = 370.23 K
Temperatura = 370.51 K
Temperatura = 370.51 K
Temperatura = 370.75 K
Temperatura = 370.93 K
Temperatura = 372.41 K
Temperatura = 373.44 K
Temperatura = 373.80 K
Temperatura = 374.05 K
Temperatura = 374.05 K
Temperatura = 374.18 K
Temperatura = 374.18 K
Temperatura = 374.25 K
Temperatura = 375.52 K
Temperatura = 375.52 K
Temperatura = 376.21 K
Temperatura = 376.66 K
Temperatura = 376.66 K
Temperatura = 376.88 K
Temperatura = 378.91 K
Temperatura = 379.24 K
Temperatura = 379.24 K
Temperatura = 379.42 K
Temperatura = 380.60 K
Temperatura = 380.60 K
Temperatura = 381.45 K
Temperatura = 381.77 K
Temperatura = 382.18 K
Temperatura = 382.18 K
Temperatura = 382.47 K
Temperatura = 382.47 K
Temperatura = 382.57 K
Temperatura = 382.69 K
Temperatura = 383.39 K
Temperatura = 385.03 K
Temperatura = 385.75 K
Temperatura = 386.53 K
Temperatura = 386.53 K
Temperatura = 386.73 K
Temperatura = 386.89 K
Temperatura = 386.89 K
Temperatura = 388.18 K
Temperatura = 388.18 K
Temperatura = 388.94 K
Temperatura = 389.19 K
Temperatura = 389.21 K
Temperatura = 389.21 K

https://colab.research.google.com/drive/19NccfKYJZhS22UI2SG67ZqOIvSmUZhcN#scrollTo=G1ZEpqWItlIt&printMode=true 5/6
18/09/2023, 10:18 Trabalho Teórico.ipynb - Colaboratory
Temperatura = 389.36 K
Temperatura = 390.04 K
Temperatura = 390.04 K
Temperatura = 391.33 K
Temperatura = 391.94 K
Temperatura = 392.71 K
Temperatura = 392.79 K
Temperatura = 392.79 K
Temperatura = 393.52 K
Temperatura = 393.52 K
Temperatura = 393.79 K
Temperatura = 393.99 K
Temperatura = 393.99 K
Temperatura = 394.87 K
Temperatura = 394.87 K
Temperatura = 395.41 K
Temperatura = 396.25 K
Temperatura = 396.31 K
Temperatura = 396.53 K
Temperatura = 397.16 K
Temperatura = 397.44 K

Número total de nós (dx=0.001m, dy=0.001m): 651

Produtos pagos do Colab - Cancelar contratos

check 5s conclusão: 10:16

https://colab.research.google.com/drive/19NccfKYJZhS22UI2SG67ZqOIvSmUZhcN#scrollTo=G1ZEpqWItlIt&printMode=true 6/6

Você também pode gostar