UNPKG

jsbsim.js

Version:

JSBSim flight dynamics model ported to JavaScript

859 lines (836 loc) 35.4 kB
<?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="http://jsbsim.sourceforge.net/JSBSim.xsl"?> <!-- Sources: * http://www.wpafb.af.mil/museum/newold/t37.htm SPECIFICATIONS Span: 10.32 meters (33 ft. 10 in.) Length: 8.92 meters (29 ft. 4 in.) Height: 2.79 meters ( 9 ft. 5 in.) Weight: 4,056 lbs. empty 6,580 lbs. max. Armament: None Engines: Two Continental J69-T-25s of 1,025 lbs. thrust ea. Crew: Two PERFORMANCE Maximum speed: 425 mph (370 Kt) Cruising speed: 350 mph. Range: 650 miles Service Ceiling: 35,000 ft. * Jeff Scott Cessna A-37/T-37, cruise configuration small twin jet engine military trainer, data from: Roskam, Jan. Airplane Flight Dynamics and Automatic Flight Controls, Part I. Lawrence KS: DARcorporation, 1995, pg 501-503 --> <fdm_config name="T37" version="2.0" release="BETA" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> <fileheader> <author> Erik Hofman </author> <filecreationdate> 2001-01-01 </filecreationdate> <version> $Revision: 1.27 $ </version> <description> T-37 trainer </description> <note> This model was created using publicly available data, publicly available technical reports, textbooks, and guesses. It contains no proprietary or restricted data. If this model has been validated at all, it would be only to the extent that it seems to "fly right", and that it possibly complies with published, publicly known, performance data (maximum speed, endurance, etc.). Thus, this model is meant for educational and entertainment purposes only. This simulation model is not endorsed by the manufacturer. This model is not to be sold. </note> </fileheader> <metrics> <wingarea unit="FT2"> 182 </wingarea> <wingspan unit="FT"> 33.83 </wingspan> <chord unit="FT"> 5.47 </chord> <htailarea unit="FT2"> 31.77 </htailarea> <htailarm unit="FT"> 11.73 </htailarm> <vtailarea unit="FT2"> 28.59 </vtailarea> <vtailarm unit="FT"> 0 </vtailarm> <location name="AERORP" unit="IN"> <x> 0 </x> <y> 0 </y> <z> 0 </z> </location> <location name="EYEPOINT" unit="IN"> <x> -13.1 </x> <y> 0 </y> <z> 18.6 </z> </location> <location name="VRP" unit="IN"> <x> -118.57 </x> <y> 0 </y> <z> -8.8 </z> </location> </metrics> <mass_balance> <ixx unit="SLUG*FT2"> 7985 </ixx> <iyy unit="SLUG*FT2"> 6000 </iyy> <izz unit="SLUG*FT2"> 11183 </izz> <emptywt unit="LBS"> 4056 </emptywt> <location name="CG" unit="IN"> <x> 0 </x> <y> 0 </y> <z> -8.8 </z> </location> </mass_balance> <ground_reactions> <contact type="BOGEY" name="NOSE_LG"> <location unit="IN"> <x> -61.57 </x> <y> 0 </y> <z> -31.4 </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"> 3274 </spring_coeff> <damping_coeff unit="LBS/FT/SEC"> 658 </damping_coeff> <max_steer unit="DEG"> 5 </max_steer> <brake_group> NONE </brake_group> <retractable>1</retractable> </contact> <contact type="BOGEY" name="LEFT_MLG"> <location unit="IN"> <x> 6.7 </x> <y> -31.7 </y> <z> -29.9 </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"> 6580 </spring_coeff> <damping_coeff unit="LBS/FT/SEC"> 1316 </damping_coeff> <max_steer unit="DEG"> 0.0 </max_steer> <brake_group> LEFT </brake_group> <retractable>1</retractable> </contact> <contact type="BOGEY" name="RIGHT_MLG"> <location unit="IN"> <x> 6.7 </x> <y> 31.7 </y> <z> -29.9 </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"> 6580 </spring_coeff> <damping_coeff unit="LBS/FT/SEC"> 1316 </damping_coeff> <max_steer unit="DEG"> 0.0 </max_steer> <brake_group> RIGHT </brake_group> <retractable>1</retractable> </contact> </ground_reactions> <propulsion> <engine file="J69-T25"> <location unit="IN"> <x> 40 </x> <y> -30 </y> <z> 0 </z> </location> <orient unit="DEG"> <roll> 0.0 </roll> <pitch> 0 </pitch> <yaw> 0 </yaw> </orient> <feed>0</feed> <thruster file="direct"> <location unit="IN"> <x> 40 </x> <y> -30 </y> <z> 0 </z> </location> <orient unit="DEG"> <roll> 0.0 </roll> <pitch> 0.0 </pitch> <yaw> 0.0 </yaw> </orient> </thruster> </engine> <engine file="J69-T25"> <location unit="IN"> <x> 40 </x> <y> 30 </y> <z> 0 </z> </location> <orient unit="DEG"> <roll> 0.0 </roll> <pitch> 0 </pitch> <yaw> 0 </yaw> </orient> <feed>1</feed> <thruster file="direct"> <location unit="IN"> <x> 40 </x> <y> 30 </y> <z> 0 </z> </location> <orient unit="DEG"> <roll> 0.0 </roll> <pitch> 0.0 </pitch> <yaw> 0.0 </yaw> </orient> </thruster> </engine> <tank type="FUEL"> <!-- Tank number 0 --> <location unit="IN"> <x> 0 </x> <y> 0 </y> <z> -8.7999 </z> </location> <capacity unit="LBS"> 700 </capacity> <contents unit="LBS"> 350 </contents> </tank> <tank type="FUEL"> <!-- Tank number 1 --> <location unit="IN"> <x> 0 </x> <y> 0 </y> <z> -8.7999 </z> </location> <capacity unit="LBS"> 700 </capacity> <contents unit="LBS"> 350 </contents> </tank> </propulsion> <flight_control name="FCS: T37"> <channel name="Pitch"> <summer name="Pitch Trim Sum"> <input>fcs/elevator-cmd-norm</input> <input>fcs/pitch-trim-cmd-norm</input> <clipto> <min>-1</min> <max>1</max> </clipto> <output>fcs/elevator-pos-norm</output> </summer> <aerosurface_scale name="Elevator Control"> <input>fcs/pitch-trim-sum</input> <range> <min>-0.35</min> <max>0.3</max> </range> <output>fcs/elevator-pos-rad</output> </aerosurface_scale> </channel> <channel name="Roll"> <summer name="Roll Trim Sum"> <input>fcs/aileron-cmd-norm</input> <input>fcs/roll-trim-cmd-norm</input> <clipto> <min>-1</min> <max>1</max> </clipto> <output>fcs/left-aileron-pos-norm</output> </summer> <aerosurface_scale name="Left Aileron Control"> <input>fcs/roll-trim-sum</input> <range> <min>-0.35</min> <max>0.35</max> </range> <output>fcs/left-aileron-pos-rad</output> </aerosurface_scale> <aerosurface_scale name="Right Aileron Control"> <input>-fcs/roll-trim-sum</input> <range> <min>-0.35</min> <max>0.35</max> </range> <output>fcs/right-aileron-pos-rad</output> </aerosurface_scale> </channel> <channel name="Yaw"> <summer name="Yaw Trim Sum"> <input>fcs/rudder-cmd-norm</input> <input>fcs/yaw-trim-cmd-norm</input> <clipto> <min>-1</min> <max>1</max> </clipto> <output>fcs/rudder-pos-norm</output> </summer> <aerosurface_scale name="Rudder Control"> <input>fcs/yaw-trim-sum</input> <range> <min>-0.35</min> <max>0.35</max> </range> <output>fcs/rudder-pos-rad</output> </aerosurface_scale> </channel> <channel name="Flaps"> <kinematic name="Flaps Control"> <input>fcs/flap-cmd-norm</input> <traverse> <setting> <position>0</position> <time>0</time> </setting> <setting> <position>0.5</position> <time>4</time> </setting> <setting> <position>1.0</position> <time>3</time> </setting> </traverse> <output>fcs/flap-pos-norm</output> </kinematic> </channel> <channel name="Landing Gear"> <kinematic name="Gear Control"> <input>gear/gear-cmd-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> </channel> <channel name="Speedbrake"> <kinematic name="Speedbrake Control"> <input>fcs/speedbrake-cmd-norm</input> <traverse> <setting> <position>0</position> <time>0</time> </setting> <setting> <position>1</position> <time>1</time> </setting> </traverse> <output>fcs/speedbrake-pos-norm</output> </kinematic> </channel> </flight_control> <aerodynamics> <function name="aero/function/kCLge"> <description>Change_in_lift_due_to_ground_effect</description> <product> <table> <independentVar>aero/h_b-mac-ft</independentVar> <tableData> 0.0000 1.0610 0.1000 1.0330 0.1500 1.0310 0.2000 1.0330 0.3000 1.0280 0.4000 1.0110 0.5000 1.0090 0.6000 1.0050 0.7000 1.0020 0.8000 1.0000 0.9000 1.0000 1.0000 1.0000 1.1000 1.0000 </tableData> </table> </product> </function> <function name="aero/function/kCDge"> <description>Change_in_drag_due_to_ground_effect</description> <product> <table> <independentVar>aero/h_b-mac-ft</independentVar> <tableData> 0.0000 0.8100 0.1000 0.9900 0.1500 0.9500 0.2000 0.9800 0.3000 0.9900 0.4000 1.0000 0.5000 1.0400 0.6000 1.0100 0.7000 0.9900 0.8000 1.0100 0.9000 1.0000 1.0000 1.0000 1.1000 1.0000 </tableData> </table> </product> </function> <axis name="DRAG"> <function name="aero/coefficient/CD0"> <description>Drag_at_zero_lift</description> <product> <property>aero/qbar-psf</property> <property>metrics/Sw-sqft</property> <property>aero/function/kCDge</property> <table> <independentVar>aero/alpha-rad</independentVar> <tableData> -1.5700 1.5000 -0.2600 0.0480 0.0000 0.0240 0.2600 0.0480 1.5700 1.5000 </tableData> </table> </product> </function> <function name="aero/coefficient/CDalpha"> <description>Drag_due_to_alpha</description> <product> <property>aero/qbar-psf</property> <property>metrics/Sw-sqft</property> <property>aero/alpha-rad</property> <property>aero/function/kCDge</property> <value>0.3840</value> </product> </function> <function name="aero/coefficient/CDmach"> <description>Drag_due_to_mach</description> <product> <property>aero/qbar-psf</property> <property>metrics/Sw-sqft</property> <property>aero/function/kCDge</property> <table> <independentVar>velocities/mach</independentVar> <tableData> 0.0000 0.0000 0.7700 0.0000 1.1000 0.0230 1.8000 0.0150 </tableData> </table> </product> </function> <function name="aero/coefficient/CDflap"> <description>Drag_due_to_flaps</description> <product> <property>aero/qbar-psf</property> <property>metrics/Sw-sqft</property> <property>fcs/flap-pos-norm</property> <property>aero/function/kCDge</property> <value>0.0750</value> </product> </function> <function name="aero/coefficient/CDgear"> <description>Drag_due_to_gear</description> <product> <property>aero/qbar-psf</property> <property>metrics/Sw-sqft</property> <property>gear/gear-pos-norm</property> <value>0.0200</value> </product> </function> <function name="aero/coefficient/CDsb"> <description>Drag_due_to_speedbrakes</description> <product> <property>aero/qbar-psf</property> <property>metrics/Sw-sqft</property> <property>fcs/speedbrake-pos-norm</property> <value>0.0240</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> <table> <independentVar>aero/beta-rad</independentVar> <tableData> -1.5700 1.2300 -0.2600 0.0500 0.0000 0.0000 0.2600 0.0500 1.5700 1.2300 </tableData> </table> </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> <abs><property>fcs/elevator-pos-norm</property></abs> <value>0.0750</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> <property>aero/beta-rad</property> <value>-0.3460</value> </product> </function> <function name="aero/coefficient/DCYbdf"> <description>Delta_Side_force_due_to_beta_due_to_gear</description> <product> <property>aero/qbar-psf</property> <property>metrics/Sw-sqft</property> <property>aero/beta-rad</property> <property>gear/gear-pos-norm</property> <value>-0.2478</value> </product> </function> <function name="aero/coefficient/CYp"> <description>Side_force_due_to_roll_rate</description> <product> <property>aero/qbar-psf</property> <property>metrics/Sw-sqft</property> <property>aero/bi2vel</property> <property>velocities/p-aero-rad_sec</property> <value>-0.0827</value> </product> </function> <function name="aero/coefficient/CYr"> <description>Side_force_due_to_yaw_rate</description> <product> <property>aero/qbar-psf</property> <property>metrics/Sw-sqft</property> <property>aero/bi2vel</property> <property>velocities/r-aero-rad_sec</property> <value>0.3000</value> </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.2000</value> </product> </function> </axis> <axis name="LIFT"> <function name="aero/coefficient/CLalpha"> <description>Lift_due_to_alpha</description> <product> <property>aero/qbar-psf</property> <property>metrics/Sw-sqft</property> <property>aero/function/kCLge</property> <table> <independentVar>aero/alpha-rad</independentVar> <tableData> -0.2000 -0.6400 0.0000 0.0800 0.2600 1.3390 0.6000 0.4480 </tableData> </table> </product> </function> <function name="aero/coefficient/dCLflap"> <description>Delta_Lift_due_to_flaps</description> <product> <property>aero/qbar-psf</property> <property>metrics/Sw-sqft</property> <property>fcs/flap-pos-norm</property> <property>aero/function/kCLge</property> <value>0.3500</value> </product> </function> <function name="aero/coefficient/CLadot"> <description>Delta_Lift_due_to_alpha_rate</description> <product> <property>aero/qbar-psf</property> <property>metrics/Sw-sqft</property> <property>aero/alphadot-rad_sec</property> <property>aero/ci2vel</property> <value>2.0000</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>4.1000</value> </product> </function> <function name="aero/coefficient/dCLsb"> <description>Delta_Lift_due_to_speedbrake</description> <product> <property>aero/qbar-psf</property> <property>metrics/Sw-sqft</property> <property>fcs/speedbrake-pos-norm</property> <value>0.0000</value> </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.5000</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.0944</value> </product> </function> <function name="aero/coefficient/Clp"> <description>Roll_moment_due_to_roll_rate</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.4420</value> </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> <value>0.0926</value> </product> </function> <function name="aero/coefficient/DClrDg"> <description>Roll_moment_due_to_yaw_rate_due_to_gear</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> <property>gear/gear-pos-norm</property> <value>0.1000</value> </product> </function> <function name="aero/coefficient/DClrDf"> <description>Delta_Roll_moment_due_to_yaw_rate_due_to_flaps</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> <property>fcs/flap-pos-norm</property> <value>0.1800</value> </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/left-aileron-pos-rad</property> <table> <independentVar>velocities/mach</independentVar> <tableData> 0.0000 0.1810 2.0000 0.0400 </tableData> </table> </product> </function> <function name="aero/coefficient/DCldaDf"> <description>Delta_Roll_moment_due_to_aileron_due_to_flaps</description> <product> <property>aero/qbar-psf</property> <property>metrics/Sw-sqft</property> <property>metrics/bw-ft</property> <property>fcs/left-aileron-pos-rad</property> <property>fcs/flap-pos-norm</property> <value>-0.0200</value> </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.0150</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> <value>0.0250</value> </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> <property>aero/alpha-rad</property> <value>-0.7000</value> </product> </function> <function name="aero/coefficient/Cmadot"> <description>Pitch_moment_due_to_alpha_rate</description> <product> <property>aero/qbar-psf</property> <property>metrics/Sw-sqft</property> <property>metrics/cbarw-ft</property> <property>aero/ci2vel</property> <property>aero/alphadot-rad_sec</property> <value>-6.9500</value> </product> </function> <function name="aero/coefficient/Cmde"> <description>Pitch_moment_due_to_elevator</description> <product> <property>aero/qbar-psf</property> <property>metrics/Sw-sqft</property> <property>metrics/cbarw-ft</property> <property>fcs/elevator-pos-rad</property> <table> <independentVar>velocities/mach</independentVar> <tableData> 0.0000 -1.1200 2.0000 -0.2000 </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>-50.0000</value> </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> <property>aero/beta-rad</property> <value>0.1106</value> </product> </function> <function name="aero/coefficient/DCnbDg"> <description>Delta_Yaw_moment_due_to_beta_due_to_gear</description> <product> <property>aero/qbar-psf</property> <property>metrics/Sw-sqft</property> <property>metrics/bw-ft</property> <property>aero/mag-beta-rad</property> <property>gear/gear-pos-norm</property> <value>-0.0096</value> </product> </function> <function name="aero/coefficient/DCnbDf"> <description>Delta_Yaw_moment_due_to_beta_due_to_flaps</description> <product> <property>aero/qbar-psf</property> <property>metrics/Sw-sqft</property> <property>metrics/bw-ft</property> <property>aero/mag-beta-rad</property> <property>fcs/flap-pos-norm</property> <value>-0.0088</value> </product> </function> <function name="aero/coefficient/Cnp"> <description>Yaw_moment_due_to_roll_rate</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.0243</value> </product> </function> <function name="aero/coefficient/DCnpDf"> <description>Delta_Yaw_moment_due_to_roll_rate_due_to_flaps</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.0200</value> </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.1390</value> </product> </function> <function name="aero/coefficient/Cndr"> <description>Yaw_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.0365</value> </product> </function> <function name="aero/coefficient/DCndrDf"> <description>Delta_Yaw_moment_due_to_rudder_due_to_flaps</description> <product> <property>aero/qbar-psf</property> <property>metrics/Sw-sqft</property> <property>metrics/bw-ft</property> <property>fcs/rudder-pos-rad</property> <property>fcs/flap-pos-norm</property> <value>0.0020</value> </product> </function> <function name="aero/coefficient/Cnda"> <description>Adverse_yaw</description> <product> <property>aero/qbar-psf</property> <property>metrics/Sw-sqft</property> <property>metrics/bw-ft</property> <property>fcs/left-aileron-pos-rad</property> <value>-0.0254</value> </product> </function> </axis> </aerodynamics> </fdm_config>