Параметры атмосферы
unknown
plain_text
2 years ago
3.3 kB
7
Indexable
import math
# Исходные данные для КР
N = 11
с = 90
b = 1100
H = (10 + 0.5 * N) * 1000
M = 4+0.15 * N
alfa = 2 + 0.1 * N
Tct = 405
Rekr = 5 * 10 ** 6
# Исходные данные для атмосферы
r = 6356767
g0 = 9.80665
R = 287.05287
i = 0
# Функции атмосферы
def geometrich_v():
h = (r * H) / (r - H) # Геометрическая высота
return h
def yskorenie_s_p():
g = g0 * (r / (r + h)) ** 2 # Ускорение свободного падения
return g
def parametry_t():
# Параметры, для определения температуры
if (H >= -2001) and (H < 0): # 3-4 стр. ГОСТа
Hx = -2000
batm = -0.0065
Tx = 301.15
px = 127774
elif (H >= 0) and (H <= 11000): # 5-15 стр. ГОСТа
Hx = 0
batm = -0.0065
Tx = 288.15
px = 101325
elif (H > 11000) and (H < 20000): # 15-24 стр. ГОСТа
Hx = 11000
Tx = 216.65
batm = 0
px = 22632
elif (H >= 20000) and (H < 32000): # 25-36 стр. ГОСТа
Hx = 20000
batm = 0.001
Tx = 216.65
px = 5474.87
elif (H >= 32000) and (H < 47000): # 37-43 стр. ГОСТа
Hx = 32000
batm = 0.0028
Tx = 228.65
px = 868.014
elif (H >= 47000) and (H < 51000): # 43-46 стр. ГОСТа
Hx = 47000
Tx = 270.65
batm = 0
px = 110.906
elif (H >= 51000) and (H < 71000): # 45-52 стр. ГОСТа
Hx = 51000
batm = -0.0028
Tx = 270.650
px = 66.9384
elif (H >= 71000) and (H < 85000): # 51-53 и 159 стр. ГОСТа
Hx = 71000
batm = -0.002
Tx = 214.65
px = 3.95639
return [Hx, batm, Tx, px]
def temperatura():
T = Tx + batm * (H - Hx) # Температура
return T
def davlenie():
if batm != 0: # Давление
p = 10 ** (math.log10(px) - (g0 / (batm * R)) * math.log10(T / Tx))
else:
p = 10 ** (math.log10(px) - ((0.434294 * g0 * (H - Hx)) / (T * R)))
return p
def plotnost():
ro = p / (R * T) # Плотность
return ro
def skorost_z():
a = 20.046796 * math.sqrt(T) # Скорость звука
return a
def vivod():
print("Геопотенциальная высота: " + "{:.0f}".format(H) + ' м')
print("Геометрическая высота: " + "{:.0f}".format(h) + ' м')
print("Ускорение свободного падения: "+str(round(g,3))+' м/с^2')
print("Температура: "+str(round(T/100,3))+' * 10^2 K')
print("Давление: "+str(round(p/10000,3))+' * 10^4'+' Па')
print('Плотность: '+str(round(ro,4))+' * 10^-1'+' кг/м^3')
print("Скорость звука: "+str(round(a/100,3))+' * 10^2 м/с')
print(' ')
return
h = geometrich_v()
g = yskorenie_s_p()
list = parametry_t()
Hx = list [0]
batm = list [1]
Tx = list [2]
px = list [3]
T = temperatura()
p = davlenie()
ro = plotnost()
a = skorost_z()
Vmin = 1.38*a
vivod = vivod()Editor is loading...