Реальные объёмы баков и размеры салонов.

parent 7d58aebf
......@@ -64,6 +64,9 @@ ________
Сверхзвуковой пассажирский самолет, ОКБ им. А.Н.Туполева Ту-144 («004»)
http://www.airbase.ru/sb/russia/tupolev/144/s/
[ZLA]
Затучный А.М., Ригмант В.Г., Синеокий П.М.. Туполев-144 // Знаменитые летательные аппараты
[Bliznyuk]
Близнюк В. Правда о сверхзвуковых пассажирских самолетах
http://testpilot.ru/review/sst/
......
......@@ -16,11 +16,11 @@
# @param tank8 Fuel in tank 8 (tail trim), kg.
SetFuel = func(main, tanks1, tanks2, tank8) {
# FIXME This fueling panel logic belongs to JSBSim.
var maxmain = 70224.0;
var maxfeed = 2300.0;
var maxtanks1 = 7980.0;
var maxtanks2 = 11970.0;
var maxtank8 = 11970.0;
var maxmain = 80440.0;
var maxfeed = 2040.0;
var maxtanks1 = 7040.0;
var maxtanks2 = 10000.0;
var maxtank8 = 11200.0;
if(main > maxmain){
main = maxmain;
}
......@@ -29,12 +29,12 @@ SetFuel = func(main, tanks1, tanks2, tank8) {
feedfill = maxfeed;
}
main -= 4 * feedfill;
# fill = volume_m3 * / (21 + 2 * 9 + 2 * 5 + 15 + 12)
var tanks3 = main * 0.2763;
var tank4 = main * 0.1184;
var tank5 = main * 0.06579;
var tank6 = main * 0.1974;
var tank7 = main * 0.1579;
# fill = max_kg / (20760.0 + 2 * 7400.0 + 2 * 7240.0 + 11040.0 + 11200.0)
var tanks3 = main * 0.2872;
var tank4 = main * 0.1024;
var tank5 = main * 0.1002;
var tank6 = main * 0.1527;
var tank7 = main * 0.1549;
if(tanks1 > maxtanks1){
tanks1 = maxtanks1;
}
......
......@@ -75,7 +75,7 @@ setlistener("/sim/signals/fdm-initialized", func(p) {
});
var numweights = 7;
var numweights = 8;
var calcWeight = func() {
var sum = 0.0;
......
......@@ -23,102 +23,113 @@
Tanks and payloads subtracted:
https://gitlab.com/mdanil/aircraft-model-tools/tree/master/inertia-subtract
-->
<ixx unit="KG*M2">1224598.417</ixx>
<iyy unit="KG*M2">15015624.673</iyy>
<izz unit="KG*M2">18170890.329</izz>
<ixy unit="KG*M2">-2193.616</ixy>
<ixz unit="KG*M2">-189178.578</ixz>
<iyz unit="KG*M2">136.684</iyz>
<ixx unit="KG*M2">1143918.285</ixx>
<iyy unit="KG*M2">15056574.015</iyy>
<izz unit="KG*M2">18008564.890</izz>
<ixy unit="KG*M2">-1131.566</ixy>
<ixz unit="KG*M2">-200660.522</ixz>
<iyz unit="KG*M2">105.776</iyz>
<!-- Max payload 15000 kg [Tu144SST] -->
<pointmass name="jumpseat0">
<!-- double jump seat -->
<location name="jumpseat0" unit="M">
<x>-21.65</x>
<y>-0.85</y>
<!-- Салон П-150 (149 мест), П-147 (147 мест) [ZLA, p. 382-383] -->
<pointmass name="vestibule0">
<!-- jump seat (unoccupied), wardrobe, kitchen, lavatory -->
<location name="vestibule0" unit="M">
<x>-22.4</x>
<y>0.0</y>
<z>0.6</z>
</location>
<form shape="cylinder">
<length unit="M">0.7</length>
<radius unit="M">0.65</radius>
<length unit="M">2.5</length>
<radius unit="M">1.35</radius>
</form>
<weight unit="KG">0.0</weight>
</pointmass>
<pointmass name="cabin0quiet">
<!-- 2x1 + 3x3 seats -->
<!--
SIC Если заменить эти сиденья обычными, при полной загрузке
SIC центровка с малым остатком топлива выходит за разрешённую
SIC переднюю.
-->
<!-- 1x3 + 2x4 seats (П-150) -->
<!-- 1x2 + 2x3 seats (П-147) -->
<location name="cabin0quiet" unit="M">
<x>-19.2</x>
<y>0.15</y>
<x>-19.65</x>
<y>0.0</y>
<z>0.6</z>
</location>
<form shape="cylinder">
<length unit="M">4.0</length>
<length unit="M">2.7</length>
<radius unit="M">1.2</radius>
</form>
<weight unit="KG">0.0</weight>
</pointmass>
<pointmass name="cabin0">
<!-- 6x5 seats -->
<!-- 8x5 seats -->
<location name="cabin0" unit="M">
<x>-14.2</x>
<y>0.075</y>
<x>-14.3</x>
<y>0.065</y>
<z>0.6</z>
</location>
<form shape="cylinder">
<length unit="M">6.0</length>
<length unit="M">6.4</length>
<radius unit="M">1.3</radius>
</form>
<weight unit="KG">0.0</weight>
</pointmass>
<pointmass name="jumpseat1">
<!-- double jump seat -->
<location name="jumpseat1" unit="M">
<x>-8.65</x>
<y>-0.85</y>
<pointmass name="vestibule1">
<!-- double jump seat, 1.5x wardrobes, kitchen, 2x lavatories -->
<location name="vestibule1" unit="M">
<x>-9.0</x>
<y>0.0</y>
<z>0.6</z>
</location>
<form shape="cylinder">
<length unit="M">0.7</length>
<radius unit="M">0.65</radius>
<length unit="M">4.0</length>
<radius unit="M">1.35</radius>
</form>
<weight unit="KG">0.0</weight>
</pointmass>
<pointmass name="cabin1">
<!-- 15x5 + 6x4 seats -->
<!-- XXX Or 15x5 + 6x5? Why the extra window in the back? -->
<location name="cabin1" unit="M">
<x>1.0</x>
<x>1.9</x>
<y>0.065</y>
<z>0.6</z>
</location>
<form shape="cylinder">
<length unit="M">19.0</length>
<length unit="M">16.8</length>
<radius unit="M">1.25</radius>
</form>
<weight unit="KG">0.0</weight>
</pointmass>
<!-- Total cargo: 25 m^3. -->
<pointmass name="vestibule2">
<!-- 2x jump seats, 2x wardrobes, kitchen, 2x lavatories -->
<location name="vestibule2" unit="M">
<x>11.55</x>
<y>0.0</y>
<z>0.6</z>
</location>
<form shape="cylinder">
<length unit="M">1.5</length>
<radius unit="M">1.35</radius>
</form>
<weight unit="KG">0.0</weight>
</pointmass>
<!-- Total cargo: 18 m^3. -->
<pointmass name="cargo0">
<location name="cargo0" unit="M">
<x>-7.98</x>
<x>-10.45</x>
<y>0.0</y>
<z>-0.35</z>
</location>
<form shape="cylinder">
<length unit="M">15.0</length>
<length unit="M">10.1</length>
<radius unit="M">0.7</radius>
</form>
<weight unit="KG">0.0</weight>
......
......@@ -3,7 +3,7 @@
<!-- See also: systems/fuel.xml -->
<!-- [Bliznyuk p. 130]
<!--
Real numbering JSBSim numbering
1 04
2 05
......@@ -12,217 +12,207 @@
4L F1 6 F4 4R 07 00 11 03 08
5L 7 5R 09 12 10
8 13
Max capacity is 127 m^3. Density of T-8 fuel \rho = 0.798 kg/l [Bliznyuk, p. 133]
Feed tank capacity >~1900 kg [Flight Manual]
Fuel tank capacities for 0.8 kg/l [ZLA, p. 397].
Fuel densities [ZLA, p. 362]:
Type Density, kg/l
T-6 0.84
T-8 0.785
-->
<tank type="FUEL">
<description>Feed tank 1</description>
<location unit="M">
<x>4.4</x>
<y>-3.5</y>
<z>-0.1</z>
<x>4.36</x>
<y>-3.47</y>
<z>-0.11</z>
</location>
<!-- 2 * 0.75 -->
<radius>1.5</radius>
<!-- 3 m^3 -->
<capacity unit="KG">2394.0</capacity>
<density unit="KG/L">0.798</density>
<capacity unit="KG">2040.0</capacity>
<density unit="KG/L">0.84</density>
<contents unit="KG">100.0</contents>
</tank>
<tank type="FUEL">
<description>Feed tank 2</description>
<location unit="M">
<x>0.8</x>
<y>-3.4</y>
<z>-0.2</z>
<x>0.76</x>
<y>-3.45</y>
<z>-0.16</z>
</location>
<!-- 2 * 0.75 -->
<radius>1.5</radius>
<!-- 3 m^3 -->
<capacity unit="KG">2394.0</capacity>
<density unit="KG/L">0.798</density>
<capacity unit="KG">2040.0</capacity>
<density unit="KG/L">0.84</density>
<contents unit="KG">100.0</contents>
</tank>
<tank type="FUEL">
<description>Feed tank 3</description>
<location unit="M">
<x>0.8</x>
<y>3.4</y>
<z>-0.2</z>
<x>0.76</x>
<y>3.45</y>
<z>-0.16</z>
</location>
<!-- 2 * 0.75 -->
<radius>1.5</radius>
<!-- 3 m^3 -->
<capacity unit="KG">2394.0</capacity>
<density unit="KG/L">0.798</density>
<capacity unit="KG">2040.0</capacity>
<density unit="KG/L">0.84</density>
<contents unit="KG">100.0</contents>
</tank>
<tank type="FUEL">
<description>Feed tank 4</description>
<location unit="M">
<x>4.4</x>
<y>3.5</y>
<z>-0.1</z>
<x>4.36</x>
<y>3.47</y>
<z>-0.11</z>
</location>
<!-- 2 * 0.75 -->
<radius>1.5</radius>
<!-- 3 m^3 -->
<capacity unit="KG">2394.0</capacity>
<density unit="KG/L">0.798</density>
<capacity unit="KG">2040.0</capacity>
<density unit="KG/L">0.84</density>
<contents unit="KG">100.0</contents>
</tank>
<tank type="FUEL">
<description>Tanks 1</description>
<location unit="M">
<x>-11.2</x>
<x>-11.25</x>
<y>0.0</y>
<z>-0.4</z>
<z>-0.44</z>
</location>
<!-- 4 * 0.75 -->
<radius>3.0</radius>
<!-- 10 m^3 -->
<capacity unit="KG">7980.0</capacity>
<density unit="KG/L">0.798</density>
<capacity unit="KG">7040.0</capacity>
<density unit="KG/L">0.84</density>
<contents unit="KG">0.0</contents>
</tank>
<tank type="FUEL">
<description>Tanks 2</description>
<location unit="M">
<x>-6.4</x>
<x>-6.44</x>
<y>0.0</y>
<z>-0.3</z>
<z>-0.34</z>
</location>
<!-- 5 * 0.75 -->
<radius>3.75</radius>
<!-- 15 m^3 -->
<capacity unit="KG">11970.0</capacity>
<density unit="KG/L">0.798</density>
<capacity unit="KG">10000.0</capacity>
<density unit="KG/L">0.84</density>
<contents unit="KG">0.0</contents>
</tank>
<tank type="FUEL">
<description>Tanks 3</description>
<location unit="M">
<x>-2.4</x>
<x>-2.57</x>
<y>0.0</y>
<z>-0.3</z>
<z>-0.27</z>
</location>
<!-- 6 * 0.75 -->
<radius>4.5</radius>
<!-- 21 m^3 -->
<capacity unit="KG">16758.0</capacity>
<density unit="KG/L">0.798</density>
<capacity unit="KG">20760.0</capacity>
<density unit="KG/L">0.84</density>
<contents unit="KG">0.0</contents>
</tank>
<tank type="FUEL">
<description>Tank 4L</description>
<location unit="M">
<x>4.7</x>
<y>-6.3</y>
<z>-0.3</z>
<x>4.71</x>
<y>-6.27</y>
<z>-0.26</z>
</location>
<!-- 6 * 0.75 -->
<radius>4.5</radius>
<!-- 9 m^3 -->
<capacity unit="KG">7182.0</capacity>
<density unit="KG/L">0.798</density>
<capacity unit="KG">7400.0</capacity>
<density unit="KG/L">0.84</density>
<contents unit="KG">0.0</contents>
</tank>
<tank type="FUEL">
<description>Tank 4R</description>
<location unit="M">
<x>4.7</x>
<y>6.3</y>
<z>-0.3</z>
<x>4.71</x>
<y>6.27</y>
<z>-0.26</z>
</location>
<!-- 6 * 0.75 -->
<radius>4.5</radius>
<!-- 9 m^3 -->
<capacity unit="KG">7182.0</capacity>
<density unit="KG/L">0.798</density>
<capacity unit="KG">7400.0</capacity>
<density unit="KG/L">0.84</density>
<contents unit="KG">0.0</contents>
</tank>
<tank type="FUEL">
<description>Tank 5L</description>
<location unit="M">
<x>10.3</x>
<y>-7.7</y>
<z>-0.3</z>
<x>10.34</x>
<y>-7.68</y>
<z>-0.29</z>
</location>
<!-- 4.5 * 0.75 -->
<radius>3.375</radius>
<!-- 5 m^3 -->
<capacity unit="KG">3990.0</capacity>
<density unit="KG/L">0.798</density>
<capacity unit="KG">7240.0</capacity>
<density unit="KG/L">0.84</density>
<contents unit="KG">0.0</contents>
</tank>
<tank type="FUEL">
<description>Tank 5R</description>
<location unit="M">
<x>10.3</x>
<y>7.7</y>
<z>-0.3</z>
<x>10.34</x>
<y>7.68</y>
<z>-0.29</z>
</location>
<!-- 4.5 * 0.75 -->
<radius>3.375</radius>
<!-- 5 m^3 -->
<capacity unit="KG">3990.0</capacity>
<density unit="KG/L">0.798</density>
<capacity unit="KG">7240.0</capacity>
<density unit="KG/L">0.84</density>
<contents unit="KG">0.0</contents>
</tank>
<tank type="FUEL">
<description>Tank 6</description>
<location unit="M">
<x>3.3</x>
<x>3.34</x>
<y>0.0</y>
<z>-0.3</z>
<z>-0.29</z>
</location>
<!-- 3 * 0.75 -->
<radius>2.25</radius>
<!-- 15 m^3 -->
<capacity unit="KG">11970.0</capacity>
<density unit="KG/L">0.798</density>
<capacity unit="KG">11040.0</capacity>
<density unit="KG/L">0.84</density>
<contents unit="KG">0.0</contents>
</tank>
<tank type="FUEL">
<description>Tank 7</description>
<location unit="M">
<x>6.9</x>
<x>6.88</x>
<y>0.0</y>
<z>-0.2</z>
<z>-0.19</z>
</location>
<!-- 4.5 * 0.75 -->
<radius>3.375</radius>
<!-- 12 m^3 -->
<capacity unit="KG">9576.0</capacity>
<density unit="KG/L">0.798</density>
<capacity unit="KG">11200.0</capacity>
<density unit="KG/L">0.84</density>
<contents unit="KG">0.0</contents>
</tank>
<tank type="FUEL">
<description>Tank 8</description>
<location unit="M">
<x>21.2</x>
<x>21.22</x>
<y>0.0</y>
<z>1.3</z>
<z>1.32</z>
</location>
<!-- 3 * 0.75 -->
<radius>2.25</radius>
<!-- 15 m^3 -->
<capacity unit="KG">11970.0</capacity>
<density unit="KG/L">0.798</density>
<capacity unit="KG">11200.0</capacity>
<density unit="KG/L">0.84</density>
<contents unit="KG">0.0</contents>
</tank>
......
......@@ -427,9 +427,9 @@
<independentVar lookup="column">&U;/status/force-pumping</independentVar>
<tableData>
0.0 1.0
1900.0 1.0 1.0
2389.99 0.0 1.0
2390.0 0.0 0.0
1990.0 1.0 1.0
2039.99 0.0 1.0
2040.0 0.0 0.0
</tableData>
</table>
</function>
......@@ -637,9 +637,9 @@
<independentVar lookup="column">&U;/status/force-pumping</independentVar>
<tableData>
0.0 1.0
1900.0 1.0 1.0
2389.99 0.0 1.0
2390.0 0.0 0.0
1990.0 1.0 1.0
2039.99 0.0 1.0
2040.0 0.0 0.0
</tableData>
</table>
</function>
......@@ -845,9 +845,9 @@
<independentVar lookup="column">&U;/status/force-pumping</independentVar>
<tableData>
0.0 1.0
1900.0 1.0 1.0
2389.99 0.0 1.0
2390.0 0.0 0.0
1990.0 1.0 1.0
2039.99 0.0 1.0
2040.0 0.0 0.0
</tableData>
</table>
</function>
......@@ -1053,9 +1053,9 @@
<independentVar lookup="column">&U;/status/force-pumping</independentVar>
<tableData>
0.0 1.0
1900 1.0 1.0
2389.99 0.0 1.0
2390 0.0 0.0
1990.0 1.0 1.0
2039.99 0.0 1.0
2040.0 0.0 0.0
</tableData>
</table>
</function>
......@@ -1332,9 +1332,9 @@
<independentVar lookup="column">&U;/status/force-pumping</independentVar>
<tableData>
0.0 1.0
11920.0 1.0 1.0
11969.99 0.0 1.0
11970.0 0.0 0.0
10990.0 1.0 1.0
11039.99 0.0 1.0
11040.0 0.0 0.0
</tableData>
</table>
</function>
......@@ -1503,9 +1503,9 @@
<independentVar lookup="column">&U;/status/force-pumping</independentVar>
<tableData>
0.0 1.0
7132.0 1.0 1.0
7181.99 0.0 1.0
7182.0 0.0 0.0
7350.0 1.0 1.0
7399.99 0.0 1.0
7400.0 0.0 0.0
</tableData>
</table>
</function>
......@@ -1596,9 +1596,9 @@
<independentVar lookup="column">&U;/status/force-pumping</independentVar>
<tableData>
0.0 1.0
7132.0 1.0 1.0
7181.99 0.0 1.0
7182.0 0.0 0.0
7350.0 1.0 1.0
7399.99 0.0 1.0
7400.0 0.0 0.0
</tableData>
</table>
</function>
......@@ -1682,7 +1682,7 @@
<channel name="Tank 3" execrate="2">
<channel name="Tanks 3" execrate="2">
<fcs_function name="&T3;/in-valves-norm">
<function>
......@@ -1691,9 +1691,9 @@
<independentVar lookup="column">&U;/status/force-pumping</independentVar>
<tableData>
0.0 1.0
16708.0 1.0 1.0
16757.99 0.0 1.0
16758.0 0.0 0.0
20710.0 1.0 1.0
20759.99 0.0 1.0
20760.0 0.0 0.0
</tableData>
</table>
</function>
......@@ -1759,9 +1759,9 @@
<independentVar lookup="column">&U;/status/force-pumping</independentVar>
<tableData>
0.0 1.0
9526.0 1.0 1.0
9575.99 0.0 1.0
9576.0 0.0 0.0
11150.0 1.0 1.0
11199.99 0.0 1.0
11200.0 0.0 0.0
</tableData>
</table>
</function>
......@@ -1828,9 +1828,9 @@
<independentVar lookup="column">&U;/status/force-pumping</independentVar>
<tableData>
0.0 1.0
3940.0 1.0 1.0
3989.99 0.0 1.0
3990.0 0.0 0.0
7190.0 1.0 1.0
7239.99 0.0 1.0
7240.0 0.0 0.0
</tableData>
</table>
</function>
......@@ -1874,9 +1874,9 @@
<independentVar lookup="column">&U;/status/force-pumping</independentVar>
<tableData>
0.0 1.0
3940.0 1.0 1.0
3989.99 0.0 1.0
3990.0 0.0 0.0
7190.0 1.0 1.0
7239.99 0.0 1.0
7240.0 0.0 0.0
</tableData>
</table>
</function>
......@@ -1921,9 +1921,9 @@
<independentVar lookup="column">&U;/status/force-pumping</independentVar>
<tableData>
0.0 1.0
7930.0 1.0 1.0
7979.99 0.0 1.0
7980.0 0.0 0.0
6990.0 1.0 1.0
7039.99 0.0 1.0
7040.0 0.0 0.0
</tableData>
</table>
</function>
......@@ -2000,9 +2000,9 @@
<independentVar lookup="column">&U;/status/force-pumping</independentVar>
<tableData>
0.0 1.0
11920.0 1.0 1.0
11969.99 0.0 1.0
11970.0 0.0 0.0
9950.0 1.0 1.0
9999.99 0.0 1.0
10000.0 0.0 0.0
</tableData>
</table>
</function>
......@@ -2076,9 +2076,9 @@
<independentVar lookup="column">&U;/status/force-pumping</independentVar>
<tableData>
0.0 1.0
11920.0 1.0 1.0
11969.99 0.0 1.0
11970.0 0.0 0.0
11150.0 1.0 1.0
11199.99 0.0 1.0
11200.0 0.0 0.0
</tableData>
</table>
</function>
......
......@@ -33,51 +33,71 @@
</fuel>
</consumables>
<!-- Салон П-150 (149 мест), П-147 (147 мест) [ZLA, p. 382-383] -->
<!--
Reference weights:
Cabin crew member 75
Passenger + bag 75 + 5 = 80
Wardrobe 100
Kitchen 50
Lavatory 100
-->
<payload>
<weight>
<name>Jump seat 1 (2)</name>
<name>Vestibule 1 (0..1)</name>
<weight-lb alias="/fdm/jsbsim/inertia/pointmass-weight-lbs[0]"/>
<!-- 2 * 75 = 150 kg -->
<max-lb>330.69339</max-lb>
<!-- 100 + 50 + 100 = 250 kg -->
<!-- 75 + 100 + 50 + 100 = 325 kg -->
<max-lb>716.50235</max-lb>
</weight>
<weight>
<name>Cabin 1, quiet area (11)</name>
<weight-lb alias="/fdm/jsbsim/inertia/pointmass-weight-lbs[1]"/>
<!-- (1*2 + 3*3) * (75 + 5) = 880 kg -->
<!-- (1 * 2 + 2 * 3) * 80 = 640 kg -->
<!-- (1 * 3 + 2 * 4) * 80 = 880 kg -->
<max-lb>1940.068</max-lb>
</weight>
<weight>
<name>Cabin 1 (30)</name>
<name>Cabin 1 (40)</name>
<weight-lb alias="/fdm/jsbsim/inertia/pointmass-weight-lbs[2]"/>
<!-- 6 * 5 * (75 + 5) = 2400 kg -->
<max-lb>5291.094</max-lb>
<!-- (8 * 5) * 80 = 3200 kg -->
<max-lb>7054.7924</max-lb>
</weight>
<weight>
<name>Jump seat 2 (2)</name>
<name>Vestibule 2 (2)</name>
<weight-lb alias="/fdm/jsbsim/inertia/pointmass-weight-lbs[3]"/>
<!-- 2 * 75 = 150 kg -->
<max-lb>330.69339</max-lb>
<!-- 2 * 75 + 1.5 * 100 + 50 + 2 * 100 = 550 kg -->
<max-lb>1212.5424</max-lb>
</weight>
<weight>
<name>Cabin 2 (99)</name>
<name>Cabin 2 (99..100)</name>
<weight-lb alias="/fdm/jsbsim/inertia/pointmass-weight-lbs[4]"/>
<!-- (15 * 5 + 6 * 4) * (75 + 5) = 7920 kg -->
<max-lb>17460.611</max-lb>
<!-- 1 extra undersized seat -->
<!-- (15 * 5 + 6 * 4) * 80 = 7920 kg -->
<!-- (15 * 5 + 6 * 4 + 1) * 80 = 8000 kg -->
<max-lb>17636.981</max-lb>
</weight>
<weight>
<name>Cargo Front (containers)</name>
<name>Vestibule 3 (2)</name>
<weight-lb alias="/fdm/jsbsim/inertia/pointmass-weight-lbs[5]"/>
<!-- 19 m^3 -->
<!-- (15000 - (150 + 880 + 2400 + 150 + 7920)) = 3500 kg -->
<max-lb>7716.1792</max-lb>
<!-- 2 * 75 + 2 * 100 = 350 kg -->