Project

General

Profile

Bug #5132

Active ISRUs can lead to reduced engine thrust

Added by jonatkins over 9 years ago. Updated over 7 years ago.

Status:
Closed
Severity:
Normal
Assignee:
-
Category:
Gameplay
Target version:
-
Start date:
06/14/2015
% Done:

100%

Version:
Platform:
Any
Expansion:
Language:
English (US)
Mod Related:
No
Votes:
Arrow u r green
Arrow d r red

Description

A ship with multiple fuel tanks feeding the engine(s), and an active ISRU, will lead to reduced engine thrust when the first tanks to be drained are empty but others still contain fuel.

To reproduce:

Create a stack of:
- command pod/probe
- ISRU
- two fuel tanks
- engine (that uses fuel faster than ISRU can generate it)
- add ore tanks, and fill with ore
- launch clamps to hold on the pad in-place
- batteries/solar panels

Now, activate the ISRU and the engines, and throttle up. Look at the engine thrust and fuel levels. When the first tank is empty, despite the second tank being full, engine thrust is drastically reduced, and fuel isn't taken from the second tank.

Additionally, the visual/sound effects still act as if it's running at high thrust - which adds to the confusion when this happens.

isru-reduced-thrust.jpg (316 KB) isru-reduced-thrust.jpg [email protected] jonatkins, 06/14/2015 12:27 AM
isru-off-full-thrust.jpg (140 KB) isru-off-full-thrust.jpg [email protected] jonatkins, 06/14/2015 12:27 AM
20160718182920_1.jpg (311 KB) 20160718182920_1.jpg [email protected] REAPER7, 07/18/2016 01:01 PM
screenshot271.png (1.79 MB) screenshot271.png Unbalanced fuel component drain with ISRU active Alchemist, 07/18/2016 01:22 PM
6845
6846
19148
19151

Related issues

Related to Kerbal Space Program - Bug #5408: Fuel flow bug while converting ore to fuelClosed09/14/2015

History

#2 Updated by Padishar over 9 years ago

  • Status changed from New to Confirmed
  • % Done changed from 0 to 10

#3 Updated by Squelch about 9 years ago

  • Related to Bug #5408: Fuel flow bug while converting ore to fuel added

#4 Updated by sal_vager almost 9 years ago

  • Status changed from Confirmed to Need More Info
  • % Done changed from 10 to 0

This should be fixed in 1028, as changes were made to how resources are handled.

If you could give this a go in the current build and let us know that'd be great!

#5 Updated by Anonymous over 8 years ago

  • Status changed from Need More Info to Updated
  • Target version set to 1.1.2
  • % Done changed from 0 to 10

I'm seeing this same problem currently in version 1.1.2.1260

To examine the issue, I put together a testbed stack with a poodle, ISRU, four FL-T400 tanks, three full large ore containers, a remote brain, all supported by towers and with sufficient cooling and power to ensure continuous operation. For this test, the engine was kept at full power when not shut down.

First I burned off most of a tank of fuel to ensure I had space for the ISRU to put something in, then turned off the engine and turned on the ISRU to Liquid + Oxygen mode. I waited a while for the ISRU to get up to operating temperature, then re-activated the Poodle.

With fuel in all four tanks, the engine ran at "100% requirements met", producing 65.5 kN of thrust.

Immediately after the top tank (Tank 1) hit empty and Tank 2 should've started burning, thrust dropped to 4.5 kN (6.86% propellant requirements met), as if it were running only on the ISRU's output. Tank 2 remained full, and Tank 1 held at 0.01 Liquid and 0.01 Oxy.

At this point I shut off the ISRU temporarily. Thrust returned to normal, Tank 1 emptied, and Tank 2 started burning.

About halfway through Tank 2, I reactivated the ISRU. Again, thrust dropped, this time to 2.2 kN/3.43%, and Tank 2 seemed to be slowly refilling.

I shut off the ISRU until Tank 2 was empty and Tank 3 was about half burned, then turned it on again. This time the thrust fell to 1.2kN/1.87%.

It seems that when the ISRU is on, its output is being split between the engine and each empty or partially empty fuel tank (thus, more empty tanks reduces the thrust more).

When I switched the ISRU to Liquid-only mode or Oxy-only mode, it had a similar effect, but to a different degree. I didn't investigate deeply into what the exactly outputs were in those cases.

#6 Updated by smjjames over 8 years ago

  • Target version deleted (1.1.2)

Keenath wrote:

I'm seeing this same problem currently in version 1.1.2.1260

To examine the issue, I put together a testbed stack with a poodle, ISRU, four FL-T400 tanks, three full large ore containers, a remote brain, all supported by towers and with sufficient cooling and power to ensure continuous operation. For this test, the engine was kept at full power when not shut down.

