sábado, 11 de noviembre de 2023

CICLO_TERMODINAMICO_PYTHON


Elabora un codigo Python para resolver el siguiente ciclo termodinamico: Un cilindro-Piston contiene 10 moles de una gas Diatomico a una presión de 500 KPa y un volumen de 0,249 m3, el Gas experimenta el siguiente ciclo: un proceso inicial de expansión adiabática hasta alcanzar un volumen de 0,479 m3; luego una transformación isotérmica hasta una presión de 100KPa; a continuación se comprime isobáricamente, hasta alcanzar el volumen inicial, y finalmente sufre una evolicion isocorica hasta recuperar el estado inicial. Obtener

a. P, V y T de todos los estados.

b. Diagrama P-V del ciclo.

c. Q,U y W de todos los procesos.

https://colab.research.google.com/drive/19KPQyJE7cyg16ULuBJw6mzkhlB4zM7ya#scrollTo=SBrE4qkPu4t4&line=88&uniqifier=1

import numpy as np
import matplotlib.pyplot as plt
from scipy.constants import R # Constante universal de los gases


# Datos iniciales
n = 10 # moles
P1 = 500e3 # Presión inicial en Pa
V1 = 0.249 # Volumen inicial en m^3
gamma = 7/5 # Índice adiabático para un gas diatómico

# Estado inicial (1)
T1 = P1 * V1 / (n * R) # Ley de gas ideal para calcular la temperatura inicial

# Proceso 1-2: Expansión adiabática
V2 = 0.479 # Volumen final del proceso adiabático en m^3
P2 = P1 * (V1 ** gamma) / (V2 ** gamma) # Relación adiabática
T2 = P2 * V2 / (n * R) # Ley de gas ideal

# Proceso 2-3: Transformación isotérmica
P3 = 100e3 # Presión final en Pa
V3 = n * R * T2 / P3 # Ley de Boyle-Mariotte para volumen en transformación isotérmica

# Proceso 3-4: Compresión isobárica
# El volumen final es igual al volumen inicial (V1), y la presión es constante (P3)
T4 = P3 * V1 / (n * R) # Temperatura en el estado 4

# Proceso 4-1: Evolución isocórica
# La presión aumenta a P1 y el volumen es constante (V1)
T5 = T1 # En realidad es el estado inicial, nombrado T5 para claridad de proceso
P5 = P1 # Es el estado inicial, nombrado P5 para claridad

# Cálculo de trabajo y calor
# Para un proceso adiabático, Q = 0, y el trabajo es la diferencia de energía interna
W12 = (n * R * (T1 - T2)) / (gamma - 1)
Q12 = 0 # Proceso adiabático
U12 = Q12 - W12 # Cambio de energía interna es igual al trabajo realizado ya que Q = 0

# Para una transformación isotérmica, el trabajo es el área bajo la curva en un diagrama PV
W23 = n * R * T2 * np.log(V3/V2)
Q23 = W23 # Proceso isotérmico: ΔU = 0, entonces Q = W
U23 = Q23 - W23 # Cambio de energía interna es cero en transformación isotérmica

# Para compresión isobárica, el trabajo realizado es el producto de la presión y el cambio de volumen
W34 = P3 * (V1 - V3)
Q34 = n * R * (T4 - T2) # Uso de T2 por error, debe ser T3, pero en isobara T3 = T4
U34 = Q34 - W34 # Cambio de energía interna

# Para evolución isocórica, W = 0 y Q = ΔU
W41 = 0
Q41 = n * R * (T1 - T4) # De nuevo, error en el uso de T4, debe ser T5 que es igual a T1
U41 = Q41

# Ahora, generaremos el diagrama P-V
V = np.linspace(V1, V2, 100)
P_adiabatic = P1 * (V1 ** gamma) / (V ** gamma)
plt.plot(V, P_adiabatic, label='Adiabática 1-2')

# Isotérmica 2-3
V = np.linspace(V2, V3, 100)
P_isotherm = n * R * T2 / V
plt.plot(V, P_isotherm, label='Isotérmica 2-3')

# Isobárica 3-4
plt.plot([V3, V1], [P3, P3], label='Isobárica 3-4')

# Isocórica 4-1
plt.plot([V1, V1], [P3, P1], label='Isocórica 4-1')

# Final touches to the plot
plt.xlabel('Volumen (m^3)')
plt.ylabel('Presión (Pa)')
plt.legend()
plt.title('Diagrama P-V del ciclo termodinámico')
plt.show()

# Imprimir resultados
print(f"Estado 1: P = {P1/1e3} kPa, V = {V1} m³, T = {T1} K")
print(f"Estado 2: P = {P2/1e3} kPa, V = {V2} m³, T = {T2} K")
print(f"Estado 3: P = {P3/1e3} kPa, V = {V3} m³, T = {T2} K")
print(f"Estado 4: P = {P3/1e3} kPa, V = {V1} m³, T = {T4} K")

print(f"\nTrabajo y calor para cada proceso:")
print(f"Proceso 1-2: Q = {Q12} J, U = {U12} J, W = {W12} J")
print(f"Proceso 2-3: Q = {Q23} J, U = {U23} J, W = {W23} J")
print(f"Proceso 3-4: Q = {Q34} J, U = {U34} J, W = {W34} J")
print(f"Proceso 4-1: Q = {Q41} J, U = {U41} J, W = {W41} J")

RESULTADOS



Estado 1: P = 500.0 kPa, V = 0.249 m³, T = 1497.3908203095368 K Estado 2: P = 200.0688019414474 kPa, V = 0.479 m³, T = 1152.6055324668162 K Estado 3: P = 100.0 kPa, V = 0.9583295612995328 m³, T = 1152.6055324668162 K Estado 4: P = 100.0 kPa, V = 0.249 m³, T = 299.47816406190736 K Trabajo y calor para cada proceso: Proceso 1-2: Q = 0 J, U = -71667.6096751168 J, W = 71667.6096751168 J Proceso 2-3: Q = 66459.30514411975 J, U = 0.0 J, W = 66459.30514411975 J Proceso 3-4: Q = -70932.9561299533 J, U = -1.4551915228366852e-11 J,
W = -70932.95612995328 J Proceso 4-1: Q = 99600.0 J, U = 99600.0 J, W = 0 J











No hay comentarios.:

Publicar un comentario