Jump to content

Nonsensical fuel system problems


Recommended Posts

If there's one aspect of this game that has irritated me to no end, it's the fuel flow system. Can anyone tell me why this fuel flow system does not work?

INMVZqq.jpg

The triangles are engines, the rectangles are fuel tanks.

Basically, the idea is to drain tank 1 first, then drain tanks 2, 3, and 4 simultaneously. When 2, 3, and 4 go dry, the bottom engines flame out and that portion of the rocket is jettisoned (3 engines and 4 fuel tanks), and then tank 5 begins to drain. When tank 5 is empty, tanks 6, 7, and 8 drain simultaneously and burn out simultaneously.

THIS DOES NOT WORK.

Instead what happens is that initially, only ONE of tanks 2, 3, or 4 stays topped off. Two tanks out of 2, 3, or 4 begin to drain- despite being connected by a one-way fuel line from the still-almost-full tank 1!

This is an image of the relevant portion of the rocket stack:

L6Kq6YE.jpg

How does this make sense? Everything is perfectly symmetrical, and yet, two tanks out of three flow incorrectly, and begin to drain, DESPITE a one-way fuel line running into them from a tank containing fuel!

Link to comment
Share on other sites

Try reading this.

http://forum.kerbalspaceprogram.com/threads/64362-Fuel-Flow-Rules-%280-23-5%29

When you bring several fuel lines together then try to split it back off it often doesn't work. It has to do with the way the game searches the parts tree for fuel. One tank will drain correctly while the other paths stop short.

Kasuha is our resident fuel expert, and his thread is pretty in-depth.

Edited by Claw
Link to comment
Share on other sites

Kasuha's description of the fuelsystem is accurate and informative, but all it really tells us is that the situation is too complex for mere mortals to decypher.

Simple rule of thumb: Fuel systems won't work if any one node has both 2 or more inputs, and 2 or more outputs. And cycles *never* work.

In your case, what will work(simultaneous burnouts), and will be close to the fuel-depletion pattern you want, would be to:

remove link 2-5 , 3-5, and 4-5.

Add a link 1-5

add links 2-6, 3-7, and 4-8

