[FUEL SYSTEM bug ] Junctions cannot have all inputs closed

Hello, My aircraft has a fairly simple fuel system, where a fuel; selector
allows to choose between left, right and closed (left-off-right-off). Fuel
selector in CFG: Version = Latest The fuel selector junction is as follows:
Junction.1 = Name:FSel #InputOnlyLines:LeftMain2FSel,RightMain2FSel
#OutputOnlyLines:FSel2Sol #Option:LeftMain2FSel,FSel2Sol #Option:FSel2Sol
#Option:RightMain2FSel,FSel2Sol #Option:FSel2Sol Fsel2Sol is a line leading
into another junction that is always open, as it has no #option. This works as
expected. Whenever I select options 2 or 4 (closed all inputs), flow from the
previously open line remains. Removing option 4 (as it is duplicate, and
causes an error in the console) does not solve the issue. I have gone around
the issue by creating a “loop line” : Junction.1 = Name:FSel
#InputOnlyLines:LeftMain2FSel,RightMain2FSel,Sol2FSel
#OutputOnlyLines:FSel2Sol #Option:LeftMain2FSel,FSel2Sol
#Option:Sol2FSel,FSel2Sol #Option:RightMain2FSel,FSel2Sol
#Option:Sol2FSel,FSel2Sol The line Sol2Fsel comes from a junction, whose
inputs all come from FSel … selecting options 2 and 4 therefore creates a
loop where fuel cannot flow from the tanks. The duplicate option creates no
issues and works as expected. This gimmick works …! In conclusion: Setting
all inputs to closed may lead to unpredictable results.

Hello @MariopilotPD808 My apologies for the late reply. Can you please send us
your full fuel_system section so we can debug what’s happening in your case?
Regards, Sylvain

[FUEL_SYSTEM]
Version = Latest
Curve.1 = 0:0, 0.2:0.5,  0.4:0.7, 0.6:0.875, 0.8:1.0, 1.0:1.0

Engine.1 =Name:Engine#Index:1

Tank.1 =Name:LeftMain#Title:Left Main#Capacity:18.5#UnusableCapacity:0#Position:-0.067,-3.167,2.06#Priority:2#InputOnlyLines:LeftAux2Main#OutputOnlyLines:LeftMain2FSel
Tank.2 =Name:RightMain#Title:Right Main#Capacity:18.5#UnusableCapacity:0#Position:-0.067, 3.167,2.06#Priority:2#InputOnlyLines:RightAux2Main#OutputOnlyLines:RightMain2FSel
Tank.3 =Name:LeftAux#Title:Left Aux#Capacity:13.0#UnusableCapacity:0#Position:-0.067,-6.109,2.06#Priority:1#OutputOnlyLines:LeftAux2Main
Tank.4 =Name:RightAux#Title:Right Aux#Capacity:13.0#UnusableCapacity:0#Position:-0.067, 6.109,2.06#Priority:1#OutputOnlyLines:RightAux2Main

Line.1 = Name:LeftAux2Main#Source:LeftAux#Destination:LeftMain#GravityBasedFuelFlow:260#Volume:0.005
Line.2 = Name:RightAux2Main#Source:Rightaux#Destination:RightMain#GravityBasedFuelFlow:260#Volume:0.005
Line.3 = Name:LeftMain2FSel#Source:LeftMain#Destination:FSel#GravityBasedFuelFlow:220#Volume:0.005
Line.4 = Name:RightMain2FSel#Source:RightMain#Destination:FSel#GravityBasedFuelFlow:220#Volume:0.005
Line.5 = Name:FSel2Sol#Source:FSel#Destination:Solenoid#GravityBasedFuelFlow:220#Volume:0.002
Line.6 = Name:Sol2PLo#Source:Solenoid#Destination:PLo#GravityBasedFuelFlow:120#Volume:0.002
Line.7 = Name:Sol2PHi#Source:Solenoid#Destination:PHi#GravityBasedFuelFlow:120#Volume:0.002
Line.8 = Name:PLo2Joint#Source:PLo#Destination:Joint#Volume:0.002
Line.9 = Name:PHi2Joint#Source:PHi#Destination:Joint#Volume:0.002
Line.10 =Name:Joint2EngPump#Source:Joint#Destination:EngPump#Volume:0.002
Line.11 =Name:EngPump2Eng#Source:EngPump#Destination:Engine#Volume:0.002
Line.12 = Name:Sol2FSel#Source:Solenoid#Destination:FSel#Volume:0.0001
Junction.1 = Name:FSel #InputOnlyLines:LeftMain2FSel,RightMain2FSel,Sol2FSel #OutputOnlyLines:FSel2Sol #Option:LeftMain2FSel,FSel2Sol #Option:Sol2FSel,FSel2Sol #Option:RightMain2FSel,FSel2Sol #Option:Sol2FSel,FSel2Sol
Junction.2 = Name:Solenoid #InputOnlyLines:FSel2Sol #OutputOnlyLines:Sol2PLo,Sol2PHi,Sol2FSel
Junction.3 = Name:Joint #InputOnlyLines:PLo2Joint,PHi2Joint #OutputOnlyLines:Joint2EngPump

