From 5b98c62dbb487ba39b27dceb48eecdc96798bac1 Mon Sep 17 00:00:00 2001 From: Kilian Hofmann Date: Tue, 11 Feb 2025 14:22:39 +0100 Subject: [PATCH] Engine tuning --- .../TFDi_Design_MD-11F_GE/engines.cfg | 49 +++-- References/MD11 throttle bug.xlsx | Bin 0 -> 17144 bytes ...didesign-md11-config-tweaks.code-workspace | 205 ++---------------- 3 files changed, 54 insertions(+), 200 deletions(-) create mode 100644 References/MD11 throttle bug.xlsx diff --git a/PackageSources/SimObjects/Airplanes/TFDi_Design_MD-11F_GE/engines.cfg b/PackageSources/SimObjects/Airplanes/TFDi_Design_MD-11F_GE/engines.cfg index 126b22e..4e8bc96 100644 --- a/PackageSources/SimObjects/Airplanes/TFDi_Design_MD-11F_GE/engines.cfg +++ b/PackageSources/SimObjects/Airplanes/TFDi_Design_MD-11F_GE/engines.cfg @@ -29,25 +29,32 @@ DisablePropellerControls =1 DisableAutopilotControls=1 [TURBINEENGINEDATA] -fuel_flow_gain=1 +//KH From 1, as per SDK warning +fuel_flow_gain=0 low_idle_n1=24.2 low_idle_n2=62.9 inlet_area=9.92 rated_N2_rpm=11055 -static_thrust=61960 +//KH From 61960 (ideal) as per EASA TCDS for CF6-80C2D1F 5min limit +static_thrust=60690 reverser_available=1 reverser_mach_controlled=0 afterburner_available=0 afterburner_throttle_threshold=0 -ThrustSpecificFuelConsumption=0.362 +//KH From .362, WikiP lists .3 to .344 +ThrustSpecificFuelConsumption=0.344 use_commanded_Ne_Table=1 use_corrected_N2_from_FF_table=1 use_n2_to_n1_table=1 use_old_fuelflow_simvar=1 -n2_to_n1_table=0:0:0.85,0:0:0,10:1.1:1,20:2.7:2.4,30:5.7:4.7,40:11.1:9.78,50:16.35:14.9,64.5:25.34:25.39,70:38:37.16,80:59.2:58.56,90:80.4:79.96,99.6:110.75:110.5,105:112:112 -mach_0_corrected_commanded_ne_table=0:1:5.42,0:64:64.5,0.143:69.214:69.857,0.286:74.428:75.214,0.429:79.642:80.571,0.572:84.856:85.928,0.715:90.07:91.285,0.858:95.284:96.642,1:100.5:102 -mach_hi_corrected_commanded_ne_table=0.88:1:5.42,0:66:67.5,0.143:71.143:72.571,0.286:76.286:77.642,0.429:81.429:82.713,0.572:86.572:87.784,0.715:91.715:92.855,0.858:96.858:97.926,1:102:103 -corrected_n2_from_ff_table=0:17,0.0099:63.7,0.01:70,0.017:77.6,0.021:80,0.033:84.77,0.048:88.88,0.083:93,0.088:99.3,0.09:106.5 +//KH Compared the ini A300 to the original in Excel. Constructed based on the shape. Increased its max values to those in the TCDS +n2_to_n1_table=0:0:0.85,0:0:0,10:1:1,20:2:2,30:4:4,40:9:9,50:14:14,64.5:25.34:25.34,70:29:29,80:41:41,90:68:68,100:102:102,112.5:117.5:117.5 +//KH Adjusted to being linear but with >100 as max +mach_0_corrected_commanded_ne_table=0:1:5.42,0:64:64.5,0.143:70.6495:71.2925,0.286:77.299:78.085,0.429:83.9485:84.8775,0.572:90.598:91.67,0.715:97.2475:98.4625,0.858:103.897:105.255,1:110.5:112 +//KH Adjusted to being linear but with >100 as max +mach_hi_corrected_commanded_ne_table=0.88:1:5.42,0:66:67.5,0.143:73.15:74.5785,0.286:80.3:81.657,0.429:87.45:88.7355,0.572:94.6:95.814,0.715:101.75:102.8925,0.858:108.9:109.971,1:116:117 +//KH Compared the ini A300 to the original in Excel. Constructed based on the shape +corrected_n2_from_ff_table=0:0,0.02:60,0.03:70,0.04:75.7,0.055:81.4,0.07:87.1,0.09:92.8,0.11:98.5,0.13:104.2,0.15:112.5 n1_and_mach_on_thrust_table=0:0:0.25:0.39:0.49:0.5:0.67:0.74:0.8:0.82:0.85,0:0:0:0:0:0:0:0:0:0:0,20:0.0554:0.0598:0.0598:0.0598:0.0205:0.0282:0.0404:0.0411:0.0224:0.0297,25:0.0748:0.0704:0.0704:0.1304:0.1291:0.1235:0.1278:0.1262:0.1291:0.0393,30:0.0865:0.0821:0.0821:0.0335:0.0547:0.0847:0.0847:0.1039:0.1039:0.1039,35:0.0964:0.0963:0.0963:0.0425:0.0601:0.0901:0.0901:0.1053:0.1053:0.1053,40:0.1312:0.1134:0.1134:0.1007:0.092:0.102:0.102:0.1156:0.1161:0.1176,45:0.163:0.1278:0.1278:0.13:0.3795:0.4095:0.4095:0.4235:0.4235:0.4235,50:0.1816:0.1448:0.1448:0.1518:0.3853:0.4153:0.4153:0.4389:0.4389:0.4389,55:0.2388:0.1711:0.1632:0.1715:0.3906:0.4206:0.4206:0.442:0.442:0.442,60:0.2726:0.2079:0.1902:0.2076:0.3943:0.4243:0.4243:0.446:0.446:0.446,65:0.3294:0.2532:0.2336:0.2367:0.4002:0.4302:0.4302:0.4542:0.4542:0.4542,70:0.3807:0.3116:0.2786:0.2768:0.409:0.439:0.439:0.4642:0.4642:0.4642,75:0.4477:0.3938:0.3318:0.3282:0.4274:0.4574:0.4574:0.4705:0.4703:0.4706,80:0.5395:0.4915:0.4124:0.4138:0.4321:0.4621:0.4621:0.484:0.4813:0.4805,85:0.6524:0.6349:0.5626:0.5072:0.5044:0.5355:0.5309:0.5785:0.5275:0.5356,90:0.7545:0.7735:0.6998:0.61:0.61:0.6173:0.6574:0.6638:0.6044:0.6297,95:0.8364:0.8395:0.7080:0.6900:0.7010:0.7296:0.8207:0.8673:0.7222:0.7682,103.5:0.9779:0.9811:0.7157:0.7212:0.744:0.7453:0.8651:0.9026:0.9209:0.9312,110:0.9853:1.0945:0.7775:0.83:0.85:0.8257:0.8749:0.9122:0.9322:0.9317,120:0.857:0.9826:0.7877:0.84:0.88:0.8339:0.8818:0.9131:0.9473:0.9404 corrected_airflow_table=0:0:0.9,0:0:0,20:4.29:14.08,85:4.62:24,90:5.75:25,95:7.23:27,100:8.36:28,105:9.29:29,120:10.94:30 JET_density_on_FF_table=0.000462:28.74,0.000587:32.93,0.000738:35.02,0.000891:29.46,0.001066:31.02,0.001267:32.56,0.001496:34.54,0.0017565:35.11,0.002048:30.8,0.002377:22.55 @@ -64,10 +71,14 @@ oil_press_tc=0.8 oil_press_tuning_constant=1 itt_peak_temperature=2141 itt_tc=2 +//KH No scaling itt_tuning_constant=1 -egt_peak_temperature=1600 -egt_tc=0.1 -egt_tuning_constant=0.1 +//KH 750C Start limit as per EASA TCDS for CF6-80C2D1F +egt_peak_temperature=1841 +//KH Taken from the A300, made sense +egt_tc=2 +//KH No scaling +egt_tuning_constant=1 fuel_press_max=2376 fuel_press_tc=2 fuel_press_tuning_constant=1 @@ -86,11 +97,14 @@ min_n2_for_apu_bleed_air_cutoff=50 n1_normal_tc=0.5 n1_start_max_rate=1 n1_start_combustion_max_rate=2 -idle_fuel_flow=600 +//KH From 600, used videos from YT as rough basis +idle_fuel_flow=1400 idle_high_fuel_flow=40 min_n2_for_fuel_flow=17 -high_n1=110 -high_n2=105 +//KH From 110 as per EASA TCDS for CF6-80C2D1F +high_n1=117.5 +//KH From 105 as per EASA TCDS for CF6-80C2D1F +high_n2=112.5 high_fuel_flow=9800 mach_influence_on_n1=10 fuel_flow_max=10000 @@ -100,9 +114,12 @@ fuel_flow_controller_d=0.1 fuel_flow_controller_iboundary=10 fuel_flow_controller_dboundary=100 max_torque_protection=0 -max_n1_protection=110 -max_n2_protection=100 -max_egt_protection=2000 +//KH Disabled +max_n1_protection=0 +//KH Disabled +max_n2_protection=0 +//KH Disabled +max_egt_protection=0 fuel_flow_max_itt_factor=2 fuel_flow_min_itt_factor=0.9 n1_cooling_factor=0.01 diff --git a/References/MD11 throttle bug.xlsx b/References/MD11 throttle bug.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..61b58514c9a5c06203a82bb92c28ea6f556b62fe GIT binary patch literal 17144 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