(i.e. don't refill the top big tank from engine tanks, refill the top engine tanks directly from the bottom engine tanks.)

This will ensure simultaneous burnouts, although at lower level burnout #5 fueltank is already about 1/3 used.

P.S.

Just a consideration of your rocket..

How about mounting your engines 2,3,4 on to tank 5, too? Same fuel layout, but you can drop tank 1 as soon as its depleted, while retaining the same engines for the same time as above.

Edited by MarvinKitFox
Link to comment
Share on other sites

Your problem is the "if the ship is symmetric, it will draw fuel symmetrically" fallacy. A relatively simple example can be found in this post.

In your case, engines below tanks 6, 7, and 8 draw fuel through tank 5 where the fuel network splits to tanks 2, 3, and 4 to join again in tank 1. This join at tank 1 is the problem because each of the three engines checks each of the three branches from tank 5 but only during first attempt it scans it all the way to tank 1, the rest ends one tank earlier.

Simple rule of thumb: Fuel systems won't work if any one node has both 2 or more inputs, and 2 or more outputs. And cycles *never* work.

This "rule" is completely wrong. Cycles work and any node can have any number of inputs and outputs without causing any problems.

The one simple rule of thumb is: you cannot split your fuel flow and then join it again.

Edited by Kasuha
Link to comment
Share on other sites

In that case, would cutting the lines in from 2/3/4 to 5 and running a line from 1 to 5 get something that works?

Granted, you'll probably not be able to use fuel the way you wanted to ... might that fuel balancer mod be a good idea?

Link to comment
Share on other sites

Kasuha's description of the fuelsystem is accurate and informative, but all it really tells us is that the situation is too complex for mere mortals to decypher.

Simple rule of thumb: Fuel systems won't work if any one node has both 2 or more inputs, and 2 or more outputs. And cycles *never* work.

In your case, what will work(simultaneous burnouts), and will be close to the fuel-depletion pattern you want, would be to:

remove link 2-5 , 3-5, and 4-5.

Add a link 1-5

add links 2-6, 3-7, and 4-8

(i.e. don't refill the top big tank from engine tanks, refill the top engine tanks directly from the bottom engine tanks.)

Not a bad suggestion, but the problem with it is that tank 1 is very large- and so tanks 2, 3, and 4 deplete first, and those are the tanks that feed the engines. So you're stuck carrying deadweight engines. HOWEVER, if the sizes of tanks 2, 3, and 4 can be increased so that they run out of fuel AFTER tank 1, then this might be a workable solution. Unfortunately, tank 1 kinda needs to be at least 2.5 meters, and there isn't a smaller 2.5 meter tank.

(Idea: perhaps if replaced tank 1 with four (a center, and three satellite) of the FL-T100 (the smallest 1.25 meter tank)- then I'd half the capacity of the new, effective tank 1.)

This will ensure simultaneous burnouts, although at lower level burnout #5 fueltank is already about 1/3 used.

P.S.

Just a consideration of your rocket..

How about mounting your engines 2,3,4 on to tank 5, too? Same fuel layout, but you can drop tank 1 as soon as its depleted, while retaining the same engines for the same time as above.

This is the final stages of an Eve ascent rocket, so I'm REALLY trying to squeeze out every ounce of delta-V possible, especially on the *relatively* simple final stages. These two stages are essentially a vertically stacked version of asparagus staging, so dropping the engines off when no longer needed is pretty important.

Edited by |Velocity|
Link to comment
Share on other sites

Your problem is the "if the ship is symmetric, it will draw fuel symmetrically" fallacy. A relatively simple example can be found in this post.

In your case, engines below tanks 6, 7, and 8 draw fuel through tank 5 where the fuel network splits to tanks 2, 3, and 4 to join again in tank 1. This join at tank 1 is the problem because each of the three engines checks each of the three branches from tank 5 but only during first attempt it scans it all the way to tank 1, the rest ends one tank earlier.

This "rule" is completely wrong. Cycles work and any node can have any number of inputs and outputs without causing any problems.

The one simple rule of thumb is: you cannot split your fuel flow and then join it again.

Thanks. The fuel flow system REALLY needs to be improved. Have you thought of any ways to improve the way that fuel scans work that would simplify the system? Please suggest them to the devs if so!

BTW, I am- no lie- studying for a Ph.D. in electrical engineering, and this fuel system still confuses me. It's WAY too complicated for an otherwise very accessible game.

Link to comment
Share on other sites

BTW, the solution I used for the moment to the fuel problems is to make tanks 2, 3, and 4 very small (FL-T100, smallest 1.25m tank), have those tanks start EMPTY, and make up for the lost fuel capacity by doubling the size of tank 1. This solves the balancing issue, and but adds about 200 kg of dead weight to the rocket. I actually did very well (comparatively, at least) with the rest of the design- I'm sitting at 11,350 m/s dV, with only 325 tons total weight- 700 m/s more dV and only 70% the weight of my previous Eve lander! (Which worked, but required a really tricky high-altitude landing, made doubly hard by a high center of gravity.) But I'd really like to squeeze the last little bit of dV out of the design, to ensure sea-level-to-orbit capability. If I can figure out a way to get rid of those dead weight tanks, that should do the trick.

Edited by |Velocity|
Link to comment
Share on other sites

The following seems to work for me:

Tanks 2, 3, and 4 feed 1

Tank 1 feeds the lower engines and tank 5.

Tank 5 feeds 6, 7, and 8.

The fuel drain is slightly different to your plan but the overall result is the same. Tanks 2, 3, and 4 all drain first, then tank 1. When tank 1 empties the lower engines flameout, with all the upper tanks still full.

Link to comment
Share on other sites

Except he wanted it to empty

1

2-3-4

5

6-7-8

I would probably go with 1 --> 2/3/4 and 1 --> 5 and then 5 ---> 6/7/8 assuming that 2/3/4/6/7/8 are all the same engine type, and the quantity of tanks 2/3/4 combined is less than 5.

Edited by EdFred
Link to comment
Share on other sites

Well obviously it's for the OP to decide, but I interpret the key overall goal being to empty the booster's fuel (which is the lower stage) while keeping the core (which is the upper stage) fully fuelled.

I tried the approach you mention, but found that when tank 1 drained, then 2, 3, and 4 were still fuelling the booster engines, while the core engines started draining tank 5.

Link to comment
Share on other sites

I tried your configuration, and it just works - three engines cut off at the same time (with same fuel level). I didn't attach tank 5 with tank 2,3,4 through.

Maybe the problem is your radial tanks are higher than the tank it's attached to, but I can't be sure !

Link to comment
Share on other sites

Not a bad suggestion, but the problem with it is that tank 1 is very large- and so tanks 2, 3, and 4 deplete first, and those are the tanks that feed the engines. So you're stuck carrying deadweight engines. HOWEVER, if the sizes of tanks 2, 3, and 4 can be increased so that they run out of fuel AFTER tank 1, then this might be a workable solution. Unfortunately, tank 1 kinda needs to be at least 2.5 meters, and there isn't a smaller 2.5 meter tank.

(Idea: perhaps if replaced tank 1 with four (a center, and three satellite) of the FL-T100 (the smallest 1.25 meter tank)- then I'd half the capacity of the new, effective tank 1.)

This is the final stages of an Eve ascent rocket, so I'm REALLY trying to squeeze out every ounce of delta-V possible, especially on the *relatively* simple final stages. These two stages are essentially a vertically stacked version of asparagus staging, so dropping the engines off when no longer needed is pretty important.

I actually tested.

If you

(remove link 2-5 , 3-5, and 4-5.

Add a link 1-5

add links 2-6, 3-7, and 4-8

and move the mountings for engine 2,3,4 from tank 1 to tank 5)

then everything works fine, except that tank#5 starts draining once tank#1 is empty, while #2,#3,#4 are still burning.

This loses you some d-v, but this is made up by the d-v gain you get from being allowed to drop the empty tank#1 earlier.

Your only loss is needing to use radial decouplers for engine 2,3,4.

Edited by MarvinKitFox
Link to comment
Share on other sites

Thanks. The fuel flow system REALLY needs to be improved. Have you thought of any ways to improve the way that fuel scans work that would simplify the system? Please suggest them to the devs if so!

BTW, I am- no lie- studying for a Ph.D. in electrical engineering, and this fuel system still confuses me. It's WAY too complicated for an otherwise very accessible game.

Although my explanation in that thread is complicated (in an attemt to be accurate), the system itself is not and can be understood intuitively. It just does not work how people tend to imagine it is working. You first need to realize that fuel pipes do not transport any fuel. If you have two half-full fuel tanks and a pipe between them, they will stay half-full.

It is the engine what draws fuel from fuel tanks - directly - and fuel pipes act as clues for them.

Knowing the system, I am not entirely sure it really needs any improvements. The only improvement it could use is turning off fuel crossfeed for radial decouplers. For all normal uses the system works flawlessly, you only run into problems if you're trying to be too smart and don't actually know what you're doing.

Regarding your ship, I would use this approach:

cZBwR0v.jpg

Edited by Kasuha
Link to comment
Share on other sites

The following seems to work for me:

Tanks 2, 3, and 4 feed 1

Tank 1 feeds the lower engines and tank 5.

Tank 5 feeds 6, 7, and 8.

The fuel drain is slightly different to your plan but the overall result is the same. Tanks 2, 3, and 4 all drain first, then tank 1. When tank 1 empties the lower engines flameout, with all the upper tanks still full.

This would probably work, but the problem is tanks 2, 3, and 4 are draining during an earlier asparagus stage. Still, by implementing your change, I got like... 10 m/s delta V more. If could make tanks 2, 3, and 4 drain when they are supposed to, it would give me perhaps 200 m/s more dV. I think I have enough though. (The relevant stages that concern this post are stages 3 and 4).

xOZOoKS.jpg

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...