• Which the release of FS2020 we see an explosition of activity on the forun and of course we are very happy to see this. But having all questions about FS2020 in one forum becomes a bit messy. So therefore we would like to ask you all to use the following guidelines when posting your questions:

    • Tag FS2020 specific questions with the MSFS2020 tag.
    • Questions about making 3D assets can be posted in the 3D asset design forum. Either post them in the subforum of the modelling tool you use or in the general forum if they are general.
    • Questions about aircraft design can be posted in the Aircraft design forum
    • Questions about airport design can be posted in the FS2020 airport design forum. Once airport development tools have been updated for FS2020 you can post tool speciifc questions in the subforums of those tools as well of course.
    • Questions about terrain design can be posted in the FS2020 terrain design forum.
    • Questions about SimConnect can be posted in the SimConnect forum.

    Any other question that is not specific to an aspect of development or tool can be posted in the General chat forum.

    By following these guidelines we make sure that the forums remain easy to read for everybody and also that the right people can find your post to answer it.

FSXA Fuel dump oddity

Roy Holmes

Resource contributor
Messages
1,805
Country
us-virginia
I searched "fuel dump" before posting this, but did not find an explanation for what I'm seeing in FSXA.

My fuel tank configuration from left to right is Left AuX, Left, Center, Right, Right Aux. In the config file these are leftaux, leftmain, center1, rightmain and rightaux. There is one engine and one tank selector.

When I select Fuel Dump, it empties the Left Aux first, then Right Aux, then Left, then Right, then Center.

In flight this causes the right wing to drop, because of the assymetric fuel load. Not good!

I tried setting the fuel tank selector to ALL if Fuel Dump was active. No significant difference, it did burn fuel from Left, Right and Center, but did not affect the dump sequence. My conclusion was that normal burn was now coming from ALL, but the Dump sequence is independent of Fuel Selector setting.

Anyone got an insight into the Fuel Dump mechanism?

Roy
 
When I select Fuel Dump, it empties the Left Aux first, then Right Aux, then Left, then Right, then Center.

In flight this causes the right wing to drop, because of the assymetric fuel load. Not good!

...but the Dump sequence is independent of Fuel Selector setting.

I'm afraid that is the way FS deals with dumping. The best solution would be to manage the dump with simconnect, which gives full control of the tank you want to empty/full. Or, if you are not fond of C++, Doug's Fuel Dump gauge would deserve a try.

Tom
 
Tom,
Thanks.
The main problem is the wing drop. It would not be an problem if the tanks were all on the centerline. Not realistic, but neither is the Dumb Dump sequence.

I'll give Doug's gauge a shot

Roy
 
Tom,
To clarify one point, what does the dump system do with center1, center 2 and center3? I mean, what is the sequence then?

Part of my problem was the dump rate value was way too high for the A-7D I'm working on. It does 0.00055 % per second and I had used 0.0167, the SDK example rate.

My fuel system is coded to balance fuel within 5 gallons left and right by selecting the heavy wing. It currently feeds Aux then Wing then center1.

Fuel dump in the actual A-7 is from internal wing tanks, but they are topped up from the external tanks via the fuselage tanks.

I'm thinking about calling the Aux (external drop tanks) center 2 and center3, but feeding them first. Wing tank fuel would then feed. Fuel assymetry during dump would be less of a problem since normal consumption would be from the opposite side to the wing tank that is dumping. The correct dump rate would be twice fuel consumption at full power, but the fuel balance would take care of half of the wing drop issue. I can shut down dump when both wing tanks are empty or center1 is at the desired amount.

Do you know what the dump sequence is with the center tanks?

Thanks again
Roy
 
If I get you right, your tanks config should be, from left to right:

Center2 (External Aux in real)
Left Main (ditto in real)
Center1 (ditto)
Right Main (ditto)
Center3 (External Aux in real)

So, I guess fuel dump would have this sequence:

Left Main
Right Main
Center1
Center2
Center3

Then, when Left Main is dumping, you feed from Right Main to control fuel balance (well,sort of); when LM is empty dump goes to RM and then you feed from Center2 (which is Left Ext.Aux in real). Actually, you start feeding from Center2 up to a point in where you need to select Center3, keeping a bit of fuel in Center2, as the goal would be to have both LM and RM empty with almost the same amount of fuel remaining on each Center (Aux) tanks so wings keep balanced. Dumping the Center1 tank would follow with the fuel selector now in ALL position. Is something like this what you have in mind?

Tom
 
Tom,
I have compared the difference between having:
LAux LM Ctr1 RM RAux
or
Ctr1 LM Ctr3 RM Ctr2