Pump.1 = Name:PLo#Pressure:7#DestinationLine:PLo2Joint#Type:Electric #Index:1
Pump.2 = Name:PHi#Pressure:15#DestinationLine:PHi2Joint#Type:Electric #Index:2
Pump.3 = Name:EngPump#Pressure:4 #PressureCurve:1#DestinationLine:EngPump2Eng#Type:EngineDriven#Index:1

Note: in the above system, Line.12 has been introduced to go around the issue.
This creates a closed loop when the fuel selector is on OFF. Originally this
line was not there, and the OFF option had no input lines entered. Below, the
version without the “cheat” line.12:

[FUEL_SYSTEM]
Version = Latest
Curve.1 = 0:0, 0.2:0.5,  0.4:0.7, 0.6:0.875, 0.8:1.0, 1.0:1.0

Engine.1 =Name:Engine#Index:1

Tank.1 =Name:LeftMain#Title:Left Main#Capacity:18.5#UnusableCapacity:0#Position:-0.067,-3.167,2.06#Priority:2#InputOnlyLines:LeftAux2Main#OutputOnlyLines:LeftMain2FSel
Tank.2 =Name:RightMain#Title:Right Main#Capacity:18.5#UnusableCapacity:0#Position:-0.067, 3.167,2.06#Priority:2#InputOnlyLines:RightAux2Main#OutputOnlyLines:RightMain2FSel
Tank.3 =Name:LeftAux#Title:Left Aux#Capacity:13.0#UnusableCapacity:0#Position:-0.067,-6.109,2.06#Priority:1#OutputOnlyLines:LeftAux2Main
Tank.4 =Name:RightAux#Title:Right Aux#Capacity:13.0#UnusableCapacity:0#Position:-0.067, 6.109,2.06#Priority:1#OutputOnlyLines:RightAux2Main

Line.1 = Name:LeftAux2Main#Source:LeftAux#Destination:LeftMain#GravityBasedFuelFlow:260#Volume:0.005
Line.2 = Name:RightAux2Main#Source:Rightaux#Destination:RightMain#GravityBasedFuelFlow:260#Volume:0.005
Line.3 = Name:LeftMain2FSel#Source:LeftMain#Destination:FSel#GravityBasedFuelFlow:220#Volume:0.005
Line.4 = Name:RightMain2FSel#Source:RightMain#Destination:FSel#GravityBasedFuelFlow:220#Volume:0.005
Line.5 = Name:FSel2Sol#Source:FSel#Destination:Solenoid#GravityBasedFuelFlow:220#Volume:0.002
Line.6 = Name:Sol2PLo#Source:Solenoid#Destination:PLo#GravityBasedFuelFlow:120#Volume:0.002
Line.7 = Name:Sol2PHi#Source:Solenoid#Destination:PHi#GravityBasedFuelFlow:120#Volume:0.002
Line.8 = Name:PLo2Joint#Source:PLo#Destination:Joint#Volume:0.002
Line.9 = Name:PHi2Joint#Source:PHi#Destination:Joint#Volume:0.002
Line.10 =Name:Joint2EngPump#Source:Joint#Destination:EngPump#Volume:0.002
Line.11 =Name:EngPump2Eng#Source:EngPump#Destination:Engine#Volume:0.002

Junction.1 = Name:FSel #InputOnlyLines:LeftMain2FSel,RightMain2FSel#OutputOnlyLines:FSel2Sol #Option:LeftMain2FSel,FSel2Sol #Option:FSel2Sol #Option:RightMain2FSel,FSel2Sol #Option:FSel2Sol
Junction.2 = Name:Solenoid #InputOnlyLines:FSel2Sol #OutputOnlyLines:Sol2PLo,Sol2PHi
Junction.3 = Name:Joint #InputOnlyLines:PLo2Joint,PHi2Joint #OutputOnlyLines:Joint2EngPump

Pump.1 = Name:PLo#Pressure:7#DestinationLine:PLo2Joint#Type:Electric #Index:1
Pump.2 = Name:PHi#Pressure:15#DestinationLine:PHi2Joint#Type:Electric #Index:2
Pump.3 = Name:EngPump#Pressure:4 #PressureCurve:1#DestinationLine:EngPump2Eng#Type:EngineDriven#Index:1

Hello @MariopilotPD808 I was able to reproduce the problem. Thanks to your
feedback, we spotted a problem with junctions not closing input lines. Only
output lines are closed. However, it brings those lines pressure to 0. So in
your case, when the selector is set to Left, the right line is not closed but
it’s pressure is set to 0 and fuel is taken exclusively from left tank, as
expected. When the selector is set to a closed position, the pressure drops
but gravity ff still feeds your engine as the line is not closed. I guess your
workaround line makes the gravity ff go to the loop instead of the pumps. The
workaround is to close the output line instead in your options:

Junction.1 = Name:FSel #InputOnlyLines:LeftMain2FSel,RightMain2FSel#OutputOnlyLines:FSel2Sol #Option:LeftMain2FSel,FSel2Sol #Option:LeftMain2FSel #Option:RightMain2FSel,FSel2Sol #Option:RightMain2FSel

Also switch your version from Latest to 4 for SU11. Latest is a very risky
setting as it will change between updates. We will fix this junction in SU12
and although this workaround is supposed to work in SU12 as well, it’s safer
to select the version the aircraft was tested with. Regards, Sylvain

@FlyingRaccoon , thanks for the support! I can confirm your workaround works.
Glad to be useful! Also switched version to 4 as suggested. Regards, Mario N.