Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- g = 9.81
- e = 2.71828182845904523536028747135266249775724709369995 --you don't usually need this many
- engines={}
- tanks={}
- engines[1]={name="48-7S", isp = 350, mass = 100, thrust = 20000}
- engines[2]={name="LV-N",isp = 800, mass = 2250, thrust = 60000}
- engines[3]={name="LV-909", isp = 390, mass = 500, thrust = 50000}
- engines[4]={name="Aerospike", isp = 390, mass = 1500, thrust = 175000}
- engines[5]={name="LV-T30", isp = 370, mass = 1250,thrust = 215000}
- engines[6]={name="LV-1",isp=290, mass=30,thrust=1500}
- engines[7]={name="Skipper",isp=350, mass=4000,thrust=650000}
- engines[8]={name="Mainsail",isp=330, mass=6000,thrust=1500000}
- engines[9]={name="Poodle",isp=390, mass=2500,thrust=220000}
- tanks[1]={wetmass=562.5, drymass = 62.5, name = "FL-T100"}
- tanks[2]={wetmass=1125, drymass = 125, name = "FL-T200"}
- tanks[3]={wetmass=562.5+1125, drymass = 62.5+125, name = "FL-T200+FL-T100"}
- tanks[4]={wetmass=2250, drymass = 250, name = "FL-T400"}
- tanks[5]={wetmass=2250+562.5, drymass = 62.5+250, name = "FL-T400+FL-T100"}
- tanks[6]={wetmass=3375, drymass = 375, name = "FL-T400+FL-T200"}
- tanks[7]={wetmass=2250+1125+562.5, drymass = 62.5+125+250, name = "FL-T400+FL-T200+ FL-T100"}
- tanks[8]={wetmass=4500, drymass=500, name="FL-T800"}
- function getkemass(tank, engine)
- local initialmass = tank.wetmass+engine.mass
- local finalmass = tank.drymass+engine.mass
- local deltav = math.log(initialmass/finalmass)*engine.isp*g --tsiolkovsky's rocket equation
- local kineticenergy = (finalmass/2)*(deltav)^2
- return deltav, kineticenergy/finalmass
- end
- function printf(...)
- print(string.format(...))
- end
- for k,engine in pairs(engines) do
- for k2,tank in pairs(tanks) do
- local deltav, kemass = getkemass(tank,engine)
- printf("Engine: %s\t, Tanks: %s\t, Delta-v = %f\t KE/Mass = %e",engine.name, tank.name, deltav, kemass)
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement