Variable engine TSFC (hack!).

parent 555bfbb9
......@@ -5,7 +5,6 @@
<!-- 20000 kgF -->
<milthrust>44092.5</milthrust>
<tsfc>1.22</tsfc>
<!-- Accounted for in thrust tables. -->
<bleed>0.0</bleed>
......@@ -118,4 +117,19 @@ M m ft thrust
</product>
</function>
<!-- Hack for variable TSFC. Fuel flow modeled in propulsion/RD-36_*.xml -->
<function name="propulsion/engine[#]/tsfc_hack">
<table>
<!-- [ZLA, p. 351] -->
<independentVar lookup="row">velocities/mach</independentVar>
<tableData>
0.94 1.02
1.2 1.18
2.05 1.22
2.2 1.26
</tableData>
</table>
</function>
<tsfc>1.22</tsfc>
</turbine_engine>
......@@ -5,7 +5,6 @@
<!-- 21000 kgF -->
<milthrust>46297.1</milthrust>
<tsfc>1.23</tsfc>
<!-- Accounted for in thrust tables. -->
<bleed>0.0</bleed>
......@@ -131,4 +130,20 @@ M m ft thrust
</product>
</function>
<!-- Hack for variable TSFC. Fuel flow modeled in propulsion/RD-36_*.xml -->
<function name="propulsion/engine[#]/tsfc_hack">
<table>
<!-- [ZLA, p. 351] -->
<!-- Value for M=2.05 guessed from diff of surrounding 2 points and RD-36-51A. -->
<independentVar lookup="row">velocities/mach</independentVar>
<tableData>
0.94 0.95
1.2 1.15
2.05 1.19
2.2 1.23
</tableData>
</table>
</function>
<tsfc>1.19</tsfc>
</turbine_engine>
......@@ -21,6 +21,7 @@
<property>&U;/n2-mechanical</property>
<property>&U;/set-running</property>
<property>&U;/MilThrust</property>
<property>&U;/tsfc_hack</property>
<property>&U;/panel/lever/throttle/pilot-deg</property>
<property>&U;/panel/lever/throttle/IMAT-enabled</property>
......@@ -255,6 +256,41 @@
<channel name="Functions" execrate="2">
<!-- Hack to make TSFC vary and fuel flow stop lagging. -->
<fcs_function name="&U;/fuel-flow-rate-tsfc_hack-pps">
<function>
<difference>
<product>
<abs>
<p>&U;/thrust-lbs</p>
</abs>
<p>&U;/tsfc_hack</p>
<!-- = 1 / 3600 -->
<v>0.00027777777777777777</v>
</product>
<!--
JSBBUG Built-in fuel-flow-rate-pps is some magic unicorns,
JSBBUG simply setting tsfc=0 won't make it stop, so we just
JSBBUG subtract it here.
-->
<p>&U;/fuel-flow-rate-pps</p>
</difference>
</function>
</fcs_function>
<fcs_function name="&U;/fuel-flow-rate-t_h">
<function>
<product>
<sum>
<p>&U;/fuel-flow-rate-pps</p>
<p>&U;/fuel-flow-rate-tsfc_hack-pps</p>
</sum>
<!-- = 0.453592 * 3600 / 1000 -->
<v>1.633</v>
</product>
</function>
</fcs_function>
<!-- TODO Add a bit of first derivative. -->
<fcs_function name="&U;/n2-mechanical-theoretical">
......
......@@ -21,6 +21,7 @@
<property>&U;/n2-mechanical</property>
<property>&U;/set-running</property>
<property>&U;/MilThrust</property>
<property>&U;/tsfc_hack</property>
<property>&U;/panel/lever/throttle/pilot-deg</property>
<property>&U;/panel/lever/throttle/IMAT-enabled</property>
......@@ -255,6 +256,41 @@
<channel name="Functions" execrate="2">
<!-- Hack to make TSFC vary and fuel flow stop lagging. -->
<fcs_function name="&U;/fuel-flow-rate-tsfc_hack-pps">
<function>
<difference>
<product>
<abs>
<p>&U;/thrust-lbs</p>
</abs>
<p>&U;/tsfc_hack</p>
<!-- = 1 / 3600 -->
<v>0.00027777777777777777</v>
</product>
<!--
JSBBUG Built-in fuel-flow-rate-pps is some magic unicorns,
JSBBUG simply setting tsfc=0 won't make it stop, so we just
JSBBUG subtract it here.
-->
<p>&U;/fuel-flow-rate-pps</p>
</difference>
</function>
</fcs_function>
<fcs_function name="&U;/fuel-flow-rate-t_h">
<function>
<product>
<sum>
<p>&U;/fuel-flow-rate-pps</p>
<p>&U;/fuel-flow-rate-tsfc_hack-pps</p>
</sum>
<!-- = 0.453592 * 3600 / 1000 -->
<v>1.633</v>
</product>
</function>
</fcs_function>
<!-- TODO Add a bit of first derivative. -->
<fcs_function name="&U;/n2-mechanical-theoretical">
......
......@@ -21,6 +21,7 @@
<property>&U;/n2-mechanical</property>
<property>&U;/set-running</property>
<property>&U;/MilThrust</property>
<property>&U;/tsfc_hack</property>
<property>&U;/panel/lever/throttle/pilot-deg</property>
<property>&U;/panel/lever/throttle/IMAT-enabled</property>
......@@ -255,6 +256,41 @@
<channel name="Functions" execrate="2">
<!-- Hack to make TSFC vary and fuel flow stop lagging. -->
<fcs_function name="&U;/fuel-flow-rate-tsfc_hack-pps">
<function>
<difference>
<product>
<abs>
<p>&U;/thrust-lbs</p>
</abs>
<p>&U;/tsfc_hack</p>
<!-- = 1 / 3600 -->
<v>0.00027777777777777777</v>
</product>
<!--
JSBBUG Built-in fuel-flow-rate-pps is some magic unicorns,
JSBBUG simply setting tsfc=0 won't make it stop, so we just
JSBBUG subtract it here.
-->
<p>&U;/fuel-flow-rate-pps</p>
</difference>
</function>
</fcs_function>
<fcs_function name="&U;/fuel-flow-rate-t_h">
<function>
<product>
<sum>
<p>&U;/fuel-flow-rate-pps</p>
<p>&U;/fuel-flow-rate-tsfc_hack-pps</p>
</sum>
<!-- = 0.453592 * 3600 / 1000 -->
<v>1.633</v>
</product>
</function>
</fcs_function>
<!-- TODO Add a bit of first derivative. -->
<fcs_function name="&U;/n2-mechanical-theoretical">
......
......@@ -21,6 +21,7 @@
<property>&U;/n2-mechanical</property>
<property>&U;/set-running</property>
<property>&U;/MilThrust</property>
<property>&U;/tsfc_hack</property>
<property>&U;/panel/lever/throttle/pilot-deg</property>
<property>&U;/panel/lever/throttle/IMAT-enabled</property>
......@@ -255,6 +256,41 @@
<channel name="Functions" execrate="2">
<!-- Hack to make TSFC vary and fuel flow stop lagging. -->
<fcs_function name="&U;/fuel-flow-rate-tsfc_hack-pps">
<function>
<difference>
<product>
<abs>
<p>&U;/thrust-lbs</p>
</abs>
<p>&U;/tsfc_hack</p>
<!-- = 1 / 3600 -->
<v>0.00027777777777777777</v>
</product>
<!--
JSBBUG Built-in fuel-flow-rate-pps is some magic unicorns,
JSBBUG simply setting tsfc=0 won't make it stop, so we just
JSBBUG subtract it here.
-->
<p>&U;/fuel-flow-rate-pps</p>
</difference>
</function>
</fcs_function>
<fcs_function name="&U;/fuel-flow-rate-t_h">
<function>
<product>
<sum>
<p>&U;/fuel-flow-rate-pps</p>
<p>&U;/fuel-flow-rate-tsfc_hack-pps</p>
</sum>
<!-- = 0.453592 * 3600 / 1000 -->
<v>1.633</v>
</product>
</function>
</fcs_function>
<!-- TODO Add a bit of first derivative. -->
<fcs_function name="&U;/n2-mechanical-theoretical">
......
......@@ -161,6 +161,40 @@
<channel name="Functions" execrate="2">
<!-- Hack to make TSFC vary and fuel flow stop lagging. -->
<fcs_function name="&U;/fuel-flow-rate-tsfc_hack-pps">
<function>
<difference>
<product>
<abs>
<p>&U;/thrust-lbs</p>
</abs>
<!-- = 2.3 / 3600 -->
<v>0.00063888888888888888</v>
</product>
<!--
JSBBUG Built-in fuel-flow-rate-pps is some magic unicorns,
JSBBUG simply setting tsfc=0 won't make it stop, so we just
JSBBUG subtract it here.
-->
<p>&U;/fuel-flow-rate-pps</p>
</difference>
</function>
</fcs_function>
<fcs_function name="&U;/fuel-flow-rate-t_h">
<function>
<product>
<sum>
<p>&U;/fuel-flow-rate-pps</p>
<p>&U;/fuel-flow-rate-tsfc_hack-pps</p>
</sum>
<!-- = 0.453592 * 3600 / 1000 -->
<v>1.633</v>
</product>
</function>
</fcs_function>
<!-- TODO Add a bit of first derivative. -->
<!-- TODO Effect of bleed. -->
......
......@@ -105,30 +105,31 @@
<property>&U;/RT/init/d1</property>
<property>&E1;/fuel-flow-rate-pps</property>
<property>&E1;/fuel-flow-rate-tsfc_hack-pps</property>
<property>&E1;/fuel-flow-rate-t_h</property>
<property>&E1;/accessory/n-norm</property>
<property>&E1;/fire/valve</property>
<property>&E1;/fire/KSA-valve</property>
<property>&E2;/fuel-flow-rate-pps</property>
<property>&E2;/fuel-flow-rate-tsfc_hack-pps</property>
<property>&E2;/fuel-flow-rate-t_h</property>
<property>&E2;/accessory/n-norm</property>
<property>&E2;/fire/valve</property>
<property>&E2;/fire/KSA-valve</property>
<property>&E3;/fuel-flow-rate-pps</property>
<property>&E3;/fuel-flow-rate-tsfc_hack-pps</property>
<property>&E3;/fuel-flow-rate-t_h</property>
<property>&E3;/accessory/n-norm</property>
<property>&E3;/fire/KSA-valve</property>
<property>&E3;/fire/valve</property>
<property>&E4;/fuel-flow-rate-pps</property>
<property>&E4;/fuel-flow-rate-tsfc_hack-pps</property>
<property>&E4;/fuel-flow-rate-t_h</property>
<property>&E4;/accessory/n-with-APU-norm</property>
<property>&E4;/fire/valve</property>
<property>&E4;/fire/KSA-valve</property>
<property>&APU;/fuel-flow-rate-tsfc_hack-pps</property>
<property>&APU;/fuel-flow-rate-t_h</property>
......@@ -532,6 +533,7 @@
<summer name="&TF1;/external-flow-rate-pps_"><!-- SIC Else ignored. -->
<output>&TF1;/external-flow-rate-pps</output>
<input>-&E1;/fuel-flow-rate-tsfc_hack-pps</input>
<input>&TF1;/crossfeed/lp-in-flow-pps</input>
<input>-&TF1;/crossfeed/lp-out-flow-pps</input>
<input>&T7;/out-flow-pps[0]</input>
......@@ -756,6 +758,7 @@
<summer name="&TF2;/external-flow-rate-pps_"><!-- SIC Else ignored. -->
<output>&TF2;/external-flow-rate-pps</output>
<input>-&E2;/fuel-flow-rate-tsfc_hack-pps</input>
<input>&TF2;/crossfeed/lp-in-flow-pps</input>
<input>-&TF2;/crossfeed/lp-out-flow-pps</input>
<input>&T3;/out-flow-pps[1]</input>
......@@ -979,6 +982,7 @@
<summer name="&TF3;/external-flow-rate-pps_"><!-- SIC Else ignored. -->
<output>&TF3;/external-flow-rate-pps</output>
<input>-&E3;/fuel-flow-rate-tsfc_hack-pps</input>
<input>&TF3;/crossfeed/lp-in-flow-pps</input>
<input>-&TF3;/crossfeed/lp-out-flow-pps</input>
<input>&T3;/out-flow-pps[2]</input>
......@@ -1202,6 +1206,8 @@
<summer name="&TF4;/external-flow-rate-pps_"><!-- SIC Else ignored. -->
<output>&TF4;/external-flow-rate-pps</output>
<input>-&E4;/fuel-flow-rate-tsfc_hack-pps</input>
<input>-&APU;/fuel-flow-rate-tsfc_hack-pps</input>
<input>&TF4;/crossfeed/lp-in-flow-pps</input>
<input>-&TF4;/crossfeed/lp-out-flow-pps</input>
<input>&T7;/out-flow-pps[3]</input>
......
......@@ -203,31 +203,6 @@
<gain>0.49090043290043290043</gain>
</pure_gain>
<pure_gain name="propulsion/engine[0]/fuel-flow-rate-t_h">
<input>propulsion/engine[0]/fuel-flow-rate-pps</input>
<gain>1.633</gain><!-- = 0.453592 * 3600 / 1000 -->
</pure_gain>
<pure_gain name="propulsion/engine[1]/fuel-flow-rate-t_h">
<input>propulsion/engine[1]/fuel-flow-rate-pps</input>
<gain>1.633</gain><!-- = 0.453592 * 3600 / 1000 -->
</pure_gain>
<pure_gain name="propulsion/engine[2]/fuel-flow-rate-t_h">
<input>propulsion/engine[2]/fuel-flow-rate-pps</input>
<gain>1.633</gain><!-- = 0.453592 * 3600 / 1000 -->
</pure_gain>
<pure_gain name="propulsion/engine[3]/fuel-flow-rate-t_h">
<input>propulsion/engine[3]/fuel-flow-rate-pps</input>
<gain>1.633</gain><!-- = 0.453592 * 3600 / 1000 -->
</pure_gain>
<pure_gain name="propulsion/engine[4]/fuel-flow-rate-t_h">
<input>propulsion/engine[4]/fuel-flow-rate-pps</input>
<gain>1.633</gain><!-- = 0.453592 * 3600 / 1000 -->
</pure_gain>
</channel>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment