Jump to content

dV determination for large, docking-port assembled ships


Recommended Posts

I've recently gone beyond stock in my designs, adding kethane and a fuel balancing mod, and then docking large vessels together and sending them throughout the kerbol system.

I use mechjeb for dV calculation in .23.

I've noticed that the calculator does not seem to factor fuel held and linked by docked crossfeeding as available wet mass. Sometimes.

Suddenly, I dock a small probe, and instead of the 837 dV available previously, now it reads 5300 dV, a more realistic number.

Any ideas for whats going on and how to determine the fuel of complex docked ships reliably?

Link to comment
Share on other sites

Well, I would imagine the issue has to do with MechJeb itself. Its probably not taking into account (or failing to for that matter, considering what you've said) that the two ships are docked and thus not calculating the dV of the entire vessel and only the particular part that has the MechJeb Pod/Box on it.

The only way I could see around this is to make sure every part has a MechJeb box/pod. If it still doesn't display the full dV, then your only option if you want a specific number is to check the dV of each part and then do some addition.

Link to comment
Share on other sites

It probably decided that the fuel tank is not connected to the engines it is calculating delta-v for. What I mean is that if you just attached a fuel tank to the side of your ship with no fuel lines it wouldn't be counted for delta-v. Depending on the orientation of docking ports fuel will not flow automatically through them and can only manually be transferred. Check if fuel is automatically drawn from those tanks when the engines are run. If the engines do automatically draw fuel from those tanks then it must be a bug in mechjeb and should be reported (though I think there might be a different bug in KSP itself that occurs when you manually disable the flow from some tanks which for some reason alters the behavoir of some cross-feed parts).

Link to comment
Share on other sites

You'll need to calculate it manually, the formula for doing so is Ln(Mf/Me)xISPx9.81.

To add an extra little tidbit that might help with calculating delta-v on the fly: Liquid Fuel and Oxidizer both have 0.005 tonnes of mass per unit. Thus, you can simplify matters a bit by taking your craft's current mass, then adding up the total amount of Liquid Fuel and Oxidizer and plug those numbers into the following formula derived from the rocket equation:

delta_v = 9.82 * Isp * Ln(M / M - (0.005 * (liquid_fuel + oxidizer)))

Where M = the craft's current total mass.

(For some odd reason, the game uses 9.82 m/s^2 as the value for standard surface gravity rather than 9.81 or something close to it. All credit for this formula goes to maltesh, who's the one who shared it with me eons ago.)

Link to comment
Share on other sites

I'll add that MechJeb can still assist you with the calculations- use the current spacecraft mass readout to get the starting mass for the equations.

Be careful with using the fuel readout to get your "empty mass"

The tricky part is for interplanetary probes and ships you need to calculate the mass of only the fuel you want to burn en route. Simplest math is a "big orange tank" carries 32 tons of fuel. So, if you only plan on burning one BOT, your "empty mass" is your total vehicle mass minus 32. For this purpose, only subtract the fuel you plan to burn on the interplanetary flight- any fuel in landers, tugs, etc. needs to be included as spacecraft weight, because in this case it's actually payload, not something you plan on burning to get to your destination.

Repeat the above if you have multiple stages, though for large docked ships, it's likely you'll already know the delta V of your subcomponents. Like me, after docking, I want to make sure the mothership has the delta V to get where it needs to go, and then not worry about the smaller parts. So, that's why the above tip only focuses on the interplanetary portion of your mission.

Note that engine ISP is not additive. For example, if you use one LV-N, your ISP is 800. If you use 8 of them like I do, your ISP is still 800. The number of engines only changes your thrust to weight ratio, not your ISP. It gets more complicated though if you use multiple engine types.

Just put this in any calculator, or even better, an excel spreadsheet:

(9.82 * [engine ISP]) * ln ([total mass from MechJeb] / [mass minus mass of fuel you want to burn])

Edited by UH60guy
Link to comment
Share on other sites

This question is a reason why I usually send up and dock extra fuel tank modules to the rear of my interplanetary ships and detach them as they run out.

If you have engines with different ISP, would you basically have to find the average ISP, then?

Edited by SuperBigD60
Link to comment
Share on other sites

If you have engines with different ISP, would you basically have to find the average ISP, then?

It would be a bit more complex - you'd need to know their burn rate to figure out the correct ratio of fuel being burned by each engine.

For example if you had a Poodle engine (very efficient, ISP 390) and a pair of LV-1R (the little radial ant engines, ISP of only 290) the 'average' would be around 320 ISP right? But in actual use the ISP would be almost 390. That's because the big Poodle is literally burning 100 times more fuel per second then a LV-1R. You'd be burning 50 tons of fuel at 390 for every 1 ton burned at 290.

Link to comment
Share on other sites

If you have engines with different ISP, would you basically have to find the average ISP, then?

Essentially, with a caveat that it's average thrust-weighted ISP. This is because specific impulse (and exhaust velocity) and thrust relate to one another through another variable known as propellant mass flow (also sometimes seen as "mDot"), which is basically exactly what it sounds like: The amount of propellant mass that flows through the system in a given time. Specifically:

mDot = T / Ve

Rearranging for exhaust velocity gives you:

Ve = T / mDot

And of course, by substituting specific impulse for exhaust velocity:

mDot = T / (Isp * g0)

Isp = T / (mDot * g0)

In other words, you can find the total effective specific impulse of a given set of different engines by calculating the mass flow for each one, adding them together, then dividing that into the total thrust.

Edited by Specialist290
Correcting an error in the formula formatting.
Link to comment
Share on other sites

The formula, 9.82*Isp*Ln(M/(0.005(LF+O)) gave me a really weird number, until I realized I was just using LF in the equation. Herp.

But I have a question, does this equation apply for calculating null-g dV? Because I ran the numbers for my KSP Interstellar IP boat, and it reports a dV of ~5.5km/s. However, in practice it is getting much less than that, as in getting to Duna, aerobraking hard, circularizing, and not having the fuel to get hom. To my recollection, only about 2km/s is required to reach and return from Duna (although I don't know if that counts circ burns, I always forget to track the dV.)

In case you're curious, my numbers are as follows: 9.82*595.8*Ln(150/(0.005(5200+6420)). I'm using a KW rocketry tank for most of the fuel, and it has 5200 LF. I couldn't recall the oxidizer off the top of my head, so I just used the ratio from a stock part (hopefully I got that right!)

So TL;DR, does the 9.82 multiplier change based on where you are in space, or is that a constant somehow?

Thanks for all the help, maths aren't my strong suit, but by golly I need something to do on breaks at work and school and calculating mass fractions, dVs and acceleration are as good of stuffs to do as anything.

Link to comment
Share on other sites

So TL;DR, does the 9.82 multiplier change based on where you are in space, or is that a constant somehow?

9.82 is a constant. Most rocket science in the real world is actually done using exhaust velocity; standard surface gravity (the "9.82" really fully expands to 9.82m/s^2) is just the conversion factor between that and specific impulse.

EDIT: While I'm at it, I'm going to go ahead and recommend a few sites for you to read specifically geared to helping laypersons understand rocketry in general and the rocket equation specifically. These four web pages over at Atomic Rockets helped me immensely when I was first learning the game (and the rest of that site makes for an interesting read as well, although not all of it is directly applicable to KSP). MyKSPCareer.com came along a little after that, but I'd still highly recommend it, as it discusses things specifically from a KSP player's perspective.

Hope this helps :)

Edited by Specialist290
Yet again, fixing a small mistake.
Link to comment
Share on other sites

The formula, 9.82*Isp*Ln(M/(0.005(LF+O)) gave me a really weird number, until I realized I was just using LF in the equation. Herp.

But I have a question, does this equation apply for calculating null-g dV? Because I ran the numbers for my KSP Interstellar IP boat, and it reports a dV of ~5.5km/s. However, in practice it is getting much less than that, as in getting to Duna, aerobraking hard, circularizing, and not having the fuel to get hom. To my recollection, only about 2km/s is required to reach and return from Duna (although I don't know if that counts circ burns, I always forget to track the dV.)

In case you're curious, my numbers are as follows: 9.82*595.8*Ln(150/(0.005(5200+6420)). I'm using a KW rocketry tank for most of the fuel, and it has 5200 LF. I couldn't recall the oxidizer off the top of my head, so I just used the ratio from a stock part (hopefully I got that right!)

So TL;DR, does the 9.82 multiplier change based on where you are in space, or is that a constant somehow?

The 9.82 is a constant conversion factor to get from specific impulse to effective exhaust velocity.

KW tanks have the same oxidizer/fuel ratios as stock ones, but different mass ratios. A typical stock fuel tanks has a mass ratio of 9, while a typical KW one has a mass ratio of 10.

But, the values you plugged in for your final (and possibly initial) masses are wrong. You want:

delta_v = 9.82 * Isp * Ln(M / (M - (0.005 * (liquid_fuel + oxidizer))))

Where M = the craft's current total mass.

Note that you subtract the fuel+oxidizer mass from the initial mass before dividing.

Edited by UmbralRaptor
Link to comment
Share on other sites

Crap, I missed the subtract sign! Thanks, I used the page on the rocket equation pretty extensively when I first started KSP...not that it helped much, as math impaired as I am.

Yeah, I figured the 9.82 was m/s2, that was why I was curious if it was specific to kerbin, since that ~is Kerbin's gravity. But it makes sense, when I think about it.

I'm finally getting reasonable results, hooray, thanks a bundle!

Link to comment
Share on other sites

Essentially, with a caveat that it's average thrust-weighted ISP.

Thanks, ok, that's what I figured, I had just never bothered with a pencil and paper to do it.

Rearranging for exhaust velocity gives you:

Ve = T / mDot

NOt that it matters, but is Ve usually obtained experimentally or analytically? Also, is the exhaust velocity meaningful in the scope of KSP for this calculation?

Link to comment
Share on other sites

NOt that it matters, but is Ve usually obtained experimentally or analytically?

Well, I'll admit that that's where my personal knowledge starts to run dry, as I'm certainly not a professional rocket scientist myself... I believe nowadays many of the calculations are done analytically on the drawing board before the rocket even actually enters production, but it's certainly possible to verify an engine's characteristics experimentally. I used to know of a good BBC documentary about how the NK-33s intended for the Soviet N1 were rediscovered and put through their paces before they approved them for use again, but I seem to have forgotten what it's called (although I'm sure the information is only a good Google or Youtube search away...).

Also, is the exhaust velocity meaningful in the scope of KSP for this calculation?

Inasmuch as you can easily derive exhaust velocity from specific impulse using standard gravity (Ve = Isp * g0, with g0 = 9.82 m/s^2 for KSP's purposes), it is. To expand my earlier derivation of calculating specific impulse from thrust and mass flow, I'll start out with exhaust velocity again, then substitute the conversion calculation for exhaust velocity to specific impulse:

Ve = T / mDot

Isp * g0 = T / mDot

From there, dividing both sides of the equation by standard surface gravity to isolate specific impulse on one side:

Isp = T / (mDot * g0)

Hope this helps :)

Link to comment
Share on other sites

This thread is quite old. Please consider starting a new thread rather than reviving this one.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...