Untitled
unknown
python
3 years ago
3.1 kB
10
Indexable
import math # Дано: # Время работы двигателей t1 = 148 t2 = 115 t3 = 475 # Сила F1, F2, F3 в Н f1 = 2962 * 10 ** 3 f2 = 742 * 10 ** 3 f3 = 167 * 10 ** 3 # Гравитационная постоянная в м**3 * кг** -1 * с**-2 G = 6.6743 * 10 **-11 # Массы Топлива m1 = 172 * 10 ** 3 m2 = 30 * 10 ** 3 m3 = 18 * 10 ** 3 # Масса Земли M = 5.9742 * 10 ** 24 # Масса спутника ms = 2350 # Масса железяк mr1 = 9900 mr2 = 5900 mr3 = 1000 # Скорости сжигания топлива dm1 = m1 / t1 dm2 = m2 / t2 dm3 = m3 / t3 # Радиус Земли R = 6371 * 10 ** 3 # Угол в радиах PI = math.acos(-1) print(PI) angle = PI / 2 #Угол скорее всего будем менять (искать оптимальный) # Решение 1 этап (Вывод на орбиту) #file = open('calc1stagev2.txt', 'w') # Первая ступень v0 = 0 ay = 0 ax = 0 rocketm = m1 + m2 + m3 + mr1 + mr2 + mr3 + ms print(rocketm) h0 = 0 h = 0 l0 = 0 l = 0 vx0 = 0 vy0 = 0 fuelpotracheno = 0 for t in range(0, t1 + t2 + t3 + 1): #1 stage if (t < t1 + 1): ft = (G * M * rocketm) / ((R + h) ** 2) g = (G * M) / ((R + h) ** 2) ay = (f1 * math.sin(angle) - ft) / rocketm ax = (f1 * math.cos(angle)) / rocketm vy = vy0 + ay vx = vx0 + ax h0 = h l0 = l h = h + vy0 + ay/2 l = l + vx0 + ax/2 vy0 = vy vx0 = vx fuelpotracheno = fuelpotracheno + dm1 rocketm = rocketm - dm1 print(t,angle,ay,ax,vy,vx,h,l,fuelpotracheno,rocketm) #2 stage if (t > t1 and t < t1 + t2 + 1): angle = PI / 3 ft = (G * M * (rocketm - mr1)) / ((R + h) ** 2) g = (G * M) / ((R + h) ** 2) ay = (f2 * math.sin(angle) - ft) / (rocketm - mr1) ax = (f2 * math.cos(angle)) / (rocketm - mr1) vy = vy0 + ay vx = vx0 + ax h0 = h l0 = l h = h + vy0 + ay/2 l = l + vx0 + ax/2 vy0 = vy vx0 = vx fuelpotracheno = fuelpotracheno + dm2 rocketm = rocketm - dm2 print(t - t1,angle,ay,ax,vy,vx,h,l,fuelpotracheno,rocketm - mr1) #3 stage if (t > t1 + t2): angle = PI / 4 ft = (G * M * (rocketm - mr1 - mr2)) / ((R + h) ** 2) g = (G * M) / ((R + h) ** 2) ay = (f3 * math.sin(angle) - ft) / (rocketm - mr1 - mr2) ax = (f3 * math.cos(angle)) / (rocketm - mr1 - mr2) vy = vy0 + ay vx = vx0 + ax h0 = h l0 = l h = h + vy0 + ay/2 l = l + vx0 + ax/2 vy0 = vy vx0 = vx fuelpotracheno = fuelpotracheno + dm3 rocketm = rocketm - dm3 print(t - t1 - t2,angle,ay,ax,vy,vx,h,l,fuelpotracheno,rocketm - mr1 - mr2) print(23000000/ (PI * R)) # Вопрос 1: Как посчитать расход топлива? # Вопрос 2: Как учесть сопротивление воздуха? и нужно ли? # Вопрос 3: Пока не придумал?
Editor is loading...