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
'파이썬' 카테고리의 다른 글
Python 환경에서 지역 변수와 전역 변수 (global) (0) | 2023.11.06 |
---|---|
데이터 프레임에서 특정 데이터 추출(globals()) (2) | 2023.10.18 |
Monin-Obukhov Similarity Theory Curve 파이썬으로 그려보기 (0) | 2023.09.19 |
WRF-PYTHON 라이브러리로 WRF 결과물 시각화 (getvar, smooth2d) (2) | 2023.09.01 |
작업29: NCL로 시각화한 자료 파이썬으로 gif 만들기2 (0) | 2023.06.25 |