during the fuel dump time line. The dump down to full fuselage tanks takes around 13.5 minutes.

In the first configuration, the right wing is heavy throughout the dump, and peaks (using the A-7D fuel configuration and airplane geomety) at just over 7000 pound ft rolling moment. There are two peaks one at 4 minutes (5000) and one at 10 minutes (7000). In between the peaks it is close to zero at 6 minutes. The first peak occurs when LAUX is emptied, the second peak is when LM is emptied. The zero occurs when RAUX is empty, which is obvious.

In the second configuration The right wing starts out heavy with a peak of 9000 pound ft after 5 minutes of dump. At 8 minutes it switches to left wing heavy with a peak of 4000 pounds ft at 10 minutes. The first peak occurs when LM is empty and the second is when RM is empty

The A-7D assymetric rolling limit is 13000 pound ft, so either situation is within limits, but not desireable. However the calculations were based on starting dump when full of fuel.

I think I'll stay with the first configuration and limit dump to the Aux tanks and center tank. This would involve code that set fuel dump to false if the fuel selector was at Left Main or Right Main, when the fuel dump switch was selected.

If there was fuel in the Aux tanks when dump was selected, the balance code would draw fuel from R AUX until it is almost empty, then fuel selectors would switch to main tanks and terminate the dump. Depending on how much fuel was in the Aux tanks there would be a period of wing heaviness, but it would end when Right Aux is empty.

Perhaps the FSXA addition of FUEL_DUMP_SWITCH_SET was designed to overcome the FSX dump sequence assymetry issue. Just a thought.

Thanks again for your help

Roy
 
To finish this thread, here is what I have tested OK
Code:
<!-- ==== Fuel Proportioner and Fuel Dump control======= -->
	<!-- ====Calculate fuel in left and right side Aux and Main tanks====== -->
	<Element>
		<Select>
			<Value>(A:fuel tank left aux quantity,gallons) (A:fuel tank left main quantity,gallons) + (&gt;L:Left_side,gallons) 
(A:fuel tank right aux quantity,gallons) (A:fuel tank right main quantity,gallons) + (&gt;L:Right_side,gallons)</Value>
		</Select>
	</Element>
	<!-- ==== If the fuel in the left or right Aux is greater than 5 gallons, balance the fuel flow by switching to left or right, whichever is higher. 
	Once the fuel in either left or right Aux tanks is less than 5 gallons, switch to left and right Main and continue balancing. 
	When there is less than 5 gallons in the Aux and Main tanks, select ALL TANKS to drain residual external fuel and feed from the Center/fuselage.=== -->
	
	<Element>
		<Select>
			<Value>(A:FUEL TANK LEFT AUX QUANTITY,gallons) 5 &gt; s0 (A:FUEL TANK RIGHT AUX QUANTITY,gallons) 5 &gt; l0 or 
			if{ (A:FUEL TANK LEFT AUX QUANTITY,gallons) (A:FUEL TANK RIGHT AUX QUANTITY,gallons) - 2 &gt; 
				if{ 4 (&gt;K:FUEL_SELECTOR_SET) } 
				els{ 5 (&gt;K:FUEL_SELECTOR_SET) }
			 } 
			els{ (A:FUEL TANK LEFT MAIN QUANTITY,gallons) 5 &gt; s0 (A:FUEL TANK RIGHT MAIN QUANTITY,gallons) 5 &gt; l0 or 
				if{ (A:FUEL TANK LEFT MAIN QUANTITY,gallons) (A:FUEL TANK RIGHT MAIN QUANTITY,gallons) - 2 &lt; 
				if{ 20 (&gt;K:FUEL_SELECTOR_SET) } 
				els{ 19 (&gt;K:FUEL_SELECTOR_SET) } 
			} 	
		(L:Left_side,gallons) (L:right_side,gallons) + 5 &lt;  
		if{ 1 (&gt;K:FUEL_SELECTOR_SET) }
			</Value>
		</Select>
	</Element>
	<!-- =======Fuel Dump disable with Main tanks====================== -->
	<Element>
		<Select>
			<Value>(A:FUEL DUMP SWITCH,number) 0 != (A:FUEL TANK SELECTOR:1,enum) 18 &gt; and
			if{ 0 (&gt;K:FUEL_DUMP_SWITCH_SET) }</Value>
		</Select>
	</Element>

The dump disable starts as soon as the Aux tanks are empty. After that, while the Main tanks are feeding, the dump switch will not stay on when selected. After the Main tanks have emptied, you can recommence dump

Roy
 
Last edited:
I see you have the process under control, good!

I'm doing some tests with simconnect; probably will use your logic to try a controlled dump of each fuel tank and see what happens, if you don't mind of course.:)

