1
0
Fork 0
fgdata/Aircraft/c172p/c172p.xml
2021-09-14 19:34:27 +01:00

2204 lines
86 KiB
XML

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="http://jsbsim.sourceforge.net/JSBSim.xsl"?>
<!-- Source: http://forum.flightgear.org/viewtopic.php?f=25&t=21664&start=45 -->
<fdm_config name="c172" version="2.0" release="BETA"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
<fileheader>
<author> Unknown </author>
<filecreationdate> 2002-01-01 </filecreationdate>
<version> $Id: c172p.xml,v 1.41 Jan 2018 $ </version>
<!-- experimental stall and spin, up to flat spin March 2014, Dany93 (Daniel Dubreuil) -->
<!-- Source: http://forum.flightgear.org/viewtopic.php?f=25&t=21664&start=45 -->
<!-- this file with comments for stall and spin to help -->
<!-- further modifications for c172p-detailed 2015 - 2018 -->
<!-- with help and extra informations from okroth and algefaen -->
<description> Cessna 172P Skyhawk </description>
</fileheader>
<metrics>
<wingarea unit="FT2"> 174 </wingarea>
<wingspan unit="FT"> 35.8 </wingspan>
<chord unit="FT"> 4.9 </chord>
<htailarea unit="FT2"> 21.9 </htailarea>
<htailarm unit="FT"> 15.7 </htailarm>
<vtailarea unit="FT2"> 16.5 </vtailarea>
<vtailarm unit="FT"> 0 </vtailarm>
<location name="AERORP" unit="IN">
<x> 40.6 </x>
<y> 0 </y>
<z> 59.4 </z>
</location>
<location name="EYEPOINT" unit="IN">
<x> 37 </x>
<y> 0 </y>
<z> 48 </z>
</location>
<location name="VRP" unit="IN">
<x> 42.6 </x>
<y> 0 </y>
<z> 38.5 </z>
</location>
</metrics>
<!--
Cessna 172P Skyhawk 1982 (160hp) POH p.6-10, Weight and Moment:
**Basic Empty** (= with full oil) 1467 lbs, 57300 lb-ins. Gives CG at 39.06 ins.
-->
<mass_balance>
<ixx unit="SLUG*FT2"> 948 </ixx>
<iyy unit="SLUG*FT2"> 1285 </iyy>
<izz unit="SLUG*FT2"> 1906 </izz>
<ixy unit="SLUG*FT2"> -0 </ixy>
<ixz unit="SLUG*FT2"> -0 </ixz>
<iyz unit="SLUG*FT2"> -0 </iyz>
<emptywt unit="LBS"> 1467 </emptywt>
<location name="CG" unit="IN">
<x> 39.06 </x>
<y> 0 </y>
<z> 34 </z>
</location>
<pointmass name="Pilot">
<weight unit="LBS"> 180 </weight>
<location name="POINTMASS" unit="IN">
<x> 36 </x>
<y> -14 </y>
<z> 24 </z>
</location>
</pointmass>
<pointmass name="Co-Pilot">
<weight unit="LBS"> 0 </weight>
<location name="POINTMASS" unit="IN">
<x> 36 </x>
<y> 14 </y>
<z> 24 </z>
</location>
</pointmass>
<pointmass name="Left Passenger">
<weight unit="LBS"> 0 </weight>
<location name="POINTMASS" unit="IN">
<x> 70 </x>
<y> -14 </y>
<z> 24 </z>
</location>
</pointmass>
<pointmass name="Right Passenger">
<weight unit="LBS"> 0 </weight>
<location name="POINTMASS" unit="IN">
<x> 70 </x>
<y> 14 </y>
<z> 24 </z>
</location>
</pointmass>
<pointmass name="Baggage">
<weight unit="LBS"> 0 </weight>
<location name="POINTMASS" unit="IN">
<x> 95 </x>
<y> 0 </y>
<z> 24 </z>
</location>
</pointmass>
<!-- Bushkits 1 to 5, pointmass [5] to [14], [15] is 180 hp engine (below) -->
<!-- Weight and drag are managed by Systems/bushkit.xml -->
<pointmass name="Left bush wheel 26 inches">
<weight unit="LBS"> 0 </weight>
<location name="POINTMASS" unit="IN">
<x> 58.2 </x>
<y> -43 </y>
<z> -15.5 </z>
</location>
</pointmass>
<pointmass name="Right bush wheel 26 inches">
<weight unit="LBS"> 0 </weight>
<location name="POINTMASS" unit="IN">
<x> 58.2 </x>
<y> 43 </y>
<z> -15.5 </z>
</location>
</pointmass>
<pointmass name="Left bush wheel 36 inches">
<weight unit="LBS"> 0 </weight>
<location name="POINTMASS" unit="IN">
<x> 58.2 </x>
<y> -43 </y>
<z> -15.5 </z>
</location>
</pointmass>
<pointmass name="Right bush wheel 36 inches">
<weight unit="LBS"> 0 </weight>
<location name="POINTMASS" unit="IN">
<x> 58.2 </x>
<y> 43 </y>
<z> -15.5 </z>
</location>
</pointmass>
<pointmass name="Left float">
<weight unit="LBS"> 0 </weight>
<location name="POINTMASS" unit="IN">
<x> 41 </x>
<y> -43 </y>
<z> -25 </z>
</location>
</pointmass>
<pointmass name="Right float">
<weight unit="LBS"> 0 </weight>
<location name="POINTMASS" unit="IN">
<x> 41 </x>
<y> 43 </y>
<z> -25 </z>
</location>
</pointmass>
<pointmass name="Left amphibious">
<weight unit="LBS"> 0 </weight>
<location name="POINTMASS" unit="IN">
<x> 41 </x>
<y> -43 </y>
<z> -25 </z>
</location>
</pointmass>
<pointmass name="Right amphibious">
<weight unit="LBS"> 0 </weight>
<location name="POINTMASS" unit="IN">
<x> 41 </x>
<y> 43 </y>
<z> -25 </z>
</location>
</pointmass>
<pointmass name="Left ski">
<weight unit="LBS"> 0 </weight>
<location name="POINTMASS" unit="IN">
<x> 58.2 </x>
<y> -43 </y>
<z> -15.5 </z>
</location>
</pointmass>
<pointmass name="Right ski">
<weight unit="LBS"> 0 </weight>
<location name="POINTMASS" unit="IN">
<x> 58.2 </x>
<y> 43 </y>
<z> -15.5 </z>
</location>
</pointmass>
<!-- Extra weight for the aircraft with 180 hp engine, **Basic empty** (= with full oil), pointmass [15]; managed by Systems/bushkit.xml -->
<!-- for empty aircraft CG at x = 38.12 ins, from Cessna 172S - N552SP POH (1998) p.6-12, Weight and moment tabulation: 1642 lbs, 62600 lb-ins -->
<pointmass name="extra weight 180hp">
<weight unit="LBS"> 0 </weight>
<location name="POINTMASS" unit="IN">
<x> 30.29 </x>
<y> 0 </y>
<z> 26.6 </z>
</location>
</pointmass>
<!-- Loss of weight due to lacking oil, pointmass [16]. engine.nas, c172p-engine.xml -->
<pointmass name="lacking oil weight">
<weight unit="LBS"> 0 </weight>
<location name="POINTMASS" unit="IN">
<x> -19.7 </x>
<y> 0 </y>
<z> 26.6 </z>
</location>
</pointmass>
</mass_balance>
<ground_reactions>
<documentation>
The hydrodynamic interactions of the floats are modelled by
external forces.
</documentation>
<contact type="BOGEY" name="NOSE">
<location unit="IN">
<x> -6.8 </x>
<y> 0 </y>
<z> -20.3 </z>
</location>
<static_friction> 0.8 </static_friction>
<dynamic_friction> 0.5 </dynamic_friction>
<rolling_friction> 0.02 </rolling_friction>
<spring_coeff unit="LBS/FT"> 3600 </spring_coeff>
<damping_coeff unit="LBS/FT/SEC"> 1200 </damping_coeff>
<max_steer unit="DEG"> 30 </max_steer> <!-- limited to 10 deg NWS, but can turn up to 30 with side force -->
<brake_group> NONE </brake_group>
<retractable>0</retractable>
</contact>
<contact type="BOGEY" name="LEFT_MAIN">
<location unit="IN">
<x> 58.2 </x>
<y> -43 </y>
<z> -15.3 </z>
</location>
<static_friction> 0.8 </static_friction>
<dynamic_friction> 0.5 </dynamic_friction>
<rolling_friction> 0.02 </rolling_friction>
<spring_coeff unit="LBS/FT"> 5400 </spring_coeff>
<damping_coeff unit="LBS/FT/SEC"> 1800 </damping_coeff>
<max_steer unit="DEG"> 0.0 </max_steer>
<brake_group> LEFT </brake_group>
<retractable>0</retractable>
</contact>
<contact type="BOGEY" name="RIGHT_MAIN">
<location unit="IN">
<x> 58.2 </x>
<y> 43 </y>
<z> -15.1 </z>
</location>
<static_friction> 0.8 </static_friction>
<dynamic_friction> 0.5 </dynamic_friction>
<rolling_friction> 0.02 </rolling_friction>
<spring_coeff unit="LBS/FT"> 5400 </spring_coeff>
<damping_coeff unit="LBS/FT/SEC"> 1800 </damping_coeff>
<max_steer unit="DEG"> 0.0 </max_steer>
<brake_group> RIGHT </brake_group>
<retractable>0</retractable>
</contact>
<!-- Damage Mod -->
<!-- contact 3, 4, 5 -->
<contact type="STRUCTURE" name="TAIL_SKID">
<location unit="IN">
<x> 226.7 </x>
<y> 0 </y>
<z> 17 </z>
</location>
<static_friction> 0.5 </static_friction>
<dynamic_friction> 0.25 </dynamic_friction>
<spring_coeff unit="LBS/FT"> 2000 </spring_coeff>
<damping_coeff unit="LBS/FT/SEC"> 1000 </damping_coeff>
</contact>
<contact type="STRUCTURE" name="LEFT_TIP">
<location unit="IN">
<x> 20 </x>
<y> -232 </y>
<z> 50 </z>
</location>
<static_friction> 0.75 </static_friction>
<dynamic_friction> 0.5 </dynamic_friction>
<spring_coeff unit="LBS/FT"> 1830.15 </spring_coeff>
<damping_coeff unit="LBS/FT/SEC"> 366.03 </damping_coeff>
</contact>
<contact type="STRUCTURE" name="RIGHT_TIP">
<location unit="IN">
<x> 20 </x>
<y> 232 </y>
<z> 50 </z>
</location>
<static_friction> 0.75 </static_friction>
<dynamic_friction> 0.5 </dynamic_friction>
<spring_coeff unit="LBS/FT"> 1830.15 </spring_coeff>
<damping_coeff unit="LBS/FT/SEC"> 366.03 </damping_coeff>
</contact>
<!-- contact 6, 7, 8 -->
<contact type="STRUCTURE" name="FRONT_BROKEN_GEAR">
<location unit="IN">
<x> -6.8 </x>
<y> 0 </y>
<z> 0 </z>
</location>
<static_friction> 0.9 </static_friction>
<dynamic_friction> 0.5 </dynamic_friction>
<spring_coeff unit="LBS/FT"> 1830.15 </spring_coeff>
<damping_coeff unit="LBS/FT/SEC"> 366.03 </damping_coeff>
</contact>
<contact type="STRUCTURE" name="LEFT_BROKEN_GEAR">
<location unit="IN">
<x> 58.2 </x>
<y> -48 </y>
<z> 0 </z>
</location>
<static_friction> 0.8 </static_friction>
<dynamic_friction> 0.4 </dynamic_friction>
<spring_coeff unit="LBS/FT"> 1830.15 </spring_coeff>
<damping_coeff unit="LBS/FT/SEC"> 366.03 </damping_coeff>
</contact>
<contact type="STRUCTURE" name="RIGHT_BROKEN_GEAR">
<location unit="IN">
<x> 58.2 </x>
<y> 48 </y>
<z> 0 </z>
</location>
<static_friction> 0.8 </static_friction>
<dynamic_friction> 0.4 </dynamic_friction>
<spring_coeff unit="LBS/FT"> 1830.15 </spring_coeff>
<damping_coeff unit="LBS/FT/SEC"> 366.03 </damping_coeff>
</contact>
<!-- contact 9, 10, 11, 12 -->
<contact type="STRUCTURE" name="NOSE_TOP">
<location unit="IN">
<x> -119 </x>
<y> 0 </y>
<z> 35 </z>
</location>
<static_friction> .75 </static_friction>
<dynamic_friction> .5 </dynamic_friction>
<spring_coeff unit="LBS/FT"> 1830.15 </spring_coeff>
<damping_coeff unit="LBS/FT/SEC"> 366.03 </damping_coeff>
</contact>
<contact type="STRUCTURE" name="NOSE">
<location unit="IN">
<x> -119 </x>
<y> 0 </y>
<z> 8 </z>
</location>
<static_friction> 3.0 </static_friction>
<dynamic_friction> 2.0 </dynamic_friction>
<spring_coeff unit="LBS/FT"> 1830.15 </spring_coeff>
<damping_coeff unit="LBS/FT/SEC"> 366.03 </damping_coeff>
</contact>
<contact type="STRUCTURE" name="COCKPIT_TOP">
<location unit="IN">
<x> -4.7 </x>
<y> 0 </y>
<z> 60 </z>
</location>
<static_friction> 3.0 </static_friction>
<dynamic_friction> 2.0 </dynamic_friction>
<spring_coeff unit="LBS/FT"> 1830.15 </spring_coeff>
<damping_coeff unit="LBS/FT/SEC"> 366.03 </damping_coeff>
</contact>
<contact type="STRUCTURE" name="TOP_VS">
<location unit="IN">
<x> 253.5 </x>
<y> 0 </y>
<z> 90 </z>
</location>
<static_friction> 3.0 </static_friction>
<dynamic_friction> 2.0 </dynamic_friction>
<spring_coeff unit="LBS/FT"> 1830.15 </spring_coeff>
<damping_coeff unit="LBS/FT/SEC"> 366.03 </damping_coeff>
</contact>
<!-- contact 13, 14, 15, 16, 17, 18 -->
<contact type="STRUCTURE" name="LFfloat">
<location unit="IN">
<x>3.230</x>
<y>-56.889</y>
<z>38.5</z>
</location>
<static_friction> 0.5 </static_friction>
<dynamic_friction> 0.2 </dynamic_friction>
<spring_coeff unit="LBS/FT"> 1830.15 </spring_coeff>
<damping_coeff unit="LBS/FT/SEC"> 366.03 </damping_coeff>
</contact>
<contact type="STRUCTURE" name="RFfloat">
<location unit="IN">
<x>3.230</x>
<y>56.889</y>
<z>38.5</z>
</location>
<static_friction> 0.5 </static_friction>
<dynamic_friction> 0.2 </dynamic_friction>
<spring_coeff unit="LBS/FT"> 1830.15 </spring_coeff>
<damping_coeff unit="LBS/FT/SEC"> 366.03 </damping_coeff>
</contact>
<contact type="STRUCTURE" name="LMfloat">
<location unit="IN">
<x>70.16</x>
<y>-56.889</y>
<z>38.5</z>
</location>
<static_friction> 0.5 </static_friction>
<dynamic_friction> 0.2 </dynamic_friction>
<spring_coeff unit="LBS/FT"> 1830.15 </spring_coeff>
<damping_coeff unit="LBS/FT/SEC"> 366.03 </damping_coeff>
</contact>
<contact type="STRUCTURE" name="RMfloat">
<location unit="IN">
<x>70.16</x>
<y>56.889</y>
<z>38.5</z>
</location>
<static_friction> 0.5 </static_friction>
<dynamic_friction> 0.2 </dynamic_friction>
<spring_coeff unit="LBS/FT"> 1830.15 </spring_coeff>
<damping_coeff unit="LBS/FT/SEC"> 366.03 </damping_coeff>
</contact>
<contact type="STRUCTURE" name="LRfloat">
<location unit="IN">
<x>160.71</x>
<y>-56.889</y>
<z>38.5</z>
</location>
<static_friction> 0.5 </static_friction>
<dynamic_friction> 0.2 </dynamic_friction>
<spring_coeff unit="LBS/FT"> 1830.15 </spring_coeff>
<damping_coeff unit="LBS/FT/SEC"> 366.03 </damping_coeff>
</contact>
<contact type="STRUCTURE" name="RRfloat">
<location unit="IN">
<x>160.71</x>
<y>56.889</y>
<z>38.5</z>
</location>
<static_friction> 0.5 </static_friction>
<dynamic_friction> 0.2 </dynamic_friction>
<spring_coeff unit="LBS/FT"> 1830.15 </spring_coeff>
<damping_coeff unit="LBS/FT/SEC"> 366.03 </damping_coeff>
</contact>
<!-- contact 19, 20, 21, 22 -->
<contact type="BOGEY" name="LFFloatGear">
<location unit="IN">
<x>-78</x>
<y>-56.889</y>
<z>0</z>
</location>
<static_friction> 0.05</static_friction>
<dynamic_friction>0.05</dynamic_friction>
<rolling_friction>0.02</rolling_friction>
<spring_coeff unit="LBS/FT"> 1000 </spring_coeff>
<damping_coeff unit="LBS/FT/SEC"> 600 </damping_coeff>
<max_steer unit="DEG">360</max_steer>
<brake_group>NONE</brake_group>
<retractable>1</retractable>
</contact>
<contact type="BOGEY" name="RFFloatGear">
<location unit="IN">
<x>-78</x>
<y>56.889</y>
<z>0</z>
</location>
<static_friction> 0.05</static_friction>
<dynamic_friction>0.05</dynamic_friction>
<rolling_friction>0.02</rolling_friction>
<spring_coeff unit="LBS/FT"> 1000 </spring_coeff>
<damping_coeff unit="LBS/FT/SEC"> 600 </damping_coeff>
<max_steer unit="DEG">360</max_steer>
<brake_group>NONE</brake_group>
<retractable>1</retractable>
</contact>
<contact type="BOGEY" name="LMFloatGear">
<location unit="IN">
<x>76</x>
<y>-56.889</y>
<z>0</z>
</location>
<static_friction> 0.80</static_friction>
<dynamic_friction>0.50</dynamic_friction>
<rolling_friction>0.02</rolling_friction>
<spring_coeff unit="LBS/FT"> 5400 </spring_coeff>
<damping_coeff unit="LBS/FT/SEC"> 1600 </damping_coeff>
<max_steer unit="DEG">0</max_steer>
<brake_group>LEFT</brake_group>
<retractable>1</retractable>
</contact>
<contact type="BOGEY" name="RMFloatGear">
<location unit="IN">
<x>76</x>
<y>56.889</y>
<z>0</z>
</location>
<static_friction> 0.80</static_friction>
<dynamic_friction>0.50</dynamic_friction>
<rolling_friction>0.02</rolling_friction>
<spring_coeff unit="LBS/FT"> 5400 </spring_coeff>
<damping_coeff unit="LBS/FT/SEC"> 1600 </damping_coeff>
<max_steer unit="DEG">0</max_steer>
<brake_group>RIGHT</brake_group>
<retractable>1</retractable>
</contact>
<!-- contact 23 = 2 wheels on nose ski.
The ski wheels friction would have a
rolling friction on a hard surface and
slide or drag on snow -->
<!-- contact 23, 24, 25 -->
<contact type="BOGEY" name="NOSE_SKI">
<location unit="IN">
<x> 18.44 </x>
<y> 0 </y>
<z> -10 </z>
</location>
<static_friction> 0.8 </static_friction>
<dynamic_friction> 0.5 </dynamic_friction>
<rolling_friction> 0.02 </rolling_friction>
<spring_coeff unit="LBS/FT"> 1800 </spring_coeff>
<damping_coeff unit="LBS/FT/SEC"> 600 </damping_coeff>
<max_steer unit="DEG"> 10 </max_steer>
<brake_group> NONE </brake_group>
<retractable>0</retractable>
</contact>
<contact type="BOGEY" name="LEFT_SKI">
<location unit="IN">
<x> 93 </x>
<y> -51 </y>
<z> -10 </z>
</location>
<static_friction> 0.8 </static_friction>
<dynamic_friction> 0.5 </dynamic_friction>
<rolling_friction> 0.02 </rolling_friction>
<spring_coeff unit="LBS/FT"> 5400 </spring_coeff>
<damping_coeff unit="LBS/FT/SEC"> 400 </damping_coeff>
<max_steer unit="DEG"> 0.0 </max_steer>
<brake_group> NONE </brake_group>
<retractable>0</retractable>
</contact>
<contact type="BOGEY" name="RIGHT_SKI">
<location unit="IN">
<x> 93 </x>
<y> 52 </y>
<z> -10 </z>
</location>
<static_friction> 0.8 </static_friction>
<dynamic_friction> 0.5 </dynamic_friction>
<rolling_friction> 0.02 </rolling_friction>
<spring_coeff unit="LBS/FT"> 5400 </spring_coeff>
<damping_coeff unit="LBS/FT/SEC"> 400 </damping_coeff>
<max_steer unit="DEG"> 0.0 </max_steer>
<brake_group>NONE </brake_group>
<retractable>0</retractable>
</contact>
</ground_reactions>
<propulsion>
<engine file="eng_io320">
<location unit="IN">
<x> -19.7 </x>
<y> 0 </y>
<z> 26.6 </z>
</location>
<orient unit="DEG">
<roll> 0.0 </roll>
<pitch> 0 </pitch>
<yaw> 0 </yaw>
</orient>
<feed>4</feed> <!-- from intermediate tank (float chamber 4) -->
<thruster file="prop_75in2f">
<!-- <thruster file="prop_75in_2f_NACA_15-30deg"> --> <!-- for settling -->
<location unit="IN">
<x> -37.7 </x>
<y> 0 </y>
<z> 26.6 </z>
</location>
<orient unit="DEG">
<roll> 0.0 </roll>
<pitch> 0.0 </pitch>
<yaw> 0.0 </yaw>
</orient>
<sense> 1 </sense>
<p_factor> 15 </p_factor>
</thruster>
</engine>
<engine file="eng_io360">
<location unit="IN">
<x> -19.7 </x>
<y> 0 </y>
<z> 26.6 </z>
</location>
<orient unit="DEG">
<roll> 0.0 </roll>
<pitch> 0 </pitch>
<yaw> 0 </yaw>
</orient>
<feed>4</feed> <!-- from intermediate tank (float chamber 4) -->
<thruster file="prop_76in2f_NACA_20deg">
<!-- <thruster file="prop_76in2f_NACA_15-25deg"> --> <!-- for settling -->
<location unit="IN">
<x> -37.7 </x>
<y> 0 </y>
<z> 26.6 </z>
</location>
<orient unit="DEG">
<roll> 0.0 </roll>
<pitch> 0.0 </pitch>
<yaw> 0.0 </yaw>
</orient>
<sense> 1 </sense>
<p_factor> 15 </p_factor>
</thruster>
</engine>
<!-- Tank number 0 -->
<tank type="FUEL">
<location unit="IN">
<x> 48 </x>
<y>-44 </y>
<z> 55 </z>
</location>
<capacity unit="LBS">129.43</capacity>
<contents unit="LBS">0.0 </contents>
<type>AVGAS</type>
</tank>
<!-- Tank number 1 -->
<tank type="FUEL">
<location unit="IN">
<x> 48 </x>
<y> 44 </y>
<z> 55 </z>
</location>
<capacity unit="LBS">129.43</capacity>
<contents unit="LBS">0.0 </contents>
<type>AVGAS</type>
</tank>
<!-- Tank number 2 -->
<tank type="FUEL">
<location unit="IN">
<x> 48 </x>
<y>-44 </y>
<z> 55 </z>
</location>
<capacity unit="LBS">204</capacity>
<contents unit="LBS">0.0 </contents>
<type>AVGAS</type>
</tank>
<!-- Tank number 3 -->
<tank type="FUEL">
<location unit="IN">
<x> 48 </x>
<y> 44 </y>
<z> 55 </z>
</location>
<capacity unit="LBS">204</capacity>
<contents unit="LBS">0.0 </contents>
<type>AVGAS</type>
</tank>
<!-- Tank number 4, Float chamber -->
<tank type="FUEL">
<location unit="IN">
<x>-10 </x>
<y> 0 </y>
<z> 26 </z>
</location>
<capacity unit="LBS">0.1</capacity>
<contents unit="LBS">0.0</contents>
<priority>1</priority>
<type>AVGAS</type>
</tank>
</propulsion>
<flight_control name="FCS: c172">
<channel name="Pitch">
<kinematic name="fcs/elevator-cmd-norm-filtered">
<input>fcs/elevator-cmd-norm</input>
<traverse>
<setting>
<position>-1</position>
<time>0</time>
</setting>
<setting>
<position>1</position>
<time>0.15</time>
</setting>
</traverse>
<output>/sim/model/c172p/cockpit/yoke-elevator</output>
</kinematic>
<summer name="Pitch Trim Sum">
<input>fcs/elevator-cmd-norm-filtered</input>
<input>fcs/pitch-trim-cmd-norm</input>
<clipto>
<min>-1</min>
<max>1</max>
</clipto>
</summer>
<aerosurface_scale name="Elevator Control">
<input>fcs/pitch-trim-sum</input>
<gain>0.01745</gain>
<range>
<min>-28</min>
<max>23</max>
</range>
<output>fcs/elevator-pos-rad</output>
</aerosurface_scale>
<aerosurface_scale name="Elevator Position Normalized">
<input>fcs/elevator-pos-deg</input>
<domain>
<min>-28</min>
<max>23</max>
</domain>
<range>
<min>-1</min>
<max>1</max>
</range>
<output>fcs/elevator-pos-norm</output>
</aerosurface_scale>
</channel>
<channel name="Roll">
<kinematic name="fcs/aileron-cmd-norm-filtered">
<input>fcs/aileron-cmd-norm</input>
<traverse>
<setting>
<position>-1</position>
<time>0</time>
</setting>
<setting>
<position>1</position>
<time>0.15</time>
</setting>
</traverse>
<output>/sim/model/c172p/cockpit/yoke-aileron</output>
</kinematic>
<summer name="Roll Trim Sum">
<input>fcs/aileron-cmd-norm-filtered</input>
<input>fcs/roll-trim-cmd-norm</input>
<clipto>
<min>-1</min>
<max>1</max>
</clipto>
</summer>
<aerosurface_scale name="Left Aileron Control">
<input>fcs/roll-trim-sum</input>
<gain>0.01745</gain>
<range>
<min>-20</min>
<max>15</max>
</range>
<output>fcs/left-aileron-pos-rad</output>
</aerosurface_scale>
<aerosurface_scale name="Left Aileron Position Normalized">
<input>fcs/left-aileron-pos-deg</input>
<domain>
<min>-20</min>
<max>15</max>
</domain>
<range>
<min>-1</min>
<max>1</max>
</range>
<output>fcs/left-aileron-pos-norm</output>
</aerosurface_scale>
<aerosurface_scale name="Right Aileron Control">
<input>-fcs/roll-trim-sum</input>
<gain>0.01745</gain>
<range>
<min>-20</min>
<max>15</max>
</range>
<output>fcs/right-aileron-pos-rad</output>
</aerosurface_scale>
<aerosurface_scale name="Right Aileron Position Normalized">
<input>fcs/right-aileron-pos-deg</input>
<domain>
<min>-20</min>
<max>15</max>
</domain>
<range>
<min>1</min>
<max>-1</max>
</range>
<output>fcs/right-aileron-pos-norm</output>
</aerosurface_scale>
</channel>
<channel name="Yaw">
<kinematic name="fcs/rudder-cmd-norm-filtered">
<input>fcs/rudder-cmd-norm</input>
<traverse>
<setting>
<position>-1</position>
<time>0</time>
</setting>
<setting>
<position>1</position>
<time>0.15</time>
</setting>
</traverse>
<output>/sim/model/c172p/cockpit/pedals-rudder</output>
</kinematic>
<summer name="Yaw Trim Sum">
<input>fcs/rudder-cmd-norm-filtered</input>
<input>fcs/yaw-trim-cmd-norm</input>
<input>fcs/yaw-trim-cockpit</input>
<clipto>
<min>-1</min>
<max>1</max>
</clipto>
</summer>
<aerosurface_scale name="Rudder Control">
<input>fcs/yaw-trim-sum</input>
<gain>0.01745</gain>
<range>
<min>-16</min>
<max>16</max>
</range>
<output>fcs/rudder-pos-rad</output>
</aerosurface_scale>
<aerosurface_scale name="Rudder Position Normalized">
<input>fcs/rudder-pos-deg</input>
<domain>
<min>-16</min>
<max>16</max>
</domain>
<range>
<min>-1</min>
<max>1</max>
</range>
<output>fcs/rudder-pos-norm</output>
</aerosurface_scale>
</channel>
<channel name="Braking">
<summer name="fcs/parking-brake-sum">
<input>/sim/model/c172p/securing/chock-visible</input>
<input>/fdm/jsbsim/damage/repairing</input>
<input>/controls/gear/brake-parking</input>
</summer>
<fcs_function name="fcs/left-brake-sum">
<function>
<max>
<property>fcs/parking-brake-sum</property>
<property>/controls/gear/brake-left</property>
</max>
</function>
<output>fcs/left-brake-cmd-norm</output>
</fcs_function>
<fcs_function name="fcs/right-brake-sum">
<function>
<max>
<property>fcs/parking-brake-sum</property>
<property>/controls/gear/brake-right</property>
</max>
</function>
<output>fcs/right-brake-cmd-norm</output>
</fcs_function>
</channel>
<channel name="NWS">
<switch name="fcs/nws-enabled">
<default value="0"/>
<test logic="OR" value="1"> <!-- NWS mechanically centered if gear is fully extended -->
/gear/gear[0]/compression-norm gt 0.001
</test>
</switch>
<fcs_function name="left brake nose-gear">
<function name="fcs/nose-gear-left-brake-steer-factor">
<product>
<property>fcs/left-brake-cmd-norm</property>
<value>-1</value>
</product>
</function>
</fcs_function>
<fcs_function name="right brake nose-gear">
<function name="fcs/nose-gear-right-brake-steer-factor">
<product>
<property>fcs/right-brake-cmd-norm</property>
<value>1</value>
</product>
</function>
</fcs_function>
<summer name="fcs/brake-sum">
<input>fcs/nose-gear-right-brake-steer-factor</input>
<input>fcs/nose-gear-left-brake-steer-factor</input>
</summer>
<switch name="fcs/brake-influence-enabled"> <!-- brake should not influence nws if the aircraft is not moving -->
<default value="0"/>
<test logic="OR" value="1">
/gear/gear[0]/rollspeed-ms gt 0.25
</test>
</switch>
<fcs_function name="fcs/brake-sum-adjusted">
<function>
<product>
<property>fcs/brake-influence-enabled</property>
<property>fcs/brake-sum</property>
</product>
</function>
</fcs_function>
<fcs_function name="fcs/nws-cmd-deg"> <!-- Drive the nose wheel with the rudder and brakes -->
<function>
<table>
<independentVar lookup="row">fcs/brake-sum-adjusted</independentVar>
<independentVar lookup="column">/controls/flight/rudder</independentVar>
<tableData>
-1 0 1
-1 -30 0 10
0 -10 0 10
1 -10 0 30
</tableData>
</table>
</function>
</fcs_function>
<fcs_function name="fcs/nws-cmd-deg-adjusted">
<function>
<product>
<property>fcs/nws-cmd-deg</property>
<property>fcs/nws-enabled</property>
</product>
</function>
</fcs_function>
<actuator name="fcs/steer-deg">
<input>fcs/nws-cmd-deg-adjusted</input>
<rate_limit>80</rate_limit> <!-- 80 deg / s , or 1/8 second to full deflection with NWS -->
<output>fcs/steer-pos-deg</output>
</actuator>
</channel>
<channel name="Flaps">
<!-- Disable flap movement if electrical voltage is too low -->
<switch name="Flaps Command">
<default value="fcs/flap-cmd-norm"/>
<output>fcs/flap-input-norm</output>
<!-- Route back the (normalized) output of the <kinematic>
to its input in order to disable it.
-->
<test logic="AND" value="fcs/flap-pos-norm">
/systems/electrical/outputs/flaps le 16
</test>
</switch>
<kinematic name="Flaps Control">
<input>fcs/flap-input-norm</input>
<traverse>
<setting>
<position>0</position>
<time>0</time>
</setting>
<setting>
<position>10</position>
<time>2</time>
</setting>
<setting>
<position>20</position>
<time>1</time>
</setting>
<setting>
<position>30</position>
<time>1</time>
</setting>
</traverse>
<output>fcs/flap-pos-deg</output>
</kinematic>
<aerosurface_scale name="Flap Position Normalizer">
<input>fcs/flap-pos-deg</input>
<domain>
<min>0</min> <!-- Flaps actual minimum position -->
<max>30</max> <!-- Flaps actual maximum position -->
</domain>
<range>
<min>0</min> <!-- Flaps normalized minimum position -->
<max>1</max> <!-- Flaps normalized maximum position -->
</range>
<output>fcs/flap-pos-norm</output>
</aerosurface_scale>
<kinematic name="Flaps Lever">
<input>/controls/flight/flaps</input>
<traverse>
<setting>
<position>0</position>
<time>0</time>
</setting>
<setting>
<position>1</position>
<time>1</time>
</setting>
</traverse>
<output>/sim/model/c172p/cockpit/flaps-lever</output>
</kinematic>
</channel>
<channel name="Mixture">
<!-- If the engine was primed enough times and throttle
is in starter position, then mixture is 1.
-->
<fcs_function name="fcs/mixture-primer-cmd">
<function>
<table>
<independentVar lookup="row">/controls/engines/engine/primer</independentVar>
<independentVar lookup="column">/controls/engines/current-engine/throttle</independentVar>
<tableData>
0.09 0.1 0.5 0.51
2 0 0 0 0
3 0 1 1 0
4 0 1 1 0
5 0 1 1 0
6 0 1 1 0
7 0 0 0 0
</tableData>
</table>
</function>
</fcs_function>
<pure_gain name="fcs/mixture-primer[0]">
<input>fcs/mixture-cmd-norm[0]</input>
<gain>fcs/mixture-primer-cmd</gain>
</pure_gain>
<pure_gain name="fcs/mixture-primer[1]">
<input>fcs/mixture-cmd-norm[1]</input>
<gain>fcs/mixture-primer-cmd</gain>
</pure_gain>
<!-- Primer logic for 160 HP engine -->
<switch name="Mixture Position 160 HP">
<default value="fcs/mixture-cmd-norm[0]"/>
<output>fcs/mixture-pos-norm[0]</output>
<!-- Use primer if used and engine is cold. If engine
is warm, then the mixture lever is used.
-->
<test logic="AND" value="fcs/mixture-primer[0]">
/controls/engines/engine/use-primer eq 1
/engines/engine[0]/oil-temperature-degf le 75
</test>
</switch>
<!-- Primer logic for 180 HP engine -->
<switch name="Mixture Position 180 HP">
<default value="fcs/mixture-cmd-norm[1]"/>
<output>fcs/mixture-pos-norm[1]</output>
<!-- Use primer if used and engine is cold. If engine
is warm, then the mixture lever is used.
-->
<test logic="AND" value="fcs/mixture-primer[1]">
/controls/engines/engine/use-primer eq 1
/engines/engine[1]/oil-temperature-degf le 75
</test>
</switch>
</channel>
<channel name="Landing Gear">
<!-- Disable gear movement if electrical voltage is too low -->
<switch name="Gear Command">
<default value="gear/gear-cmd-norm"/>
<output>gear/gear-input-norm</output>
<!-- Route back the (normalized) output of the <kinematic>
to its input in order to disable it.
-->
<test logic="OR" value="gear/gear-pos-norm">
/sim/model/c172p/hydraulics/hydraulic-pump eq 0
</test>
</switch>
<kinematic name="Gr">
<input>gear/gear-input-norm</input>
<traverse>
<setting>
<position>0</position>
<time>0 </time>
</setting>
<setting>
<position>1</position>
<time>5</time>
</setting>
</traverse>
<output>gear/gear-pos-norm</output>
</kinematic>
<kinematic name="/controls/gear/water-rudder-down">
<input>/controls/gear/water-rudder</input>
<traverse>
<setting>
<position>0</position>
<time>0 </time>
</setting>
<setting>
<position>1</position>
<time>1</time>
</setting>
</traverse>
</kinematic>
</channel>
</flight_control>
<aerodynamics>
<alphalimits unit="RAD">
<min>-0.087</min>
<max>0.28</max>
</alphalimits>
<hysteresis_limits unit="RAD">
<min>0.15</min>
<max>0.297</max>
</hysteresis_limits>
<function name="aero/function/kCDge">
<description>Change_in_drag_due_to_ground_effect</description>
<table>
<independentVar>aero/h_b-mac-ft</independentVar>
<tableData>
0.0000 0.4800
0.1000 0.5150
0.1500 0.6290
0.2000 0.7090
0.3000 0.8150
0.4000 0.8820
0.5000 0.9280
0.6000 0.9620
0.7000 0.9880
0.8000 1.0000
0.9000 1.0000
1.0000 1.0000
1.1000 1.0000
</tableData>
</table>
</function>
<function name="aero/function/kCLge">
<description>Change_in_lift_due_to_ground_effect</description>
<table>
<independentVar>aero/h_b-mac-ft</independentVar>
<tableData>
0.0000 1.2030
0.1000 1.1270
0.1500 1.0900
0.2000 1.0730
0.3000 1.0460
0.4000 1.0280
0.5000 1.0190
0.6000 1.0130
0.7000 1.0080
0.8000 1.0060
0.9000 1.0030
1.0000 1.0020
1.1000 1.0000
</tableData>
</table>
</function>
<function name="aero/function/vel-propwash-fps">
<description> propeller induced velocity </description>
<sum>
<property>propulsion/engine/prop-induced-velocity_fps</property>
<property>propulsion/engine[1]/prop-induced-velocity_fps</property>
</sum>
</function>
<function name="aero/function/qbar-propwash-psf">
<description> q bar due to the propeller induced velocity </description>
<product>
<property>aero/function/vel-propwash-fps</property>
<property>aero/function/vel-propwash-fps</property>
<property>atmosphere/rho-slugs_ft3</property>
<value>0.5</value>
</product>
</function>
<function name="aero/function/velocity-induced-fps">
<description> velocity including the propulsion induced velocity.</description>
<sum>
<property>velocities/u-aero-fps</property>
<property>propulsion/engine/prop-induced-velocity_fps</property>
<property>propulsion/engine[1]/prop-induced-velocity_fps</property>
</sum>
</function>
<function name="aero/function/qbar-induced-psf">
<description> q bar including the propulsion induced velocity.</description>
<product>
<property>aero/function/velocity-induced-fps</property>
<property>aero/function/velocity-induced-fps</property>
<property>atmosphere/rho-slugs_ft3</property>
<value>0.5</value>
</product>
</function>
<function name="aero/function/total-wing-damage">
<description>Total damage on wings</description>
<product>
<sum>
<property>wing-damage/left-wing</property>
<property>wing-damage/right-wing</property>
</sum>
<value>0.5</value>
</product>
</function>
<function name="fcs/aileron-pos-rad-avgd">
<description>Averaged aileron position</description>
<avg>
<property>fcs/left-aileron-pos-rad</property>
<product>
<property>fcs/right-aileron-pos-rad</property>
<value>-1</value>
</product>
</avg>
</function>
<axis name="DRAG">
<function name="aero/coefficient/CDo">
<description>Drag_at_zero_lift</description>
<product>
<property>aero/qbar-psf</property>
<property>metrics/Sw-sqft</property>
<value>0.027</value>
<property>gear/drag-coef[1]</property> <!-- bush wheels 26" -->
<property>gear/drag-coef[2]</property> <!-- bush wheels 36" -->
<property>gear/drag-coef[3]</property> <!-- Floats -->
<property>gear/drag-coef[4]</property> <!-- Amphibious -->
<property>gear/drag-coef[5]</property> <!-- Ski -->
<property>gear/drag-coef[6]</property> <!-- Amphibious gear extended -->
</product>
</function>
<function name="aero/coefficient/CDDf">
<description>Delta_drag_due_to_flap_deflection</description>
<product>
<property>aero/qbar-psf</property>
<property>metrics/Sw-sqft</property>
<property>aero/function/kCDge</property>
<table>
<independentVar>fcs/flap-pos-deg</independentVar>
<tableData>
0.0000 0.0000
10.0000 0.0070
20.0000 0.0120
30.0000 0.0180
</tableData>
</table>
</product>
</function>
<function name="aero/coefficient/CDwbh">
<description>Drag_due_to_alpha</description>
<product>
<property>aero/qbar-psf</property>
<property>metrics/Sw-sqft</property>
<property>aero/function/kCDge</property>
<table>
<independentVar lookup="row">aero/alpha-rad</independentVar>
<independentVar lookup="column">fcs/flap-pos-deg</independentVar>
<tableData>
0 10 20 30
-0.0873 0.0041 0 0.0005 0.0014
-0.0698 0.0013 0.0004 0.0025 0.0041
-0.0524 0.0001 0.0023 0.0059 0.0084
-0.0349 0.0003 0.0057 0.0108 0.0141
-0.0175 0.002 0.0105 0.0172 0.0212
0.0000 0.0052 0.0168 0.0251 0.0299
0.0175 0.0099 0.0248 0.0346 0.0402
0.0349 0.0162 0.0342 0.0457 0.0521
0.0524 0.024 0.0452 0.0583 0.0655
0.0698 0.0334 0.0577 0.0724 0.0804
0.0873 0.0442 0.0718 0.0881 0.0968
0.1047 0.0566 0.0874 0.1053 0.1148
0.1222 0.0706 0.1045 0.124 0.1343
0.1396 0.086 0.1232 0.1442 0.1554
0.1571 0.0962 0.1353 0.1573 0.169
0.1745 0.1069 0.1479 0.1708 0.183
0.1920 0.118 0.161 0.1849 0.1975
0.2094 0.1298 0.1746 0.1995 0.2126
0.2269 0.1424 0.1892 0.2151 0.2286
0.2443 0.1565 0.2054 0.2323 0.2464
0.3491 0.2537 0.3298 0.3755 0.3983
0.5236 0.45 0.585 0.666 0.7065
0.6981 0.7 0.91 1.036 1.099
0.8727 1 1.3 1.48 1.57
1.0472 1.35 1.755 1.998 2.1195
1.2217 1.5 1.95 2.22 2.355
1.3963 1.57 2.041 2.3236 2.4649
1.5710 1.6 2.08 2.368 2.512
</tableData>
</table>
<property>gear/drag-coef[1]</property>
<property>gear/drag-coef[2]</property>
<property>gear/drag-coef[3]</property>
<property>gear/drag-coef[4]</property>
<property>gear/drag-coef[5]</property>
<property>gear/drag-coef[6]</property> <!-- Amphibious gear extended -->
</product>
</function>
<function name="aero/coefficient/CDDe">
<description>Drag_due_to_Elevator_Deflection</description>
<product>
<property>aero/qbar-psf</property>
<property>metrics/Sw-sqft</property>
<property>fcs/mag-elevator-pos-rad</property>
<value>0.0000</value>
</product>
</function>
<function name="aero/coefficient/CDbeta">
<description>Drag_due_to_sideslip</description>
<product>
<property>aero/qbar-psf</property>
<property>metrics/Sw-sqft</property>
<property>aero/mag-beta-rad</property>
<value>0.1500</value>
<property>gear/drag-coef[1]</property>
<property>gear/drag-coef[2]</property>
<property>gear/drag-coef[3]</property>
<property>gear/drag-coef[4]</property>
<property>gear/drag-coef[5]</property>
<property>gear/drag-coef[6]</property> <!-- Amphibious gear extended -->
</product>
</function>
<function name="aero/coefficient/CDdoorL">
<description>Drag_due_to_door_left</description>
<product>
<property>aero/qbar-psf</property>
<property>metrics/Sw-sqft</property>
<property>/sim/model/door-positions/leftDoor/position-norm-effective</property>
<value>0.0300</value>
</product>
</function>
<function name="aero/coefficient/CDdoorR">
<description>Drag_due_to_door_right</description>
<product>
<property>aero/qbar-psf</property>
<property>metrics/Sw-sqft</property>
<property>/sim/model/door-positions/rightDoor/position-norm-effective</property>
<value>0.0300</value>
</product>
</function>
<function name="aero/coefficient/CDbaggagedoor">
<description>Drag_due_to_door_left</description>
<product>
<property>aero/qbar-psf</property>
<property>metrics/Sw-sqft</property>
<property>/sim/model/door-positions/baggageDoor/position-norm-effective</property>
<value>0.0300</value>
</product>
</function>
<function name="aero/coefficient/CDwindow-l">
<description>Drag_due_to_window_left</description>
<product>
<property>aero/qbar-psf</property>
<property>metrics/Sw-sqft</property>
<property>/sim/model/door-positions/leftWindow/position-norm</property>
<value>0.0010</value>
</product>
</function>
<function name="aero/coefficient/CDwindow-r">
<description>Drag_due_to_window_right</description>
<product>
<property>aero/qbar-psf</property>
<property>metrics/Sw-sqft</property>
<property>/sim/model/door-positions/rightWindow/position-norm</property>
<value>0.0010</value>
</product>
</function>
</axis>
<axis name="SIDE">
<function name="aero/coefficient/CYb">
<description>Side_force_due_to_beta</description>
<product>
<property>aero/qbar-psf</property>
<property>metrics/Sw-sqft</property>
<table>
<independentVar lookup="row">aero/beta-rad</independentVar>
<independentVar lookup="column">fcs/flap-pos-deg</independentVar>
<tableData>
0.0000 30.0000
-0.3490 0.1370 0.1060
0.0000 0.0000 0.0000
0.3490 -0.1370 -0.1060
</tableData>
</table>
</product>
</function>
<function name="aero/coefficient/CYdr">
<description>Side_force_due_to_rudder</description>
<product>
<property>aero/qbar-psf</property>
<property>metrics/Sw-sqft</property>
<property>fcs/rudder-pos-rad</property>
<value>0.150</value>
</product>
</function>
</axis>
<axis name="LIFT">
<function name="aero/coefficient/CLwbh">
<description>Lift_due_to_alpha</description>
<product>
<property>aero/qbar-psf</property>
<property>metrics/Sw-sqft</property>
<property>aero/function/kCLge</property>
<table>
<independentVar lookup="row">aero/alpha-rad</independentVar>
<independentVar lookup="column">aero/stall-hyst-norm</independentVar>
<tableData>
0.00 1.00
-0.09 -0.22 -0.22
0.00 0.25 0.25
0.09 0.73 0.73
0.10 0.83 0.78
0.12 0.92 0.79
0.14 1.02 0.81
0.16 1.08 0.82
0.17 1.13 0.83
0.19 1.19 0.85
0.21 1.25 0.86
0.24 1.35 0.88
0.26 1.44 0.90
0.28 1.47 0.92
0.30 1.43 0.95
0.32 1.38 0.99
0.34 1.30 1.05
0.36 1.15 1.15
0.52 1.47 1.47
0.70 1.65 1.65
0.87 1.47 1.47
1.05 1.17 1.17
1.57 0.01 0.01
</tableData>
</table>
<table>
<independentVar>aero/function/total-wing-damage</independentVar>
<tableData>
0.0000 1
1.0000 0
</tableData>
</table>
</product>
</function>
<function name="aero/coefficient/CLDf">
<description>Delta_lift_due_to_flap_deflection</description>
<product>
<property>aero/qbar-psf</property>
<property>metrics/Sw-sqft</property>
<property>aero/function/kCLge</property>
<table>
<independentVar>fcs/flap-pos-deg</independentVar>
<tableData>
0.0000 0.0000
10.0000 0.2000
20.0000 0.3000
30.0000 0.3500
</tableData>
</table>
</product>
</function>
<function name="aero/coefficient/CLDe">
<description>Lift_due_to_Elevator_Deflection</description>
<product>
<property>aero/qbar-psf</property>
<property>metrics/Sw-sqft</property>
<property>fcs/elevator-pos-rad</property>
<value>0.4300</value>
</product>
</function>
<function name="aero/coefficient/CLadot">
<!-- 'qbar-psf' has been replaced by 'qbarUW-psf'.
See JSBSim issue #89 Pitch oscillations at rest, Brakes "ON", with pure crosswind
https://github.com/JSBSim-Team/jsbsim/issues/89 -->
<description>Lift_due_to_alpha_rate</description>
<product>
<!-- <property>aero/qbar-psf</property> -->
<property>aero/qbarUW-psf</property>
<property>metrics/Sw-sqft</property>
<property>aero/alphadot-rad_sec</property>
<property>aero/ci2vel</property>
<value>1.7000</value>
</product>
</function>
<function name="aero/coefficient/CLq">
<description>Lift_due_to_pitch_rate</description>
<product>
<property>aero/qbar-psf</property>
<property>metrics/Sw-sqft</property>
<property>velocities/q-aero-rad_sec</property>
<property>aero/ci2vel</property>
<value>3.9000</value>
</product>
</function>
</axis>
<axis name="ROLL">
<function name="aero/coefficient/Clb">
<description>Roll_moment_due_to_beta</description>
<product>
<property>aero/qbar-psf</property>
<property>metrics/Sw-sqft</property>
<property>metrics/bw-ft</property>
<property>aero/beta-rad</property>
<value>-0.092</value>
<!--
stall and spin (1):
via diedra effect.
Makes the higher (downwind) wing drop at forward slip
and worsens the spin in a skidding turn.
But if too great, prevents the spin departure in a slipping turn
-->
<table>
<independentVar lookup="row">aero/alpha-wing-rad</independentVar>
<tableData>
0.279 1
0.297 3.5
</tableData>
</table>
</product>
</function>
<function name="aero/coefficient/Clp">
<description>Roll_moment_due_to_roll_rate_(roll_damping)</description>
<product>
<property>aero/qbar-psf</property>
<property>metrics/Sw-sqft</property>
<property>metrics/bw-ft</property>
<property>aero/bi2vel</property>
<property>velocities/p-aero-rad_sec</property>
<value>-0.484</value>
<!--
stall and spin (2):
less roll damping
<table>
<independentVar lookup="row">aero/alpha-wing-rad</independentVar>
<tableData>
0.279 1
0.297 0.4
</tableData>
</table>
-->
</product>
</function>
<function name="aero/coefficient/Clr">
<description>Roll_moment_due_to_yaw_rate</description>
<product>
<property>aero/qbar-psf</property>
<property>metrics/Sw-sqft</property>
<property>metrics/bw-ft</property>
<property>aero/bi2vel</property>
<property>velocities/r-aero-rad_sec</property>
<table>
<independentVar lookup="row">fcs/flap-pos-deg</independentVar>
<tableData>
0.0000 0.0798
30 0.1246
</tableData>
</table>
<table>
<!--
stall and spin (3):
yaw effect
-->
<independentVar lookup="row">aero/alpha-wing-rad</independentVar>
<independentVar lookup="column">velocities/r-aero-rad_sec</independentVar>
<independentVar lookup="table">aero/stall-hyst-norm</independentVar>
<tableData breakPoint="0">
-0.15 -0.1 0 0.1 0.15
0.279 1 1 1 1 1
0.297 35 30 1 30 35
0.5 5 5 1 5 5
</tableData>
<tableData breakPoint="1">
-0.15 -0.1 0 0.1 0.15
0.297 35 30 1 30 35
0.5 5 5 1 5 5
</tableData>
</table>
</product>
</function>
<function name="aero/coefficient/ClDa">
<description>Roll_moment_due_to_aileron</description>
<product>
<property>aero/qbar-psf</property>
<property>metrics/Sw-sqft</property>
<property>metrics/bw-ft</property>
<property>fcs/aileron-pos-rad-avgd</property>
<value>0.229</value>
<!--
stall and spin (4):
less efficient ailerons
-->
<table>
<independentVar lookup="row">aero/alpha-wing-rad</independentVar>
<independentVar lookup="column">aero/stall-hyst-norm</independentVar>
<tableData>
0 1
0.279 1 0.3
0.297 0.3 0.3
0.611 -0.1 -0.1
</tableData>
</table>
<table>
<independentVar>aero/function/total-wing-damage</independentVar>
<tableData>
0.0000 1
1.0000 0
</tableData>
</table>
</product>
</function>
<function name="aero/coefficient/Cldr">
<description>Roll_moment_due_to_rudder</description>
<product>
<property>aero/qbar-psf</property>
<property>metrics/Sw-sqft</property>
<property>metrics/bw-ft</property>
<property>fcs/rudder-pos-rad</property>
<value>0.0147</value>
</product>
</function>
<function name="aero/coefficient/Cllwdmg">
<description>Roll_moment_due_to_damaged_left_wing</description>
<product>
<property>aero/qbar-psf</property>
<property>metrics/Sw-sqft</property>
<property>metrics/bw-ft</property>
<property>wing-damage/left-wing</property>
<value>-0.3</value>
</product>
</function>
<function name="aero/coefficient/Clrwdmg">
<description>Roll_moment_due_to_damaged_right_wing</description>
<product>
<property>aero/qbar-psf</property>
<property>metrics/Sw-sqft</property>
<property>metrics/bw-ft</property>
<property>wing-damage/right-wing</property>
<value>0.3</value>
</product>
</function>
</axis>
<axis name="PITCH">
<function name="aero/coefficient/Cmo">
<description>Pitching_moment_at_zero_alpha</description>
<product>
<property>aero/qbar-psf</property>
<property>metrics/Sw-sqft</property>
<property>metrics/cbarw-ft</property>
<table>
<independentVar lookup="row">aero/qbar-psf</independentVar>
<tableData>
13.6 0.09
21.2 0.04
</tableData>
</table>
</product>
</function>
<function name="aero/coefficient/Cmalpha">
<description>Pitch_moment_due_to_alpha</description>
<product>
<property>aero/qbar-psf</property>
<property>metrics/Sw-sqft</property>
<property>metrics/cbarw-ft</property>
<sin>
<property>aero/alpha-rad</property>
</sin>
<value>-1.8</value>
<!--
stall and spin (5):
horizontal tail stall (for flat spin)
-->
<table>
<independentVar lookup="row">aero/alpha-deg</independentVar>
<tableData>
20 1
25 0.6
35 0.4
45 0.5
55 0.4
65 0.2
90 0.1
</tableData>
</table>
</product>
</function>
<function name="aero/coefficient/Cmq">
<description>Pitch_moment_due_to_pitch_rate</description>
<product>
<property>aero/qbar-psf</property>
<property>metrics/Sw-sqft</property>
<property>metrics/cbarw-ft</property>
<property>aero/ci2vel</property>
<property>velocities/q-aero-rad_sec</property>
<value>-12.4000</value>
</product>
</function>
<function name="aero/coefficient/Cmadot">
<!-- 'qbar-psf' has been replaced by 'qbarUW-psf'.
See JSBSim issue #89 Pitch oscillations at rest, Brakes "ON", with pure crosswind
https://github.com/JSBSim-Team/jsbsim/issues/89 -->
<description>Pitch_moment_due_to_alpha_rate</description>
<product>
<!-- <property>aero/qbar-psf</property> -->
<property>aero/qbarUW-psf</property>
<property>metrics/Sw-sqft</property>
<property>metrics/cbarw-ft</property>
<property>aero/ci2vel</property>
<property>aero/alphadot-rad_sec</property>
<value>-7.2700</value>
</product>
</function>
<function name="aero/coefficient/Cmde">
<description>Pitch_moment_due_to_elevator_deflection</description>
<product>
<property>aero/function/qbar-induced-psf</property>
<property>metrics/Sw-sqft</property>
<property>metrics/cbarw-ft</property>
<property>fcs/elevator-pos-rad</property>
<value>-1.28</value>
<!--
stall and spin (6):
elevator loss of efficiency when stalled
-->
<table>
<independentVar lookup="row">fcs/elevator-pos-rad</independentVar>
<independentVar lookup="column">aero/alpha-deg</independentVar>
<tableData>
18 25 35 45 55 65 90
-0.49 1 0.5 0.2 0.1 0.1 0.1 0.1
0 1 0.6 0.3 0.15 0.1 0.1 0.1
0.40 1 0.9 0.8 0.7 0.6 0.5 0.4
</tableData>
</table>
</product>
</function>
<function name="aero/coefficient/Cmdf">
<description>Delta_pitching_moment_due_to_flap_deflection</description>
<product>
<property>aero/qbar-psf</property>
<property>metrics/Sw-sqft</property>
<property>metrics/cbarw-ft</property>
<table>
<independentVar>fcs/flap-pos-deg</independentVar>
<tableData>
0.0000 0.0000
10.0000 -0.0654
20.0000 -0.0981
30.0000 -0.1140
</tableData>
</table>
<value>0.7</value> <!-- tests, adjustments -->
</product>
</function>
</axis>
<axis name="YAW">
<function name="aero/coefficient/Cnb">
<description>Yaw_moment_due_to_beta</description>
<product>
<property>aero/qbar-psf</property>
<property>metrics/Sw-sqft</property>
<property>metrics/bw-ft</property>
<table>
<independentVar>aero/beta-rad</independentVar>
<tableData>
-0.3490 -0.0205
0.0000 0.0000
0.3490 0.0205
</tableData>
</table>
</product>
</function>
<function name="aero/coefficient/Cnspw">
<description>Yaw_moment_due_to_spiraling_propwash</description>
<product>
<property>aero/function/qbar-propwash-psf</property>
<property>metrics/Sw-sqft</property>
<property>metrics/bw-ft</property>
<value>-0.05</value>
<property>aero/coefficient/spiral-propwash-coeff</property> <!-- tuning factor -->
</product>
</function>
<function name="aero/coefficient/Cnr">
<description>Yaw_moment_due_to_yaw_rate</description>
<product>
<property>aero/qbar-psf</property>
<property>metrics/Sw-sqft</property>
<property>metrics/bw-ft</property>
<property>aero/bi2vel</property>
<property>velocities/r-aero-rad_sec</property>
<value>-0.0937</value>
</product>
</function>
<function name="aero/coefficient/Cnrf">
<description>Yaw_moment_due_to_flat_spin</description>
<!--
stall and spin (7):
Feedback loop on yaw rate for flat spin.
Accelerates the yaw rate when stalled, up to a self-maintained flat spin (like a dead leaf).
r-aero-rad_sec with non-zero coefficients mainly sets the max yawing rate, if attained.
The coefficients set the yaw moment, thus the speed too, and the flatness of the spin.
Too great coefficients give an divergent effect and a non-recoverable spin.
(tricky)
-->
<product>
<property>aero/qbar-psf</property>
<property>metrics/Sw-sqft</property>
<property>metrics/bw-ft</property>
<property>aero/bi2vel</property>
<table>
<independentVar lookup="row">velocities/r-aero-rad_sec</independentVar>
<independentVar lookup="column">aero/alpha-wing-rad</independentVar>
<tableData>
0.279 0.4
-15 0 0
-5 0 0
-3 0 -0.25
-1 0 0
0 0 0
1 0 0
3 0 0.25
5 0 0
15 0 0
</tableData>
</table>
</product>
</function>
<function name="aero/coefficient/Cnda">
<description>Yaw_moment_due_to_aileron</description>
<!--
stall and spin (8):
adverse yaw: can induce a adverse turn and spin when stalled
-->
<product>
<property>aero/qbar-psf</property>
<property>metrics/Sw-sqft</property>
<property>metrics/bw-ft</property>
<property>fcs/aileron-pos-rad-avgd</property>
<table>
<independentVar lookup="row">aero/alpha-wing-rad</independentVar>
<independentVar lookup="column">aero/beta-rad</independentVar>
<tableData>
-0.35 0 0.35
0 -0.0216 -0.0216 -0.0216
0.070 -0.039 -0.0786 -0.039
0.094 -0.025 -0.0504 -0.025
</tableData>
</table>
<table>
<independentVar>aero/function/total-wing-damage</independentVar>
<tableData>
0.0000 1
1.0000 0
</tableData>
</table>
</product>
</function>
<function name="aero/coefficient/Cndr">
<description>Yaw_moment_due_to_rudder</description>
<product>
<property>aero/function/qbar-induced-psf</property>
<property>metrics/Sw-sqft</property>
<property>metrics/bw-ft</property>
<property>fcs/rudder-pos-rad</property>
<value>-0.0645</value>
</product>
</function>
</axis>
</aerodynamics>
<external_reactions>
<force name="hydro-X" frame="LOCAL">
<location unit="IN">
<x> 32.6 </x>
<y> 0 </y>
<z> 38.5 </z>
</location>
<direction>
<x> 1.0 </x>
<y> 0.0 </y>
<z> 0.0 </z>
</direction>
</force>
<force name="hydro-Y" frame="LOCAL">
<location unit="IN">
<x> 32.6 </x>
<y> 0 </y>
<z> 38.5 </z>
</location>
<direction>
<x> 0.0 </x>
<y> 1.0 </y>
<z> 0.0 </z>
</direction>
</force>
<force name="hydro-Z" frame="LOCAL">
<location unit="IN">
<x> 32.6 </x>
<y> 0 </y>
<z> 38.5 </z>
</location>
<direction>
<x> 0.0 </x>
<y> 0.0 </y>
<z>-1.0 </z>
</direction>
</force>
<force name="hydro-pitch[0]" frame="LOCAL">
<location unit="IN">
<x> 20.6 </x>
<y> 0 </y>
<z> 38.5 </z>
</location>
<direction>
<x> 0.0 </x>
<y> 0.0 </y>
<z>-1.0 </z>
</direction>
</force>
<force name="hydro-pitch[1]" frame="LOCAL">
<location unit="IN">
<x> 44.6 </x>
<y> 0 </y>
<z> 38.5 </z>
</location>
<direction>
<x> 0.0 </x>
<y> 0.0 </y>
<z>-1.0 </z>
</direction>
</force>
<force name="hydro-yaw[0]" frame="BODY">
<location unit="IN">
<x> 32.6 </x>
<y>-12.0 </y>
<z> 38.5 </z>
</location>
<direction>
<x> 1.0 </x>
<y> 0.0 </y>
<z> 0.0 </z>
</direction>
</force>
<force name="hydro-yaw[1]" frame="BODY">
<location unit="IN">
<x> 32.6 </x>
<y> 12.0 </y>
<z> 38.5 </z>
</location>
<direction>
<x> 1.0 </x>
<y> 0.0 </y>
<z> 0.0 </z>
</direction>
</force>
<force name="hydro-roll[0]" frame="LOCAL">
<location unit="IN">
<x> 32.6 </x>
<y>-12.0 </y>
<z> 38.5 </z>
</location>
<direction>
<x> 0.0 </x>
<y> 0.0 </y>
<z>-1.0 </z>
</direction>
</force>
<force name="hydro-roll[1]" frame="LOCAL">
<location unit="IN">
<x> 32.6 </x>
<y> 12.0 </y>
<z> 38.5 </z>
</location>
<direction>
<x> 0.0 </x>
<y> 0.0 </y>
<z>-1.0 </z>
</direction>
</force>
<!-- Tiedowns use body frame (x positive forward, y positive
right, z positive down).
-->
<force name="tiedown-left" frame="BODY">
<location unit="M">
<x> 0.1188</x>
<y>-2.2998</y>
<z> 0.4008</z>
</location>
<direction>
<x>0.0</x>
<y>0.0</y>
<z>1.0</z>
</direction>
</force>
<force name="tiedown-right" frame="BODY">
<location unit="M">
<x> 0.1188</x>
<y> 2.2998</y>
<z> 0.4008</z>
</location>
<direction>
<x>0.0</x>
<y>0.0</y>
<z>1.0</z>
</direction>
</force>
<force name="tiedown-tail" frame="BODY">
<location unit="M">
<x> 4.7116</x>
<y> 0.0000</y>
<z>-0.6663</z>
</location>
<direction>
<x>0.0</x>
<y>0.0</y>
<z>1.0</z>
</direction>
</force>
<force name="ai-wake" frame="BODY">
<location unit="IN">
<!-- Center of the main wing leading edge -->
<x>32.0</x>
<y> 0.0</y>
<z>52.5</z>
</location>
<direction>
<!-- These are dummy values. They are ignored by FlightGear.
Their purpose is to avoid JSBSim display warning messages
about <direction> not being specified.
-->
<x>1.0</x>
<y>0.0</y>
<z>0.0</z>
</direction>
</force>
<moment name="ai-wake" frame="BODY">
<direction>
<!-- These are dummy values. They are ignored by FlightGear.
Their purpose is to avoid JSBSim display warning messages
about <direction> not being specified.
-->
<x>1.0</x>
<y>0.0</y>
<z>0.0</z>
</direction>
</moment>
<force name="mooring-north" frame="LOCAL">
<location unit="FT">
<x> 0.0 </x>
<y> 0.0 </y>
<z> 0.0 </z>
</location>
<direction>
<x> 1.0 </x>
<y> 0.0 </y>
<z> 0.0 </z>
</direction>
</force>
<force name="mooring-east" frame="LOCAL">
<location unit="FT">
<x> 0.0 </x>
<y> 0.0 </y>
<z> 0.0 </z>
</location>
<direction>
<x> 0.0 </x>
<y> 1.0 </y>
<z> 0.0 </z>
</direction>
</force>
<force name="mooring-down" frame="LOCAL">
<location unit="FT">
<x> 0.0 </x>
<y> 0.0 </y>
<z> 1.0 </z>
</location>
<direction>
<x> 1.0 </x>
<y> 0.0 </y>
<z> 0.0 </z>
</direction>
</force>
<force name="hitch" frame="BODY" unit="LBS" >
<location unit="M">
<x> 4.7116</x>
<y> 0.0000</y>
<z>-0.6663</z>
</location>
<direction>
<x>0.0</x>
<y>0.0</y>
<z>0.0</z>
</direction>
</force>
</external_reactions>
<system file="bushkit"/>
<system file="fuel"/>
<system file="c172p-engine"/>
<system file="c172p-skis"/>
<system file="hydrodynamics"/>
<system file="c172p-hydrodynamics"/>
<system file="c172p-ground-effects"/>
<system file="c172p-damage"/>
<system file="c172p-sounds"/>
<system file="c172p-heat"/>
<system file="external-heat"/> <!-- integrate external-heater, thanks to HHS for allowing use-->
<system file="indicated-airspeed"/>
<!-- Mooring setup for FlightGear. -->
<system file="mooring-jsbsim"/>
<!--
<output name="JSBout172C.csv" type="CSV" rate="60">
<property> aero/qbar-psf </property>
<property> accelerations/udot-ft_sec2 </property>
<property> accelerations/vdot-ft_sec2 </property>
<property> accelerations/wdot-ft_sec2 </property>
<property> accelerations/a-pilot-x-ft_sec2 </property>
<property> accelerations/a-pilot-y-ft_sec2 </property>
<property> accelerations/a-pilot-z-ft_sec2 </property>
<property> accelerations/n-pilot-x-norm </property>
<property> accelerations/n-pilot-y-norm </property>
<property> accelerations/n-pilot-z-norm </property>
<rates> ON </rates>
<velocities> ON </velocities>
<forces> ON </forces>
<moments> ON </moments>
<position> ON </position>
<fcs> OFF </fcs>
<propulsion> OFF </propulsion>
<aerosurfaces> OFF </aerosurfaces>
<fcs> OFF </fcs>
<ground_reactions> OFF </ground_reactions>
</output>
-->
</fdm_config>