

Meithan
Members-
Posts
448 -
Joined
-
Last visited
Content Type
Profiles
Forums
Developer Articles
KSP2 Release Notes
Everything posted by Meithan
-
[INFO] KSP floatCurves and you - the magic of tangents.
Meithan replied to Taverius's topic in KSP1 Mod Development
Well, the plot I posted above was computed precisely by taking the average of the left and right slopes (for the middle point; one-sided slopes for the endpoints). But I still feel I'm missing an ingredient. I guess I have no option but to grab Unity and find out with the curve editor. Thanks for the help. -
Here you go, dear sir: It's interesting that most engines are represented. No solution exists in the white zones. If you need more TWR values let me know and I'll add them. But I really need to start programming that webapp so anybody can generate any chart on demand.
-
[INFO] KSP floatCurves and you - the magic of tangents.
Meithan replied to Taverius's topic in KSP1 Mod Development
I hear Taverius is not around, but I'll ask anyway in case somebody else knows: how are the tangents defined when the atmosphereCurve doesn't state them explicitly? Specifically, I'm trying to compute the Isp of an engine at arbitrary pressure values. Take the LV-T30 for instance. Its 1.0.2 .cfg file says: atmosphereCurve { key = 0 300 key = 1 280 key = 7 0.001 } I hear it's a piecewise cubic Hermite spline defined by those three points, but the actual curve is ambiguous without the tangents. The Unity docs for AnimationCurve say "Smooth tangents are automatically computed for the key", but I don't understand what they mean by "smooth", other than the inTangent and outTangent are probably the same (which is not enough to define them). I tried defining them with the "finite difference" method specified in the Wikipedia article (which is just taking the average of the slopes to the left and right), and I get something like this: Doesn't look too "smooth" to me (sure, it's mathematically smooth in the sense that the curve and its first derivative are continuous, but I feel something else is meant by "smooth" here). So does anyone know how I can compute the Isp at arbitrary pressure values? -
As long as the number of engines needs to change to meet a TWR restriction, you'll get jaggedness. The only way to completely get rid of it is to do single-engine charts (or, equivalently, to set no TWR restriction; see the charts with no TWR minimum), like John FX says below. No problem. I can also change the TWR to be Eve-relative. Edit: Actually, I'll need to figure out how to derive the Isp of each engine at 5 atm (Eve's sea-level pressure). I know KSP stores this information using atmosphereCurve, but I don't know how to evaluate these manually. Taverius made a very detailed post on this but he uses an external Unity plugin to actually compute the curve. If anyone could give me Isp values at 5 atm I could make these charts quickly. Otherwise, I'll have to read up on cubic Hermite splines. I can do that. Some engines won't be able to meet the TWR requirement though. ~~~ What I was thinking is that a webapp to generate these charts on demand would be very helpful. Sure, an in-game plugin, like some have suggested, would be cool too but I think a webapp is both easier to make and more generally useful. I was thinking something along the lines of alexmoon's launch window planner, but I have little experience with web programming. Somebody told me Paper.js would be a good starting place. Any other ideas?
-
nholzric, That's from the simulation adding engines to cope with increasing vehicle mass. When you add an engine, the total mass jumps. This often causes a stage using a different engine to become superior, at least temporarily. The result of this is jaggedness in the plot. Slashy's quite right. Here, I've thrown together a couple of charts to better explain where the jaggedness comes from. I hope it's not too long. The first is an engine chart with only two engines, the LV-909 ("Terrier") and the LV-N ("Nerv"). The jaggedness is clearly visible here. Let's focus on the horizontal black line, which corresponds to a payload of around 3.4 t. I've marked as 1, 2 and 3 the points where one engine overtakes the other. As you can see: To the left of point 1 , the LV-909 is better. Passing point 1 , the LV-N becomes better. But at point 2 , the LV-909 gets back the lead. We'll see in a minute why. Finally, at point 3 the LV-N overtakes again, and will remain better for any higher ÃŽâ€v. Now take a look at the next image. This plot is a more detailed representation of the black line we saw in the previous image. Since it's computed for a fixed payload of 3.4 t, instead of showing just which engine is better it shows what the total mass of the ship would be, versus the ÃŽâ€v. I've also marked three points 1, 2 and 3. These correspond to the same moments marked in the previous image. This is what's going on: Before point 1 , the LV-909 (red curve) yields lower total mass, which means it's better. As we move to higher ÃŽâ€v, notice how the LV-N (black curve) is increasing at a slower pace (this is because it has better Isp). At point 1 the curves cross over: the LV-N now yields a lower total mass. At around 2650 m/s (not marked) notice how the red curve jumps. Why? Because slightly above 10 t total mass, a single LV-909 with its 60 kN of thrust is no longer enough to provide a TWR of 0.6. So we need to add a second LV-909, which adds the mass of the engine (0.5 t) and about 2.5 t of fuel to compensate for the extra weight. As we continue to the right, we reach point 2, where what just happened to the LV-909 now happens to the LV-N: once it passes 10 t we need a second LV-N to make sure the TWR remains above 0.6. But see that this jump is much larger! This is because the LV-N is much heavier: not only do we add the 3 tonnes of the engine itself, but we also need to add about 7 tonnes of extra fuel (and tanks) to compensate. That's a big penalty! The result is that at point 2 the LV-N becomes worse again. Finally, as we move further right the better Isp of the LV-N lets it catch up, and it does so at point 3. By this point the curve for the LV-909 is starting to get more and more vertical (this is the exponential nature of the matter). So as you see, the jaggedness is caused by these sudden changes in engine number that result in regions where one engine suddenly becomes worse than the others. Why do they look like a sawtooth in the original chart? If we plotted the curves of the second image for a higher payload mass, you'd see the crossover points move to the left (and in different amounts for each engine). Hence the regions where one engine overtakes the other would start and end at smaller ÃŽâ€v. Hope this helps understand the behavior.
-
Alright people, here are some atmospheric engine charts for TWR ranging from 1.2 to 4.0: The album was also added to the OP. IMO, the highlights are: 1) The massive Isp drop of the KR-2L means the KS-25x4 engine cluster now outperforms it for high mass / high ÃŽâ€v. 2) The Poodle is completely replaced by the Mainsail at high masses and the LV-T30 at lower masses. 3) The LV-1R replaced the LV-1 (for some reason, the radial version has good atmospheric Isp). Thanks. I'll look into your calculations to see how our results compare. Let me review that thread and get back to you on that.
-
Very nice find, Slashy. I did some uncertainty propagation to see how much the uncertainty in the values shown in that screenshot affect your final estimation of g0, and it comes out as +/- 0.0021 m/s^2 (so the actual value should be in the range 9.8039 - 9.8080). It's definitely no longer 9.82 m/s^2; I'd say they're using the "standard" value of 9.80665 now. I just recomputed one chart with a nominal value of 9.806. The difference is almost imperceptible: see this gif animation. I think I'll leave the charts as they are and add a note. I'll be using the corrected value for future calculations, though. Nice work pointing this out.
-
Thanks, Iron Crown. I'm working on the atmospheric charts. Should I keep the same engine set, and just use the 1 atm Isp and thrust values? What worries me is that they change quite a bit with atmospheric pressure now, so I'm not sure charts for 1 atm would really be that useful. I've added some extra optimal engine charts that include the bare PB-ION at the end of the album. As expected, for no TWR restriction the PB-ION just dominates all around (except at very low mass / low ÃŽâ€v, where the lighter LV-1 is better). And up to ~0.6 TWR it finds its place at the low mass / high ÃŽâ€v region (remember I'm limiting the calculation to 50 engines, which is why it doesn't appear at higher masses for TWR > 0). Starting from 0.7 TWR, it's no longer in the charts.
-
Thanks for your comments, Slashy. If g0 indeed changed, do let me know, and I'll update the value. Won't really make much a difference, though. The images are PNG (which is lossless). Be sure to open the full resolution image by clicking on the small gear icon in the upper right of the album images. But I can also try to prepare colorblind-friendly charts. Since there are many engines it's a bit hard to choose a good color set, even for non-colorblind people. I had trouble finding one for these (and I'm still not happy about a couple of colors). Any suggestions on how I can help here? Are these good? I can also limit the color key on each chart to only the engines that appear on that particular chart (currently all engines are shown, even if they don't appear). Here's an updated maximum ÃŽâ€v chart where the curve for the LV-N is fully shown. I've also thrown in the PB-ION curves as a bonus. The curve labelled ION+SPs is the PB-ION with its mass increased by 100 kg, which is about the weight of the solar panels needed to fully satisfy the electricity demand at Kerbin distance. I've added this graph to the original post. I will share the code as soon as I clean it up a little bit. Currently it's a mess, and I want to make a version that does not require matplotlib and has a friendlier user interface. Yep, I'm working on these. By the way, is there a point in going beyond TWR of 2 for vacuum engines? I've updated the charts (both the optimal engine charts and the total mass charts) to include payloads in the 100 to 1000 t range.
-
Attention: these charts have evolved into an interactive web app, which you can find over at the Add-ons forum: Optimal Engine Charts interactive webapp Please direct any inquiry about the webapp to that thread. The charts in this thread will no longer be updated. ============================================== For a couple weeks now I've been preparing a bunch of engine charts in the spirit of tavert's excellent engine efficiency charts using the new engine specs of 1.0. Here I present my results so far. These charts are meant to answer this general question: if I have a payload of certain mass that I need to take somewhere requiring a certain ÃŽâ€v, what is the engine that will give the lightest possible ship, and what is the minimum mass of that ship? For those who understand what these are and just want to cut to the chase, I'll start with the charts themselves, and leave the details below for interested readers. ----------------- Update 25/may: I'm working on an interactive web app to produce these charts on demand. It's still a work in progress, but you can see the state of the beta version here: http://meithan.x10.mx/KSP/engines/. ----------------- 1. Mass-optimal engine charts (vacuum) They show the optimal engine given a paylod mass and desired ÃŽâ€v for several minimum (Kerbin-relative) TWR values. They are calculated for vacuum operations (see 1a below for atmospheric charts) and do not include SRBs and airbreathing engines. White areas indicate regions where no solution exists. The jaggedness is due to changes in the number of engines. How to read these charts: Pick the chart with your desired minimum TWR, locate the total mass of your payload on the left axis (the scaling is logarithmic, so the dotted horizontal lines indicate multiples of the shown payload masses) and the desired ÃŽâ€v on the bottom axis. The color of the intersection point indicates which engine type is optimal. Example: suppose I want to take a manned lander weighing 20 tonnes (including its fuel for landing and takeoff) to Duna and back, which can be done with 3000 m/s. If we want a TWR of at least 0.5, looking at the chart for min TWR=0.5, we see that the best engine is the LV-N. Update 16/may: the payload range now goes up to 1000 t. Update 16/may: I've added some extra charts that include the PB-ION at the end of the album. ----------------- 1a. Mass-optimal engine charts for atmospheric operations These are calculated for the Isp and thrust values at 1 atm of pressure. They are intended as a guide for launch vehicle first stage engine selection. Update 16/may: added these charts upon request. ----------------- 2. Total ship mass charts These complementary charts, each one computed for a (payload mass, minimum TWR) pair, show the total mass (payload + propellant + tanks + engines) of the ship as a function of desired ÃŽâ€v for all engines. The discontinuous jumps occur when the number of engines changes to accomodate the TWR restriction. For easier browsing, I've also set up direct links to specific (payload, TWR) pairs: Payload mass, followed by TWR restrictions 0.1 t: no TWR | 0.2 | 0.5 | 1.0 | 1.5 | 2.0 0.2 t: no TWR | 0.2 | 0.5 | 1.0 | 1.5 | 2.0 0.5 t: no TWR | 0.2 | 0.5 | 1.0 | 1.5 | 2.0 1 t: no TWR | 0.2 | 0.5 | 1.0 | 1.5 | 2.0 2 t: no TWR | 0.2 | 0.5 | 1.0 | 1.5 | 2.0 5 t: no TWR | 0.2 | 0.5 | 1.0 | 1.5 | 2.0 10 t: no TWR | 0.2 | 0.5 | 1.0 | 1.5 | 2.0 20 t: no TWR | 0.2 | 0.5 | 1.0 | 1.5 | 2.0 50 t: no TWR | 0.2 | 0.5 | 1.0 | 1.5 | 2.0 100 t: no TWR | 0.2 | 0.5 | 1.0 | 1.5 | 2.0 200 t: no TWR | 0.2 | 0.5 | 1.0 | 1.5 | 2.0 500 t: no TWR | 0.2 | 0.5 | 1.0 | 1.5 | 2.0 1000 t: no TWR | 0.2 | 0.5 | 1.0 | 1.5 | 2.0 How to read these charts: go to the chart with the (closest) desired payload mass and minimum TWR. Find the desired ÃŽâ€v on the bottom axis, and read the corresponding total ship mass on the vertical axis for any engine. The lowest curve is that of the optimal engine. Example: revisiting the previous example (20 t payload and minimum TWR of 0.5), by looking at the corresponding chart we confirm that for 3000 m/s the optimal engine is the LV-N, and we see that the total ship mass would be about 55 tonnes. By counting the number of jumps we see that the ship would need 3 LV-N's (so it achieves a TWR of 0.5). We also notice that the next runner-ups are the LV-909, the Poodle and the Aerospike, but they yield ships almost 15 tonnes heavier. Update 16/may: added charts for 200, 500 and 1000 t payloads ----------------- 3. Maximum ÃŽâ€v curves (single chart) This additional plot shows the absolute maximum theoretical ÃŽâ€v possible for each engine type as a function of minimum TWR. In practice, once your desired ÃŽâ€v starts getting close to this, the total ship mass will grow exponentially and quickly become impractical. How to read this chart: find your minimum acceptable TWR on the bottom axis. For each engine the value of the curve will tell how much ÃŽâ€v can be obtained, in the absolute limit, from that engine. Example: If you need 5000 m/s and a minimum TWR of 1.0, engines like the LV-N, LV-1/LV1-R, RAPIER, Mk-55 and 24-77 are no-go. The KR-2L, Poodle and KS-25x4 are probably the best choices. Note that the engine with the highest maximum ÃŽâ€v for a given TWR is not necessarily the best, as that will depend on how close the actual desired ÃŽâ€v is to the engine's limit. Refer to the first two series of charts to find this out. Added 16/may: the following is an alternate version of this plot showing the full LV-N curve, as well as two curves for the PB-ION (not included in the general analysis). The curve labelled ION+SPs is the PB-ION with its mass increased by 100 kg, which is about the weight of the solar panels needed to fully satisfy the electricity demand at Kerbin distance. Note that Xenon tanks have wet-to-dry mass ratios of about 2.3 (so α about 1.3). ============================================ Assumptions and additional details Single-stage ship. As we all know, dropping mass allows reaching higher ÃŽâ€v values, but I'm keeping it simple here. Above ~5000 m/s, it's probably better to use multiple stages. "Payload" is defined as everything that is not the propellant, tanks or engines used to push the actual payload around. This means "payload" includes stuff like structural elements required to mate the actual payload to the tanks/engines. Propellant quantity is treated as a continuous value, so tanks are considered infinitely divisible. While this is not entirely realistic, one could approximate this in practice by using a large numbers of small tanks. In this respect tavert's analysis is still superior. Solutions consider a restriction on the minimum acceleration (or, equivalently, Kerbin-relative TWR) of the final ship. This is done so they remain remain relatively practical (sure, a single LV-N will push 1000 tonnes to huge ÃŽâ€v's, but it'll take forever). Assumes the full-to-dry mass ratio of the tanks is 9 (α=8) in general, except where noted. All "rocket" LFO tanks have this ratio in 1.0.2, while the "spaceplane" LFO tanks (i.e. Mk2-Mk3 tanks) have slightly worse ratios, very close to 8 (α=7). Note that my parameter α (alpha) is equivalent to the conventional full-to-dry mass ratio minus one. The change to liquid fuel only for LV-N is accounted for, and I've used a tank full-to-dry mass ratio of 8 (α=7), which matches closely the ratios of the Mk2 and Mk3 liquid fuel-only fuselages. The O-10 monopropellant engine is also included, even though it doesn't excel anywhere. The full-to-dry mass ratio of the RCS tanks vary, but I've set it to 7 (α=6) which is close to the average value for the larger tanks. For the RAPIER, closed-cycle mode is assumed, i.e. "rocket mode" using liquid fuel and oxidizer. Engine specs for 1.0.2 are used throughout, extracted from the corresponding .cfg files. The number of engines is limited to 50 in the mass-optimal engine charts, but there's no limit in the total mass charts. This is to try to stay within the bounds of reason. I can recompute charts for a different limit under request. Some engines are left out of the analysis: the LV-1R (no point including it since the LV-1 is always superior), the LFB KR-1x2 liquid fuel booster (would require a different computation), and, notably, the PB-ION ion engine (with 1/r^2 solar power scaling and fuel cells, this engine deserves its own separate analysis). Also, for now, all airbreathing engines and SRBs. ----------------- Formulas used in the calculations For a given desired ÃŽâ€v and payload mass (m_payload), the optimal (i.e. minimum) total mass of the ship for a given engine is: where m_engine is the mass of the individual engine, I_sp its specific impulse, g0 standard gravity (assumed to be 9.82 m/s^2 in these charts; but see note below), and the number of engines, n_engines, is given by where TWR_min > 0 is the minimum required Kerbin-relative thrust-to-weight ratio of the ship, TWR_engine that of the engine itself, and is the ceiling function, which indicates that the result should be rounded up to the next integer. If no TWR restriction is imposed, n_engines is simply 1. In these two formulas, the parameter alpha (α) is defined as the propellant-to-dry mass ratio of the tanks (as opposed to the full-to-dry mass ratio, which is more common): Finally, the maximum theoretical ÃŽâ€v of a given engine depends on α and the minimum TWR as: Note that this relation implies that the TWR of the ship is limited to be smaller than the TWR of the engine themselves, and the maximum ÃŽâ€v possible approaches zero as the TWR of the ship approaches that of the engines. ----------------- Whew! That's it for now. Hope these charts are useful and I welcome any error reports and suggestions on how to improve them. A special thanks goes to Slashy for cross-checking some of my figures, which helped me find a couple of typos in the engine specs. These charts are calculated using Python and plotted with the matplotlib library. ----------------- Note 16/may: g0 correction. After posting these charts, Slashy pointed out that the game seems to be using a value for g0 much closer to the standard value of 9.80665 m/s^2, as opposed to the reported 9.82 used pre 1.0. The impact of this on the charts is very small, so I've left the charts computed with the old 9.82 m/s^2 value. I'll be using the standard value of g0 from now on. -----------------
- 148 replies
-
- 88
-
-
Yes, the aerospike is now somewhat frequently among the top runner-ups, so it can be selected even if it's not optimal (e.g., for aesthetic reasons) without incurring a big mass penalty on your ship. Example: for 2000 m/s delta-v and a 20 t payload with min TWR of 0.7, the top 3 engine choices are six LV-909's, two Aerospikes or two Poodles, at total ship masses of 46.1, 46.7 and 46.7 tonnes, respectively. They're so close that any will do. Yeah, I also determine the maximum theoretical delta-v for all engines, which depends on the TWR restriction imposed (for no restriction, the best engine is simply the one with the best Isp): The LV-N is off-scale both on the low and high TWR ends, achieving a maximum delta-v of 16336 m/s at a TWR of 0, 9541 m/s at 0.4 (quite reasonable), and quickly dropping to zero as TWR approaches 2.04 (the TWR of the engine itself, which is the limiting value). In this particular plot I also included two curves for the PB-ION (the second one including enough solar panel mass to fully satisfy the electricity demand at Kerbin's distance), but I'm not sure I'll add it to the analysis since the problem is different enough that it deserves a separate analysis. Yeah, I don't consider engine sizes in this analysis. Since "payload" is understood here as "anything that's not fuel, tanks or engines", you'd have to discount the weight of the fairings, if any, in determining the useful payload.
-
No need to thank, really. I'm planning on releasing the full analysis soon. Ah, my chart was only calculated to 100 t, that's why I wasn't seeing the Rhino. Indeed, I find that for payloads from 174 t to 232 t, the Rhino is the best engine for 1500 m/s and min accel 0.5g. Here are the details output by my program: ==Mass analysis for KR-2L engine == Payload = 232.000 tonnes Delta-v = 1500 m/s Minimum TWR = 0.50 Total ship mass: 405.660 tonnes Payload: 232.000 t Propellant: 146.809 t Tankage: 18.351 t Engines: 8.500 t Number of engines: 1 Minimum accel: 4.93 m/s^2 Maximum accel: 7.73 m/s^2 Payload fraction: 57.2% At least we're getting the same payload fraction, which is a good sign . You're quite right, that engine chart does not tell the whole story. It's meant to summarize some of the results for a wide range of conditions. I've also been calculating more detailed curves that do show how different engines compare for a given dv. Here's an example for a 10 t payload and a minimum TWR of 0.5: I'm still working on the presentation; these have a lot of info.
-
I followed your advice and just checked my values against the .cfg file and I indeed had incorrect values for the RAPIER and Aerospike engines (e.g., Aerospike had 390 s Isp, but it's actually 340 s). Thanks for pointing out this discrepancy! I've now corrected my tables. With this correction, at 1500 m/s delta-v and min accel. 0.5g, these are the best engines as a function of payload mass according to my calculations: payloads up to 0.4 t: 24-77 0.4 - 3.4 t: 48-7S 3.4 - 20.5 t: LV-909 20.5 - 29.0 t: Poodle 29.0 - 40.9 t: LV-909 40.9 - 57.9 t: Poodle 57.9 - 61.3 t: LV-909 61.3 - 100 t: Poodle Here's the corrected chart (and I've updated my previous post): The Poodle and LV-909 now seem to alternate as best options above 3.4 t. But I'm not seeing the Rhino yet, not even as second best engine. For what payload are you finding the Rhino is a close contender at 1500 m/s and 0.5 g?
-
Beware that I only included three engines in the previous chart. Here's what happens with more engines (for minimum TWR of 0.5): Note: thanks to Slashy I found two engines had incorrect specs for 1.0.2; I've since corrected this and recomputed the chart. The LV-909 is the best engine only in a narrow-ish band (and the vertical scaling is logarithmic). For lighter payloads and/or smaller ÃŽâ€v's, small engines like the 48-7S are actually more efficient (because they're very light). Also note that for the intermediate-to-high-mass (> 5 t) low-ÃŽâ€v (< 2000 m/s) region the Aerospike becomes the best option (and it completely dominates the LV-N everywhere at a TWR of 0.8). I don't remember the aerospike being a good vacuum engine, but I admit I never really tried. Note that I purposefully left the LV-1 (and its radial variant) out of this chart because it outperforms both the LV-909 and the 48-7S in a large portion of the low-mass low-ÃŽâ€v quadrant, but the solutions involving it require literally dozens of LV-1's (for example, pushing 5 t of payload with 2000 m/s of ÃŽâ€v and a minimum TWR of 0.5 needs 30 LV1's).
-
Yes, I feared that my definition might be confusing in light of the generally accepted meaning of "fuel mass ratio". I might consider switching to it before I post the calculations. I went this way because it's "more natural" in the calculations: the fuel mass in a tank can be computed as alpha*dry_mass instead of (alpha-1)*dry_mass. I just find the first form cleaner. It's an OCD thing of mine. I am indeed pulling the values from the wiki (the Parts page), and I haven't checked in-game to see if they're correct. So you're telling me they're not? It will hardly make a difference, though. I already assumed a wet-to-dry ratio of 9 (alpha of 8) for all engines except the LV-N, for which I used a wet-to-dry ratio of 7 (alpha of 6). As long as the actual values don't deviate much from this, the results will be similar.
-
Indeed (at least for the non-Mk3 tanks; for them it's around 9.3), but I'm defining alpha as the ratio of the fuel mass (not total fuel+tank mass) to the dry mass. Why? Just for convenience in the calculations. An alpha of 8 means the tank carries 8 tonnes of fuel for each tonne of empty tank.
-
I've been experimenting with engine charts using the new 1.0 specs, and my general conclusion (for vacuum operations) is that: The LV-N is king if your payload weighs more than 2-3 tonnes, you need 2500 m/s or more, and you're OK with a TWR of 0.5 or less. Here's a comparison of the LV-N, the LV-909 and the LV-T30. The color of each pixel indicates which engine is more mass-eficient (i.e. will yield the smallest total ship mass) for the payload and delta-v of that pixel. In the calculation the TWR has been restricted to be at least 0.4, which in my opinion is more than practical for interplanetary travel. The LV-N's high mass really becomes a hindrance above TWR of 0.5. Here are the total mass curves for a payload of 8 tonnes (in the ballpark of the OP's Duna lab ship) for these three engines: The discontinuous jumps is where the number of engines increases. Note that for the LV-N I've been assuming it's paired to the Mk2 liquid fuel fuselages, which have a fuel-to-empty mass ratio of 6 (i.e., they carry 6 tonnes of fuel for each tonne of tank). For the rest of the engines I'm assuming the fuel-to-empty ratio is 8, which is that of the FL-Txx and Rockomax tanks. If all engines are instead paired with Mk3 tanks/fuselages (mass ratio of 8.3), the LV-N's case should be a bit better.
-
Thanks for the PM! Nope, they can still have moons in principle. It's a bit counterintuitive. Why does the Moon stick around the Earth if the Sun's pull is twice as big as the Earth's? The explanation has to do with calculating the resulting accelerations in the correct frame of reference, but in a nutshell it's what defines the Hill sphere: if a body is inside the Hill sphere of a planet (and doesn't have escape velocity), it will remain in orbit of that planet even if the Sun has a stronger gravitational pull. But even though they could in principle have moons (Venus' Hill sphere is comparable to that of Earth), proximity to the Sun makes capture events less likely (since bodies move faster closer to the Sun) and moons formed in-system when the planets formed will tend to have unstable orbits over long periods of time due to the Sun's perturbations. There's also the Roche limit: if a moon orbits too close t the planet, it will get destroyed by tidal forces. All these facts conspire to make moons of Mercury or Venus unlikely.
-
And this is meant to run on a mobile? Very nice. I've done my share of programming in my life but I've never wrote code for mobile, and frankly I've been wanting to learn. Do you think you could share your code? Just for personal, educational use (for me)? Nah, that was just a toy simulation, it's not meant to be a faithful representation of reality. The Moon's orbit is slightly eccentric: 363,000 x 405,000 km. So the main explanation for the variations you see is just the Moon's eccentricity. The rest is numerical error. In reality, there are also several perturbations that make things a little more complicated: tidal forces due to the Earth and the Sun's gravitational attraction are probably the largest perturbations. Fun fact: the Sun exerts twice as much gravitational force on the Moon as the Earth does. Go ahead and compute it if you want to check. It's the only natural satellite in the solar system for which that's true.
-
Colour me impressed, that's a very nice looking app! What language/platform is that written in?
-
Oh, I'm glad you figured it out! So you'll have to double check your Barnes-Hut, although it's really not necessary for this few bodies (and in fact direct force calculation is more precise). I was about to post a couple experiments I just did to see if the Moon remains in orbit in my old simulations. Seems it does: If we zoom in a bit it's clear the Moon is actually orbiting the Earth, since it follows the Earth in its orbit around the Sun (note how it crosses the Earth's orbit back and forth): Next, I tried to see how stable the Earth-Moon system is for longer periods of time, so I computed 1000 years of evolution. The result: rock stable. There's no point showing the orbits because they just look almost exactly as the first picture above. It's more enlightening to plot the Earth-Moon distance as a function of time: The vertical axis is the center-to-center separation between the two in thousands of kilometers (should be around 380,000 km). There are some spikes in the distance here and there, but it does not seem that the Moon is drifting closer or farther in the simulation.
-
The Eve Rocks Challenge (v0.90 only)
Meithan replied to Laie's topic in KSP1 Challenges & Mission ideas
Woo!! Thanks a lot for your comments! That's the HotRockets mod, which improves the particle effects of the exhausts of all engines. I specially liked the LV-N's exhaust since it makes it look exotic compared to most other engines (and it is), and the flame is much smaller than the stock version, which better reflects that this big, heavy engine has relatively little thrust. The ion engine effects are also fantastic. I've thought it could be a consequence of the large-ish part count. Since the game has to check a lot of part interactions, one of the two decouplers might get decoupled a split second later than the first. I will! I greatly appreciate your reviewing effort. Thanks! -
That's an example of a very natural notion to have (most of us do) that turns out to be incorrect. It's called the Pendulum Rocket Fallacy. It's so natural that even Robert Goddard, one of the fathers of rocketry, initially worked under this assumption and actually built his first prototypes with the propellant tank -the heaviest part of his rocket- on the bottom. A simple explanation is to realize that a pendulum is stable with its heavy end at the bottom because it is fixed at the top. A rocket is not, its top is free to move however it likes. Rockets have no inherent stability, which is why you need to add some means for stability control: aerodynamic surfaces for the lower parts of the ascent or, more commonly irl, thrust vectoring on the engines.
-
The Eve Rocks Challenge (v0.90 only)
Meithan replied to Laie's topic in KSP1 Challenges & Mission ideas
Congratulations, sephirotic, for completing the challenge! Ah yes, good idea. It wouldn't strictly be SSTO, i.e. reach Kerbin orbit completely on its own, but it would certainly be a much lighter solution than launching it on an independent vehicle -- the LV I used to launch my 80-tonnes Eve lander was over 450 tonnes. -
Uhm, I may be confused then. I thought Strömer-Verlet integration was one of the prime examples of symplectic integration, e.g. see here. Do you have some references I can check out to better inform myself? I never studied this formally.