Tom

PS: How about replacing those ugly &gt; with the reasonable ">" ? :cool:
 
Tom,
I posted the code so anyone can use it, no pride of ownership here!

I initially wrote the balance code because I could think of no other way to alter the FS tank draw sequence. In addition, that sort of thing let me have a certain amount of fuselage fuel used before starting on drop tanks etc. I always try to follow the airplane Manual, if possible. One key point in the code is to always switch out a selected tank before it gets empty, to avoid flame out.

About the ugly &gt;. I know you can use ">" in something like (&gt;K:FUEL_SELECTOR_SET) ie (> K: etc.
But I saw a note in the SDK that states "The > sign is not a legal character in XML, and will appear as &gt in XML documents"

Can you use > instead of &gt; in a situation like:
(A:FUEL TANK LEFT AUX QUANTITY,gallons) 5 &gt;?

I will also confess to an overkill in
Code:
A:FUEL TANK LEFT AUX QUANTITY,gallons) 5 &gt; s0 (A:FUEL TANK RIGHT AUX QUANTITY,gallons) 5 &gt; l0 or

Guess the "s0" and "l0" are superflous?

BTW, the FS F/A-18 has no compensation for assymetry during fuel dump, but it has only small tip tanks and all other tanks are on the centerline. The FS Airbus has almost no roll during fuel dump yet it's tanks are spread across the wings. Mind you it dumps very quickly and has huge MOI so that could explain it.

Thanks again
Roy
 
About the ugly &gt;. I know you can use ">" in something like (&gt;K:FUEL_SELECTOR_SET) ie (> K: etc.
But I saw a note in the SDK that states "The > sign is not a legal character in XML, and will appear as &gt in XML documents"

Can you use > instead of &gt; in a situation like:
(A:FUEL TANK LEFT AUX QUANTITY,gallons) 5 &gt;?

I guess ACE guys cheated a bit with the &gt; but, I must admit, with some logical reasoning. The problem is not with ">" but with "<" which is the start-of-tag character. Whenever the XML file parser finds a "<", assumes a new tag is coming, unless the next 3 chars are "!--", in where a comment is expected. If not this last case, a valid tag name must exists betwen the "<" and the next ">; otherwise the parsing ends and the file (gauge in FS) is not loaded.
As they -or somebody else maybe- found that &lower-than; or &lt; could be a perfect abbreviation, they also found that using &greater-than; or &gt; could be the perfect opposite and would ease the comprehension of both meanings.
I have used many XML editors and none has trouble loading files that use ">" as part of a tag's script. If you don't have any issue of this kind with yours, go ahead then and replace all those &gt; with the elegant ">" !:D

I will also confess to an overkill in
Code:
A:FUEL TANK LEFT AUX QUANTITY,gallons) 5 &gt; s0 (A:FUEL TANK RIGHT AUX QUANTITY,gallons) 5 &gt; l0 or

Guess the "s0" and "l0" are superflous?

Yep, they are.

Tom
 
I guess ACE guys cheated a bit with the &gt; but, I must admit, with some logical reasoning. The problem is not with ">" but with "<" which is the start-of-tag character. Whenever the XML file parser finds a "<", assumes a new tag is coming, unless the next 3 chars are "!--", in where a comment is expected. If not this last case, a valid tag name must exists betwen the "<" and the next ">; otherwise the parsing ends and the file (gauge in FS) is not loaded.
As they -or somebody else maybe- found that &lower-than; or &lt; could be a perfect abbreviation, they also found that using &greater-than; or &gt; could be the perfect opposite and would ease the comprehension of both meanings.
I have used many XML editors and none has trouble loading files that use ">" as part of a tag's script. If you don't have any issue of this kind with yours, go ahead then and replace all those &gt; with the elegant ">" !:D



Yep, they are.

Tom

Thanks both for this wonderful post... I have never used the XML fuel dump/ fuel add vars in any of my models, I think :) However, right now I´m trying one "thing" using this, nothing to do with fuel matter however, and this post gived me few answers. I know this reply is about 7 years late, but still may be useful for many :)

Just to elaborate the last matter for newer developers:

s0, s1, max 9 if I recall right (s=save) is a way to storage the previous evaluated values in memory so you can use it later. So, l0... (l=load) is the way to recover it for further maths. Example:

2 3 + s1
then
l1 5 + is = 10

Thanks again!
edgar
 
Back
Top