1
0
Fork 0
A320-family/Systems/a320-apu.xml
2021-06-28 13:04:37 +01:00

189 lines
5 KiB
XML

<?xml version="1.0"?>
<!-- Airbus A320 APU -->
<!-- Copyright (c) 2020 Jonathan Redpath -->
<system name="A320: APU">
<channel name="APU" execrate="8">
<!-- bleed 1.8 kg / sec @ 42 psig -->
<!-- fuel 148 kg/hr -->
<!-- generator 24034 rpm, 10129 rpm fuel ctl, 32045 rpm starter, 51965 rpm cooling, 4137rpm oil pump -->
<fcs_function name="/systems/apu/bleed-load-kw">
<function>
<ifthen>
<eq>
<property>/controls/pneumatics/switches/apu</property>
<value>1</value>
</eq>
<value>252</value>
<value>0</value>
</ifthen>
</function>
</fcs_function>
<fcs_function name="/systems/apu/electrical-load-kw">
<function>
<ifthen>
<gt>
<property>/systems/electrical/relay/apu-glc/output</property>
<value>110</value>
</gt>
<value>132</value>
<value>0</value>
</ifthen>
</function>
</fcs_function>
<fcs_function name="/systems/apu/apu-load-cmd">
<function>
<quotient>
<sum>
<property>/systems/apu/electrical-load-kw</property>
<property>/systems/apu/bleed-load-kw</property>
</sum>
<value>400</value>
</quotient>
</function>
</fcs_function>
<actuator name="/systems/apu/apu-load">
<input>/systems/apu/apu-load-cmd</input>
<rate_limit>0.01</rate_limit> <!-- 60 seconds cooling period for bleed which is ~ 60% -->
</actuator>
<washout_filter name="/systems/apu/dn-dt">
<input>/engines/engine[2]/n1</input>
<c1>1</c1>
</washout_filter>
<fcs_function name="/systems/apu/egt-degC">
<function>
<sum>
<product>
<property>/systems/apu/apu-load</property>
<value>50</value>
</product>
<ifthen>
<or>
<lt>
<property>/engines/engine[2]/n1</property>
<value>0.5</value>
</lt>
<gt>
<property>/systems/apu/dn-dt</property>
<value>0</value>
</gt>
</or>
<table>
<independentVar lookup="row">/engines/engine[2]/n1</independentVar>
<tableData>
5.0 20.0
8.0 45.0
10.0 120.0
12.0 225.0
18.0 430.0
25.0 500.0
27.0 560.0
30.0 720.0
35.0 785.0
40.0 800.0
45.0 795.0
50.0 785.0
60.0 755.0
75.0 645.0
90.0 520.0
100.0 415.0
</tableData>
</table>
<table>
<independentVar lookup="row">/engines/engine[2]/n1</independentVar>
<tableData>
2.0 200.0
8.0 220.0
12.0 225.0
18.0 240.0
30.0 250.0
50.0 265.0
60.0 295.0
75.0 380.0
90.0 410.0
100.0 415.0
</tableData>
</table>
</ifthen>
</sum>
</function>
</fcs_function>
<fcs_function name="/systems/apu/oil/oil-pressure-psi">
<function>
<table>
<independentVar lookup="row">/engines/engine[2]/n1</independentVar>
<independentVar lookup="column">/systems/apu/oil/level-l</independentVar>
<tableData>
0 3.6 5.4
8 0 0 0
12 0 1 10
18 0 5 22
30 0 22 41
50 0 25 45
60 0 28 48
75 0 33 52
90 0 35 54
100 0 36 55
</tableData>
</table>
</function>
</fcs_function>
<fcs_function name="/systems/apu/oil/oil-temperature-degC">
<function>
<product>
<sum>
<value>1.0</value> <!-- tune -->
<product>
<property>/systems/apu/apu-load</property>
<value>0.3</value>
</product>
</sum>
<table>
<independentVar lookup="row">/systems/apu/oil/oil-pressure-psi</independentVar>
<tableData>
0 0
25 135
35 105
55 85
</tableData>
</table>
<quotient>
<property>/engines/engine[2]/n1</property>
<value>100</value>
</quotient>
</product>
</function>
</fcs_function>
<fcs_function name="/systems/apu/oil/calc-oil-level">
<function>
<sum>
<property>/systems/apu/oil/level-l</property>
<product>
<quotient>
<property>/engines/engine[2]/n1</property>
<value>100</value>
</quotient>
<property>/systems/apu/oil/allow-oil-consumption</property>
<value>-0.00000131437</value>
<property>simulation/channel-dt</property>
</product>
</sum>
</function>
<output>/systems/apu/oil/level-l</output>
</fcs_function>
</channel>
</system>