Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import math
- def stage(dv, I, m, k):
- d = math.exp(dv/I)-1
- f = m/k * d / (1/k-d)
- return f, f*k
- def dvmax(I, k):
- return I * math.log((k+1)/k)
- V = 10000-300 # скорость для выхода на орбиту
- N = 2 # количество ступеней
- dv1 = V / N # delta-v одной ступени
- m = 1 # масса спутника
- k = [0.01, 0.01] # масса конструкции ракеты по отношению в массе топлива
- I = [252, 313] # удельная тяга
- g = 9.81
- #dvm = dvmax(I, k)
- stages = []
- M = m
- #print("dv per stage max: %0.1f" % dvm)
- print("dv per stage: %0.1f" % dv1)
- for i in range(N):
- dvm = dvmax(I[i]*g, k[i])
- fuel, dry = stage(dv1, I[i]*g, M, k[i])
- ms = fuel + dry
- kms = ms / M
- print("dv: %i%% fuel: %0.1f dry: %0.1f total: %0.1f, payload: %0.1f mass coeff: %0.1f" % (dv1/dvm*100, fuel, dry, dry+fuel, M, kms))
- M += ms
- print("total mass = %0.1f" % M)
Advertisement
Add Comment
Please, Sign In to add comment