First I burned off most of a tank of fuel to ensure I had space for the ISRU to put something in, then turned off the engine and turned on the ISRU to Liquid + Oxygen mode. I waited a while for the ISRU to get up to operating temperature, then re-activated the Poodle.

With fuel in all four tanks, the engine ran at "100% requirements met", producing 65.5 kN of thrust.

Immediately after the top tank (Tank 1) hit empty and Tank 2 should've started burning, thrust dropped to 4.5 kN (6.86% propellant requirements met), as if it were running only on the ISRU's output. Tank 2 remained full, and Tank 1 held at 0.01 Liquid and 0.01 Oxy.

At this point I shut off the ISRU temporarily. Thrust returned to normal, Tank 1 emptied, and Tank 2 started burning.

About halfway through Tank 2, I reactivated the ISRU. Again, thrust dropped, this time to 2.2 kN/3.43%, and Tank 2 seemed to be slowly refilling.

I shut off the ISRU until Tank 2 was empty and Tank 3 was about half burned, then turned it on again. This time the thrust fell to 1.2kN/1.87%.

It seems that when the ISRU is on, its output is being split between the engine and each empty or partially empty fuel tank (thus, more empty tanks reduces the thrust more).

When I switched the ISRU to Liquid-only mode or Oxy-only mode, it had a similar effect, but to a different degree. I didn't investigate deeply into what the exactly outputs were in those cases.

The target version is only for testing purposes I believe.

Anyway, could you upload the craft (assuming it's fully stock) and the output log plus KSP log?

#7 Updated by TriggerAu over 8 years ago

  • Status changed from Updated to Needs Clarification
  • % Done changed from 10 to 0

Setting this to needs clarification as per the bug cleanup underway: http://forum.kerbalspaceprogram.com/index.php?/topic/143980-time-to-clean-up-the-bug-tracker

Would be great to hear feedback on this from 1.1.3 and info re bug. Thanks

#8 Updated by REAPER7 over 8 years ago

19148

reproduced
bug exists 1.1.3
check photo
also blocking either LF or OX in second tank (see in photo) caused continuous engine flame out and reignition

#9 Updated by Alchemist over 8 years ago

19151

The issue seems to actually have the root in the fuel drain (in normal liquid engine fashion) logic, ISRU being only the factor that brings the problem out.
The core issue is that when an engine requests some fuel amount from a particular tank and it turns out that the tank in question has less fuel than requested, the engine doesn't even try to ask for the lacking fuel from the other tanks (even if it requests fuel from several tanks at once. Sometimes when a tank has very little fuel it manages to drain from it and the next one, but it still doesn't end in having 100% power).

Here are some considerations that are easy to reproduce:
-> Put a rocket engine to drain from a stack of tanks (so that it normally drains them in order a tank at a time) and watch the "Prop. Requirement Met" field. The moment a tank goes dry, the propellant requirement field will flicker for a single frame showing only partial satisfaction. The next frame it starts the next tank and gets to 100% again.
-> Sometimes this may even result in a 1-frame long flameout (or at least used to, maybe now it actually checks the next tank if it got the amount worthy of a flameout. Needs more sudy). You can sometimes see such flameout sparks appearing in the middle of stage (when one of the tanks in a stack runs out) on a rocket.
-> ISRU just adds a few drops of fuel into the empty tank each frame. Causing the engine to find some fuel in the top tank, request it from there, get less than requested and, without checking the other tanks, fire at reduced thrust.
-> It gets more fun when several engines feed from the same stack. With empty tank on top getting only some drops of fuel from ISRU each frame, the first engine to request fuel will take these drops and fire at partial thrust. The other engines will see that tank empty and check the next one. And if there's enough fuel in the next tank, the other engines will fire at 100%. Creating unbalanced thrust. Same with several side stacks getting fuel from central tank through fuel lines or other means.
-> Now it gets even messier if the bipropellant components are in the tanks not in equivalent amounts. That is, if only one of the components gets in the perpetual insufficiency state. The engine then still drains the other component at 100% rate. While the first one is only partially supplied. Interestingly, the trust percentage in this case is based on the total supply of both components and doesn't care that they are severely unbalanced (see the attached sreenshot271.png)

#10 Updated by sal_vager about 8 years ago

  • Status changed from Confirmed to Ready to Test
  • % Done changed from 10 to 80

This should only be the case now when you are literally out of fuel and less is produced by the ISRU than the engines require to operate.

#11 Updated by Squelch over 7 years ago

  • Status changed from Ready to Test to Resolved
  • % Done changed from 80 to 100

#12 Updated by Squelch over 7 years ago

  • Status changed from Resolved to Closed

Also available in: Atom PDF