You are not logged in.
Pages: 1
Over the last couple days, I've been working on a program that will output the delta-V required to achieve orbit. My intent is to ultimately make it possible to calculate the delta-V to get to an arbitrary LEO while taking into account air drag, gravity drag, the rotation of the Earth, and even potentially with an option to set a thrust ceiling for the case of human occupants.
My first program assumes that the rocket begins firing at some distance from the object's center of mass R0, and remains at this same distance from the center of mass, firing in such a direction as to just counteract the force of gravity while also accelerating in the horizontal direction. This is closest to the means by which one would achieve orbit in a place like the Moon. On Earth or even Mars, you would also desire to raise the orbit to a level higher than the elevation of the surface, and you would be subject to some amount of air drag.
I have assumed that the rocket launches from the equator of the body, and that the rocket launches in the direction of the surface's motion.
A text file containing my code, hosted on Google, is at the end of the post. It is written in MATLAB. If you would like to run it on your own machine, you can download FreeMat, which is the freeware equivalent, copy-paste your code into a script, and run the script.
While this calculator is not a reasonable estimate of the delta-V required to liftoff from Earth, it does give a couple interesting results. I'm talking particularly about the Isp and Thrust-To-Weight inputs.
I'll talk about Thrust-to-Weight first because it's more intuitive. For the purposes of this calculator, I assumed that the rocket burns with the same thrust all the way from liftoff to Main Engine Cutoff. Because the weight of the rocket goes down as it burns fuel while the thrust remains constant, the thrust-to-weight ratio increases with time. The higher the thrust to weight ratio, the smaller the percentage of thrust lost to gravity drag. From the calculator, the total delta-V as a function of the thrust-to-weight is as follows:
I used Earth's properties, and an exhaust velocity of 4,500 m/s (This does matter, I'll show how later). The long-run value of this graph is the case of infinite thrust, in which the delta-V required to achieve orbit is equal to the difference between Earth's orbital velocity and the speed you get from being on a rotating sphere. For values of Thrust-to-Weight at liftoff greater than 1.5, the increase in delta-V from gravity drag is actually less than the decrease from the rotation of the Earth. While this effect is significant, it is not large. For typical liftoff Thrust-to-Weight ratios of rockets designed to achieve orbit, (between about 1.1 and 1.5) the variation is about + 250 m/s. Between 1.2 and 1.4, which is even more typical, the variation is just +150 m/s.
The reason for the variation between the numbers I used and the actual delta-V to get from the surface of the Earth to LEO (Between 9 km/s and 10 km/s) is that I have't included the delta-V capacity required to get from the surface to the height of the LEO, and air drag.
The second factor that I investigated is the effect of exhaust velocity. These were done for a liftoff T/W of 1.2 (Think Falcon 9), and otherwise for Earth. I'll present my results first and explain them after.
This is not a simulation artifact but actually a real-world effect: The delta-V required to get to orbit is a function of the exhaust velocity of the rocket, and it increases with increasing exhaust velocity. The reason for this is that rockets with a lower exhaust velocity end up having a higher fuel fraction than their higher exhaust velocity counterparts, and therefore the mean thrust-to-weight of these rockets is higher, so more impulse goes to increasing the horizontal motion than to fighting gravity. It's a pretty small effect; Reasonable exhaust velocities fall between 3 and 4.5 km/s, and the variation due to exhaust velocity within this range is just +150 m/s.
For my next iteration of this code, I intend to allow for the fact that the final orbit altitude will not be the same as the initial orbit altitude, while still neglecting the air resistance. This is the case on most bodies in the solar system, because you have to orbit high enough to avoid any surface unevenness. It will be valid for bodies with minimal or no atmospheres such as the Moon or Mars. The final (well, probably the final) iteration of this code will account for atmospheric drag.
Below, you will see a table of solar system bodies, along with the delta-V required to achieve orbit according to this program, using an exhaust velocity of 4,500 m/s and a liftoff Thrust-to-Weight ratio of 1.2. Note that the thrust-to-weight ratio is relative to the gravity field in which the rocket resides, so that a rocket with a thrust-to-weight ratio of 3 on the Moon would be unable to liftoff on Earth. This is not necessarily an optimal design, and figures are presented only for the purpose of calculation. The third column says whether or not this is the true delta-V figure, taking into account necessary orbital altitudes and atmospheric drag.
If you have additional bodies for which you would like to know the delta-V, please feel free to use the calculator yourself.
-Josh
Offline
I have an interest in programming, I see that freemat is a math oriented language with strong interface with C+?
My languages of starting were a MetCal Industrial Script language, and Visual Basic 6.0.
I Still work strongly with the MetCal programming. It is currently 1 of my major activities for work. I will be retiring in a rather short time, and desire to keep programming.
I do work strongly with Excel VBA at work, and have dabbled in Visual Basic Studio 10, and Java, and VBScript.
I was thinking of trying to get into smartphone apps, just for giggles, working harder on Java and perhaps VBA for retirement programming, but do you feel that FreeMat is also worth it since it appears that it is freeware? I guess I might want to work with C++ then also.
I will look at your script harder when I have time. It should be very interesting I think. Although I expect I will advoid disrupting your train of though on your programming. I am not equiped to add value to what you are doing at this time.
However if you care to tell me what other things you have done with this language, it might suggest it's values to me.
Last edited by Void (2014-04-30 05:52:39)
End
Offline
Void-
I don't know C or any of its variants, so I can't speak to any interface between the two. What I can say is that Matlab is typically billed as a programming language/software for scientists and engineers. It has a variety of uses. I most often use it in situations like this, where I have a physical system that I want to model on a computer. The graphs in that last post were also produced in Matlab, though the table is a screenshot from excel.
It's just about the only programming language that I know (I'm planning to move onto javascript this summer) but I've found it to be quite powerful and for the most part quite intuitive. It can also be used to run experiments and to control equipment. I don't know if that functionality is built into freemat and I've never used it in Matlab either.
I like Matlab a lot, but I don't know how much it would add to your abilities if you know other programming languages. It's easy to learn, though, so it's probably worth playing around with.
-Josh
Offline
I know a little bit of MATLAB, but I far prefer Python. A lot of that may have to do with it being the first one I used (plus we were started on it at university before moving on to MATLAB) and propriety (I can't be doing with Imaginary Property)...
I really need to broaden and deepen my skills, since I'm hoping to start up some websites soon that will need it. I probably need to learn Java too, for apps. Gar. Java.
Use what is abundant and build to last
Offline
Pages: 1