파이썬

건조공기의 이상기체 방정식 그래프 그리기(대기 열역학)

이석사 중 2023. 9. 25. 22:56
728x90

오늘은 건조 공기의 이상기체 방정식인 Pv = RT(alpha가 없어서 v로 썼습니다)를 비적과 온도를 변화시켜가며 그려보겠습니다

 


이 포스팅은 대기 열역학 과제입니다

 

정확한 문제는 다음과 같습니다

 

문제 4. Pv = RT [for dry air], 건조공기이므로 R을 그대로 사용하여 v - P diagram을 그리시오 (v의 범위는 1.0 ~ 2.5)

 

먼저 코드입니다

import numpy as np
import matplotlib.pyplot as plt

x1 = np.arange(0.574, 2.51, 0.01)
x2 = np.arange(0.861, 2.51, 0.01)
x3 = np.arange(1.148, 2.51, 0.01)

t1 = 200
t2 = 300
t3 = 400

r = 287

p = []

for i in x1:
  p1 = (r * t1)/i
  p.append(p1/100)

p2 = []
for j in x2:
  p3 = (r * t2)/j
  p2.append(p3/100)

p4 = []
for k in x3:
  p5 = (r * t3)/k
  p4.append(p5/100)
  
fig, ax = plt.subplots(figsize = (15, 9))

ax.plot(x1, p, label = 'T = 200K')
ax.plot(x2, p2, label = 'T = 300K')
ax.plot(x3, p4, label = 'T = 400K')

ax.set_xlabel(r'$\alpha$ (units = $m^{3}/kg^{-1}$)', fontsize = 20)
ax.set_ylabel('Pressure (unit = hPa)', fontsize = 20)
ax.set_title(r'$\alpha$ - P Diagram', fontsize = 20)

ax.invert_yaxis()

ax.axvline(x = 1, c = 'k', ls = '--')

plt.ylim(1000, 100)

ax.grid()
ax.legend(loc = 'best')

비적의 범위가 정해져있기 하지만 저는 1000hPa일 때의 비적을 구해서 자연스럽게 끝까지 그려지게 했습니다

 

범위의 시작인 1 부분에 시작이라는 걸 알릴 수 있게 vertical line을 하나 추가했습니다

 

결과 그림입니다

비적은 단위 질량 당 부피로 단위가 m^3/kg^-1입니다

 

온도가 높을수록 공기 덩이리는 팽창하기 때문에 400K의 그래프가 비적이 가장 큰 것을 알 수 있습니다

 

또한 비적이 커질수록 압력은 작아지는 형태로 나타났기 때문에 그래프가 잘 그려진 것 같습니다

728x90