-
Posts
697 -
Joined
-
Last visited
Content Type
Profiles
Forums
Developer Articles
KSP2 Release Notes
Everything posted by mhoram
-
[0.23] GitCraft v0.9b2 -- .craft revision management using Git
mhoram replied to exm's topic in KSP1 Mod Releases
Very cool tool. I already thougt about revisioning my rockets with git, but having git within KSP is simply grandious. A non-intruding must-have Addon! By the way, git supports post-commit hooks, where one can simply script that it should be automatically pushed. Edit: May I ask you to test your mod in combination with Kerbal Engneer Redux. Whenever I 0.9b2-Git-Load a rocket that has a part of KER on it, the editor freezes after the rocket appears in the VAB. -
Finding the best ascent path for rockets
mhoram replied to mhoram's topic in KSP1 Gameplay Questions and Tutorials
For your info, this links to my first implementation in Psopt. The one I am currenty doing my calculations with, that supports more than 2 stages, is not yet on Github. I want to make some changes, before I share it. -
which is more fuel efficent??
mhoram replied to michaelphoenix22's topic in KSP1 Gameplay Questions and Tutorials
Or the number of iterations is not high enough. Problem is that increasing the number of iterations causes in some cases problem with one of the used libraries or the memory size. -
which is more fuel efficent??
mhoram replied to michaelphoenix22's topic in KSP1 Gameplay Questions and Tutorials
Unfortunately it is not so easy to get the best results. There are some additional parameters like number of simulation iterations and nodes in each stage. Changing these parameters can lead to worse results as in this case adding more nodes did. About this dent, it is in my opinion more of a fluke - most other simulations had no dent. -
which is more fuel efficent??
mhoram replied to michaelphoenix22's topic in KSP1 Gameplay Questions and Tutorials
Interesting question. I tested it for a small 3-stage rocket with my ascent optimizer for fuel efficiency. Here are the theoretical results. From the initial 6056 Vacuum dV at the end were about 880 left. So they are in the same range as the other tests. Edit: As one can see the periapsis is brought very fast to an altitude of -100km (below surface). This counters the gravity losses. After that, the thrust is reduced to nearly 0 (that is also the reason for the erratic up and down of pitch and AoA). Circularization is done at the end about 20 minutes after liftoff. -
Finding the best ascent path for rockets
mhoram replied to mhoram's topic in KSP1 Gameplay Questions and Tutorials
I implemented the necessary steps to account for correct ISP calculation and the result was that the ascent profile is very similar in comparison with the previous graph. Top altitude is 2-3 km lower and the final mass is as expected a little bit higher: 114.4 t with a bit shorter duration of 10:30 minutes. Tavert, by the way I have seen on the PSOPT user group that someone wrote an installer. -
In my expeience while designing my Tangent Lifter family, it was mostly trial and error. Sufficient strutting, but not overdoing it is necessary. If it is Asparagus-Style keep the shear-forces small. You might find some inspiration here: http://forum.kerbalspaceprogram.com/threads/51828-What-s-the-highest-mass-you-ve-ever-put-into-Kerbin-orbit-with-a-single-ship Or if you plan to make it most efficient: http://forum.kerbalspaceprogram.com/threads/55615-Payload-Fraction-Challenge For really heavy payloads, gives some nice hints (thrust plates!).And by the way, you don't see rockets that can lift 200 ton payloads into orbit every day.
-
125 tons to 850km orbit without asparagus
mhoram replied to Captain Sierra's topic in KSP1 Gameplay Questions and Tutorials
Perhaps this is an idea: http://forum.kerbalspaceprogram.com/threads/55615-Payload-Fraction-Challenge?p=746619&viewfull=1#post746619 -
When does surface gravity stop?
mhoram replied to gc1ceo's topic in KSP1 Gameplay Questions and Tutorials
TWR is simply the ratio between thrust and weight with the formula TWR = F_thrust / (mass * g) So you have to decide what kind of TWR you want to calculate. For a TWR based on surface gravity, g never changes. For a TWR based on current gravity, you can calculate g as g = Planets_Gravitational_parameter / distance^2 And the gravity of a planet, moon or sun is always in effect while you are within its Sphere of Influence (SOI). Most of the references to TWR however you will find here on the forum are based on the surface gravity of Kerbin. -
Finding the best ascent path for rockets
mhoram replied to mhoram's topic in KSP1 Gameplay Questions and Tutorials
Kudos for noticing this detail. In my first Perl-ascent-optimizer I implemented all the details, but with PSOPT i tried at first a "lighter" approach. For Kasuhas ship this results in an error in ISP of less than 4% during stage "1" with 4 LV-N and 10 Aerospikes, less than 3% during stage "2" and less than 2% during the other stages. And the error is in the ships favour, so the ship has in KSP a higher effective ISP value than the one my simulation uses. Since i feel in the meantime more comfortable with PSOPT, i will extend it to handle multiple enginetypes correctly. Good idea to make the inferface more consistent -
Finding the best ascent path for rockets
mhoram replied to mhoram's topic in KSP1 Gameplay Questions and Tutorials
I know that the graphs are a bit technical ... still trying to figure out what are the important aspects to include. So far, the first graph "control" shows the highlights: - red line: thrust in % of full throttle - green line: pitch in degrees You figured out the graph quite right, but the orientation should be lower than the prograde marker in the first ~120 sec. gVel is the pitch of the velocity-vector relative to the earth-rotation (aka surface-prograde ... should find a better name than GroundVelocity). For the simulation I use a 3D-coordinate-system with the x-coordinate pointing to the Kerbal Space Port at latitude -0.00169 rad and longitude 0, y-coordinate pointing to the east of Kerbal Space Port and z pointing to the north. In the third plot these coordinates show up and sum is the distance to the planets center. I don't want to extrapolate from a single low-thrust rocket that high AoA is the way to go, but this is at least a small indicator. So if you want to know about your other low-thrust rockets, feel free to send me .craft files or the stage-information like in my previous post. And I can calculate these results only for rockets, but not for planes with air-intakes. And one thing as a sidenote, the ascents are uptimized to minimize fuel usage - hm... what would the graphs look like if they were optimized for duration? -
Finding the best ascent path for rockets
mhoram replied to mhoram's topic in KSP1 Gameplay Questions and Tutorials
Finally I managed to adopt my implementation to handle an arbitrary number of stages. So I threw your rocket in with the following stage configuration: St Mass Fuel Thr ISP_0 ISP_V Drag 10 532488 32000 9690 380.8 395.0 0.2 9 490434 32000 8990 380.2 395.4 0.2 8 448380 32000 8290 379.6 395.9 0.2 7 406326 32000 7590 378.9 396.4 0.2 6 364272 32000 6890 377.9 397.1 0.2 5 322218 32000 6190 376.8 398.0 0.2 4 280164 32000 5490 375.5 398.9 0.2 3 229100 32000 3740 369.9 403.3 0.2 2 178036 32000 1990 355.3 415.7 0.2 1 126972 16000 240 220.0 800.0 0.2 and came up with the following launch trajectory Noteweorthy are: - The ship ascends to an altitude of ~95 km before going down to 75km - The apoapsis at the end is noticeably higher than 75km - Beginning at an altitude of about 10-15km the Angle of attack increases steadily - Ascent takes about 11 minutes - Final Mass: ~1136 ton - Thrust is nearly always at foll throttle - PSOPT can handle that many stages - Ascent without dipping into the atmosphere is possible -
The perfect answer to my question ... did not know about GameEvents. onPartAttach and onPartRemove take care about parts, with onInputLocksModified I can test if the mouse left the staging-configuration-area and onPartActionUIDismiss fires whenever the ActionGUI of a part gets closed. That is good enough for my application. public void start_triggers() { GameEvents.onPartAttach.Add(myfun); GameEvents.onPartRemove.Add(myfun); GameEvents.onInputLocksModified.Add(myfun2); GameEvents.onPartActionUIDismiss.Add(myfun3); } public void end_triggers() { GameEvents.onPartAttach.Remove(myfun); GameEvents.onPartRemove.Remove(myfun); GameEvents.onInputLocksModified.Remove(myfun2); GameEvents.onPartActionUIDismiss.Remove(myfun3); } Thanks also for the hint about the exception. Since this is only called from an attached part, I did not experience any problems yet.
-
Yes and they had their own method for looking at EditorLogic.SortedShipList. Simply wanted to know, if such a trigger-mechanism exists - although I don't think that it is likely.
-
I am writing a mod that displays information about the vessel while it is in the VAB. Is there a way to get a notification whenever a part is added to or removed from the vessel or the resources or staging of a part have changed? Testing the entries in EditorLogic.SortedShipList for changes is possible, but not very elegant.
-
thrust and Isp for multiple (differing) engines
mhoram replied to draeath's topic in KSP1 Gameplay Questions and Tutorials
Since there is currently no Addon available, that calculates these stats, I am developping a Plugin, that makes just that in the VAB automatically. http://forum.kerbalspaceprogram.com/threads/58531-Finding-the-best-ascent-path-for-rockets?p=890096&viewfull=1#post890096 -
Finding the best ascent path for rockets
mhoram replied to mhoram's topic in KSP1 Gameplay Questions and Tutorials
That's why I wrote a tool that calculates the ISP of such ships automatically. I still have to get rid of the 0-mass parts. And 9 stages is interesting, I have to extend my system to handle that many stages - currently it is hardcoded limited to 2 and I have no experience whether PSOPT can handle 9 phases - so your rocket is a good test subject. Although from the TWL-distribution I have a feeling that it should be possible to bring it into orbit without a dip into the atmosphere. The last stage is certainly necessary - it may be weak, but provides about 1000 dV. -
Finding the best ascent path for rockets
mhoram replied to mhoram's topic in KSP1 Gameplay Questions and Tutorials
I had a look at the Launch Efficiency Exercise from 0.21.1 and since as far as I am aware the ship should behave in the same way, my result should be comparable. I came to an ascent path that leaves theoretically 8.28 lit of fuel in the tank. It is at least not far from the the top entries. (Parameters) Do you have by any chance the specification for such a craft that leaves the atmosphere twice? I would like to test how it behaves in PSOPT. -
[0.22-0.23.0] Delta-V Maximization Challenge
mhoram replied to mhoram's topic in KSP1 Challenges & Mission ideas
You are right, sorry that I missed it. -
Finding the best ascent path for rockets
mhoram replied to mhoram's topic in KSP1 Gameplay Questions and Tutorials
In order to keep the delta V requirements low, you might want to keept the orbit around Kerbin as low as possible. I tested your rocket with PSOPT and after some parameter-adjustments it came to an ideal ascent profile to a 100km Orbit. Following this ascent profile, it should be possible to get into orbit with a final mass of ideally 7.098 ton. I tried to mimic this ascent profile in KSP with your rocket and got a final mass of 6.962 tons in a 100x100km orbit, meaning a vacuum Delta-V of 4793 m/s. This should be about 150 dV more than you had left in your second scenario. used parameters: https://github.com/mhoram-kerbin/ksp-launch-optimizer/tree/da4e2aea5683ebad7ffdfe53eca3c94112076286 Note to self: output the terminal velocity in the graphs. -
Finding the best ascent path for rockets
mhoram replied to mhoram's topic in KSP1 Gameplay Questions and Tutorials
As it seems PSOPT has problems finding a solution when the pressure is multiplied with a logistic function. Multiplying it with (1 / (1 + exp(f * (altitude - AtmosphericHeight)))) makes the solving-algorithm not converge for f > 0.001. So I will stick with the unmodified (wrong) pressure function, since this modified version causes a considerable amount of approximation error for f = 0.001. As an input for the calculation one needs mass, propellant mass, ISP_1ATM and ISP_VAC for each stage. Since there is no easy way to get these infos from an existing rocket (MechJeb and Engineer redux lack this functionality for getting ISP), I am currently writing a plugin in the very early stages to get these infos directly from the VAB. It is available under GPLV3 at https://github.com/mhoram-kerbin/psopt-integrator. -
How does Drag and all the other math work
mhoram replied to aqcrazyboy's topic in KSP1 Gameplay Questions and Tutorials
Welcome to the forum! Recently I digged into the KSP-physics formula and put most of them in a single document. Here is the forumspost http://forum.kerbalspaceprogram.com/threads/58531-Finding-the-best-ascent-path-for-rockets?p=872176&viewfull=1#post872176. For the calculation of the dragforce, the speed relative to the atmosphere has to be taken and not the orbital speed.