<FDM_CONFIG NAME="c172" VERSION="1.60"> <!-- File: c172p.xml Author: David Megginson (based on c172r.xml by Tony Peden) CVS Version: $Id$ Function: Models a 1981 Cessna 172P. Sources: Tony Peden, c172r.xml, JSBSim (http://jsbsim.sourceforge.net/). Jan Roskam, Airplane Flight Dynamics and Automatic Flight Controls. Part I. DARcorporation, 1995. Notes: Roskam's data is for a 182, not a 172, but it should be close enough. He gives linear coefficients for three states: 1. Climb (5.4 deg alpha). 2. Cruise (0 deg alpha). 3. Approach (4 deg alpha, and presumably, full flaps). I have extrapolated small tables from this data to account for the effects of flaps and alpha, especially in the lateral coefficients. --> <METRICS> <!-- // Wing area (ft^2) // Wing span (ft) // Wing avg. chord (ft) // H. Tail Area (ft^2) // Wing MAC to H.Tail MAC (ft) // V. Tail Area (ft^2) // Wing MAC to V.Tail MAC (ft) // Ixx // Iyy // Izz // Ixz // Empty weight // Center of gravity location, empty weight, in aircraft's own structural coord // system. X, Y, Z, in inches // Pilot's eyepoint location, in aircraft's own coord system, FROM cg. // X, Y, Z, in inches AC_AERORP 43.2 0.0 59.4 --> AC_WINGAREA 174 <!-- square feet --> AC_WINGSPAN 35.8 <!-- ft --> AC_CHORD 4.9 <!-- ft --> AC_HTAILAREA 21.9 <!-- square feet --> AC_HTAILARM 15.7 <!-- ft --> AC_VTAILAREA 16.5 <!-- square feet --> AC_LV 15.7 <!-- ft --> AC_IXX 948 AC_IYY 1346 AC_IZZ 1967 AC_IXZ 0 AC_EMPTYWT 1500 AC_AERORP 43.2 0.0 59.4 AC_CGLOC 41.0 0.0 36.5 <!-- Pilot --> AC_POINTMASS 180.0 36.0 -14.0 24.0 <!-- Co-pilot --> <!-- AC_POINTMASS 180.0 36.0 14.0 24.0 --> AC_EYEPTLOC 37.0 0.0 48.0 </METRICS> <UNDERCARRIAGE> <!-- The gear parameters that can be specified are as follows, IN ORDER OF APPEARANCE: AC_GEAR <name> name of gear entry - no spaces allowed <X> <Y> <Z> Gear location in aircraft body coords in inches <spring constant> spring constant in lbs/ft <damping coefficient> damping coefficient in lbs/ft/sec <dynamic friction coefficient> Self-explanatory: sliding friction coefficient <static friction coefficient> Self-explanatory: "onset" friction coefficient <rolling friction coefficient> Self-explanatory: rolling friction coefficient <steerability attribute> One of <STEERABLE | FIXED | CASTERED> <brake group membership> One of <LEFT | CENTER | RIGHT | NOSE | TAIL | NONE> <max steer angle> Maximum steerable angle in degrees <retraction attribute> <RETRACT | FIXED> --> AC_GEAR NOSE -6.8 0.0 -20.0 1800 600 0.5 0.8 0.02 STEERABLE NOSE 20 FIXED AC_GEAR LEFT_MAIN 58.2 -43.0 -17.9 5400 1600 0.5 0.8 0.02 FIXED LEFT 0 FIXED AC_GEAR RIGHT_MAIN 58.2 43.0 -17.9 5400 1600 0.5 0.8 0.02 FIXED RIGHT 0 FIXED AC_GEAR TAIL_SKID 188.0 0.0 8.0 20000 1000 0.2 0.2 0.2 FIXED NONE 0 FIXED AC_GEAR LEFT_TIP 43.2 -214.8 59.4 10000 2000 0.2 0.2 0.2 FIXED NONE 0 FIXED AC_GEAR RIGHT_TIP 43.2 214.8 59.4 10000 2000 0.2 0.2 0.2 FIXED NONE 0 FIXED </UNDERCARRIAGE> <PROPULSION> <!-- TANKS SECTION Tank locations and characteristics, empty weight, in aircraft's own coord system: X, Y, Z, in inches effective radius of tank, in inches (for fuel slosh, if/when modeled) capacity in pounds Current contents, in pounds ENGINE[S] SECTION Engine[s] is|are specified by giving engine name (which corresponds to an engine definition file in the "engines" directory) followed by x, y, z placement and pitch and yaw orientation. Coordinates are given in inches in the structural coordinate frame. Angles for pitch and yaw are specified in radians. AC_ENGINE name x y z pitch yaw THRUSTER[S] SECTION AC_THRUSTER name x y z pitch yaw --> <AC_ENGINE FILE="eng_io320"> XLOC -19.7 YLOC 0.0 ZLOC 26.6 PITCH 0.0 YAW 0.0 FEED 0 FEED 1 </AC_ENGINE> <AC_THRUSTER FILE="prop_75in2f"> XLOC -37.7 YLOC 0.0 ZLOC 26.6 PITCH 0.0 YAW 0 P_FACTOR 10.0 SENSE 1.0 </AC_THRUSTER> <AC_TANK TYPE="FUEL" NUMBER="0"> XLOC 56.0 YLOC -112.0 ZLOC 59.4 RADIUS 29.4 CAPACITY 185.0 CONTENTS 100.0 </AC_TANK> <AC_TANK TYPE="FUEL" NUMBER="1"> XLOC 56.0 YLOC 112.0 ZLOC 59.4 RADIUS 29.4 CAPACITY 185.0 CONTENTS 100.0 </AC_TANK> </PROPULSION> <FLIGHT_CONTROL NAME="c172"> <COMPONENT NAME="Pitch Trim Sum" TYPE="SUMMER"> INPUT fcs/elevator-cmd-norm INPUT fcs/pitch-trim-cmd-norm CLIPTO -1 1 </COMPONENT> <COMPONENT NAME="Elevator Control" TYPE="AEROSURFACE_SCALE"> INPUT fcs/pitch-trim-sum MIN -28 MAX 23 OUTPUT fcs/elevator-pos-rad GAIN 0.01745 </COMPONENT> <COMPONENT NAME="Roll Trim Sum" TYPE="SUMMER"> INPUT fcs/aileron-cmd-norm INPUT fcs/roll-trim-cmd-norm CLIPTO -1 1 </COMPONENT> <COMPONENT NAME="Left Aileron Control" TYPE="AEROSURFACE_SCALE"> INPUT fcs/roll-trim-sum MIN -20 MAX 15 GAIN 0.01745 OUTPUT fcs/left-aileron-pos-rad </COMPONENT> <COMPONENT NAME="Right Aileron Control" TYPE="AEROSURFACE_SCALE"> INPUT fcs/roll-trim-sum MIN -20 MAX 15 INVERT GAIN 0.01745 OUTPUT fcs/right-aileron-pos-rad </COMPONENT> <COMPONENT NAME="Yaw Trim Sum" TYPE="SUMMER"> INPUT fcs/rudder-cmd-norm INPUT fcs/yaw-trim-cmd-norm CLIPTO -1 1 </COMPONENT> <COMPONENT NAME="Rudder Control" TYPE="AEROSURFACE_SCALE"> INPUT fcs/yaw-trim-sum MIN -16 MAX 16 GAIN 0.01745 OUTPUT fcs/rudder-pos-rad </COMPONENT> <COMPONENT NAME="Flaps Control" TYPE="KINEMAT"> INPUT fcs/flap-cmd-norm DETENTS 4 0 0 10 2 20 1 30 1 OUTPUT fcs/flap-pos-deg </COMPONENT> </FLIGHT_CONTROL> <AERODYNAMICS> AC_ALPHALIMITS -0.087 0.28 AC_HYSTLIMITS 0.09 0.36 <AXIS NAME="LIFT"> <GROUP NAME="CLb"> Basic_lift <!-- Peden --> <FACTOR NAME="kCLge" TYPE="VECTOR"> Change_in_lift_due_to_ground_effect 13 aero/h_b-mac-ft none 0.0 1.203 0.1 1.127 0.15 1.090 0.2 1.073 0.3 1.046 0.4 1.055 0.5 1.019 0.6 1.013 0.7 1.008 0.8 1.006 0.9 1.003 1.0 1.002 1.1 1.0 </FACTOR> <!-- Peden --> <COEFFICIENT NAME="CLwbh" TYPE="TABLE"> Lift_due_to_alpha 17 2 aero/alpha-rad aero/stall-hyst-norm aero/qbar-psf | metrics/Sw-sqft 0 1 -0.09 -0.22 -0.22 0 0.25 0.25 0.09 0.73 0.73 0.1 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.9 0.28 1.47 0.92 0.3 1.43 0.95 0.32 1.38 0.99 0.34 1.3 1.05 0.36 1.15 1.15 </COEFFICIENT> <!-- Peden --> <COEFFICIENT NAME="CLDf" TYPE="VECTOR"> Delta_lift_due_to_flap_deflection 4 fcs/flap-pos-deg aero/qbar-psf | metrics/Sw-sqft 0 0 10 0.20 20 0.30 30 0.35 </COEFFICIENT> </GROUP> <!-- Roskam p.481 --> <COEFFICIENT NAME="CLDe" TYPE="VALUE"> Lift_due_to_Elevator_Deflection aero/qbar-psf | metrics/Sw-sqft | fcs/elevator-pos-rad 0.43 </COEFFICIENT> <!-- Roskam p.481 --> <COEFFICIENT NAME="CLadot" TYPE="VALUE"> Lift_due_to_alpha_rate aero/qbar-psf | metrics/Sw-sqft | aero/alphadot-rad_sec | aero/ci2vel 1.7 </COEFFICIENT> <!-- Roskam p.481 --> <COEFFICIENT NAME="CLq" TYPE="VALUE"> Lift_due_to_pitch_rate aero/qbar-psf | metrics/Sw-sqft | velocities/q-aero-rad_sec | aero/ci2vel 3.9 </COEFFICIENT> </AXIS> <AXIS NAME="DRAG"> <!-- Roskam p.481 --> <COEFFICIENT NAME="CDo" TYPE="VALUE"> Drag_at_zero_lift aero/qbar-psf | metrics/Sw-sqft 0.0270 </COEFFICIENT> <GROUP NAME="CDb"> Basic_drag <!-- Peden --> <FACTOR NAME="kCDge" TYPE="VECTOR"> Change_in_drag_due_to_ground_effect 13 aero/h_b-mac-ft none 0.0 0.048 0.1 0.515 0.15 0.629 0.2 0.709 0.3 0.815 0.4 0.882 0.5 0.928 0.6 0.962 0.7 0.988 0.8 1.0 0.9 1.0 1.0 1.0 1.1 1.0 </FACTOR> <!-- Peden --> <COEFFICIENT NAME="CDDf" TYPE="VECTOR"> Delta_drag_due_to_flap_deflection 4 fcs/flap-pos-deg aero/qbar-psf | metrics/Sw-sqft 0 0 10 0.007 20 0.012 30 0.018 </COEFFICIENT> <!-- Peden --> <COEFFICIENT NAME="CDwbh" TYPE="TABLE"> Drag_due_to_alpha 26 4 aero/alpha-rad fcs/flap-pos-deg aero/qbar-psf | metrics/Sw-sqft 0 10 20 30 -0.0872664 0.00407143 3.8165e-05 0.000512444 0.00137231 -0.0698132 0.0013424 0.000440634 0.00248067 0.00412341 -0.0523599 8.96747e-05 0.00231942 0.0059252 0.00835082 -0.0349066 0.000313268 0.00567451 0.0108461 0.0140545 -0.0174533 0.00201318 0.0105059 0.0172432 0.0212346 0 0.0051894 0.0168137 0.0251167 0.0298909 0.0174533 0.00993967 0.0247521 0.0346492 0.0402205 0.0349066 0.0162201 0.0342207 0.0457119 0.0520802 0.0523599 0.0240308 0.0452195 0.0583047 0.0654701 0.0698132 0.0333717 0.0577485 0.0724278 0.0803902 0.0872664 0.0442427 0.0718077 0.088081 0.0968405 0.10472 0.056644 0.0873971 0.105265 0.114821 0.122173 0.0705754 0.104517 0.123978 0.134332 0.139626 0.086037 0.123166 0.144222 0.155373 0.15708 0.096239 0.135317 0.157346 0.168984 0.174533 0.106859 0.147857 0.170848 0.182966 0.191986 0.118034 0.160954 0.184905 0.197503 0.209439 0.129765 0.174606 0.199517 0.212596 0.226893 0.142366 0.189176 0.215072 0.228643 0.244346 0.156452 0.205363 0.23231 0.246406 0.261799 0.172732 0.223956 0.252059 0.266733 0.279253 0.178209 0.230187 0.258667 0.273529 0.296706 0.171598 0.222665 0.25069 0.265325 0.314159 0.161786 0.211468 0.2388 0.253089 0.331613 0.147493 0.19508 0.221364 0.235129 0.349066 0.109678 0.151171 0.174408 0.186649 </COEFFICIENT> </GROUP> <!-- Roskam p.481 --> <COEFFICIENT NAME="CDDe" TYPE="VALUE"> Drag_due_to_Elevator_Deflection aero/qbar-psf | metrics/Sw-sqft | fcs/mag-elevator-pos-rad 0 </COEFFICIENT> <!-- Peden --> <COEFFICIENT NAME="CDbeta" TYPE="VALUE"> Drag_due_to_sideslip aero/qbar-psf | metrics/Sw-sqft | aero/mag-beta-rad 0.17 </COEFFICIENT> </AXIS> <AXIS NAME="SIDE"> <!-- based on Roskam p.482, clamped to +/-20deg beta --> <COEFFICIENT NAME="CYb" TYPE="TABLE"> Side_force_due_to_beta 3 2 aero/beta-rad fcs/flap-pos-deg aero/qbar-psf | metrics/Sw-sqft 0 30 -0.349 0.137 0.106 0 0 0 0.349 -0.137 -0.106 </COEFFICIENT> <!-- Roskam p.482 --> <COEFFICIENT NAME="CYda" TYPE="VALUE"> Side_force_due_to_aileron aero/qbar-psf | metrics/Sw-sqft | fcs/left-aileron-pos-rad 0 </COEFFICIENT> <!-- Roskam p.482 --> <COEFFICIENT NAME="CYdr" TYPE="VALUE"> Side_force_due_to_rudder aero/qbar-psf | metrics/Sw-sqft | fcs/rudder-pos-rad 0.187 </COEFFICIENT> <!-- based on Roskam p.482 --> <COEFFICIENT NAME="CYp" TYPE="TABLE"> Side_force_due_to_roll_rate 2 2 aero/alpha-rad fcs/flap-pos-deg aero/qbar-psf | metrics/Sw-sqft | aero/bi2vel | velocities/p-aero-rad_sec 0 30 0.000 -0.075 -0.161 0.094 -0.145 -0.231 </COEFFICIENT> <!-- based on Roskam p.482 --> <COEFFICIENT NAME="CYr" TYPE="TABLE"> Side_force_due_to_yaw_rate 2 2 aero/alpha-rad fcs/flap-pos-deg aero/qbar-psf | metrics/Sw-sqft | aero/bi2vel | velocities/r-aero-rad_sec 0 30 0.000 0.214 0.162 0.094 0.267 0.215 </COEFFICIENT> </AXIS> <AXIS NAME="ROLL"> <!-- based on Roskam p.482, clamped to +/-20deg beta --> <COEFFICIENT NAME="Clb" TYPE="VECTOR"> Roll_moment_due_to_beta 3 aero/beta-rad aero/qbar-psf | metrics/Sw-sqft | metrics/bw-ft -0.349 0.0322 0 0 0.349 -0.0322 </COEFFICIENT> <!-- Roskam p.482 --> <COEFFICIENT NAME="Clp" TYPE="VALUE"> Roll_moment_due_to_roll_rate_(roll_damping) aero/qbar-psf | metrics/Sw-sqft | metrics/bw-ft | aero/bi2vel | velocities/p-aero-rad_sec -0.484 </COEFFICIENT> <!-- based on Roskam p.482 --> <COEFFICIENT NAME="Clr" TYPE="TABLE"> Roll_moment_due_to_yaw_rate 2 2 aero/alpha-rad fcs/flap-pos-deg aero/qbar-psf | metrics/Sw-sqft | metrics/bw-ft | aero/bi2vel | velocities/r-aero-rad_sec 0 30 0.000 0.0798 0.1246 0.094 0.1869 0.2317 </COEFFICIENT> <!-- Roskam p.482 --> <COEFFICIENT NAME="ClDa" TYPE="VALUE"> Roll_moment_due_to_aileron aero/qbar-psf | metrics/Sw-sqft | metrics/bw-ft | fcs/left-aileron-pos-rad 0.229 </COEFFICIENT> <!-- Roskam p.482 --> <COEFFICIENT NAME="Cldr" TYPE="VALUE"> Roll_moment_due_to_rudder aero/qbar-psf | metrics/Sw-sqft | metrics/bw-ft | fcs/rudder-pos-rad 0.0147 </COEFFICIENT> </AXIS> <AXIS NAME="PITCH"> <!-- Peden --> <COEFFICIENT NAME="Cmo" TYPE="VALUE"> Pitching_moment_at_zero_alpha aero/qbar-psf | metrics/Sw-sqft | metrics/cbarw-ft 0.1 </COEFFICIENT> <!-- Peden --> <COEFFICIENT NAME="Cmalpha" TYPE="VALUE"> Pitch_moment_due_to_alpha aero/qbar-psf | metrics/Sw-sqft | metrics/cbarw-ft | aero/alpha-rad -1.8 </COEFFICIENT> <!-- Roskam p.481 --> <COEFFICIENT NAME="Cmq" TYPE="VALUE"> Pitch_moment_due_to_pitch_rate aero/qbar-psf | metrics/Sw-sqft | metrics/cbarw-ft | aero/ci2vel | velocities/q-aero-rad_sec -12.4 </COEFFICIENT> <!-- based on Roskam p.481 --> <COEFFICIENT NAME="Cmadot" TYPE="VALUE"> Pitch_moment_due_to_alpha_rate aero/qbar-psf | metrics/Sw-sqft | metrics/cbarw-ft | aero/ci2vel | aero/alphadot-rad_sec -7.27 </COEFFICIENT> <!-- Roskam p.481 --> <COEFFICIENT NAME="Cmde" TYPE="VALUE"> Pitch_moment_due_to_elevator_deflection aero/qbar-psf | metrics/Sw-sqft | metrics/cbarw-ft | fcs/elevator-pos-rad -1.122 </COEFFICIENT> <!-- Peden --> <COEFFICIENT NAME="Cmdf" TYPE="VECTOR"> Delta_pitching_moment_due_to_flap_deflection 4 fcs/flap-pos-deg aero/qbar-psf | metrics/Sw-sqft | metrics/cbarw-ft 0 0 10 -0.0654 20 -0.0981 30 -0.1140 </COEFFICIENT> </AXIS> <AXIS NAME="YAW"> <!-- based on Roskam p.482, clamped to +/-20deg beta --> <COEFFICIENT NAME="Cnb" TYPE="VECTOR"> Yaw_moment_due_to_beta 3 aero/beta-rad aero/qbar-psf | metrics/Sw-sqft | metrics/bw-ft -0.349 -0.0205 0 0 0.349 0.0205 </COEFFICIENT> <!-- Roskam p.482 --> <COEFFICIENT NAME="Cnp" TYPE="VALUE"> Yaw_moment_due_to_roll_rate aero/qbar-psf | metrics/Sw-sqft | metrics/bw-ft | aero/bi2vel | velocities/p-aero-rad_sec -0.0278 </COEFFICIENT> <!-- Roskam p.482 --> <COEFFICIENT NAME="Cnr" TYPE="VALUE"> Yaw_moment_due_to_yaw_rate aero/qbar-psf | metrics/Sw-sqft | metrics/bw-ft | aero/bi2vel | velocities/r-aero-rad_sec -0.0937 </COEFFICIENT> <!-- Peden --> <COEFFICIENT NAME="Cnda" TYPE="VALUE"> Yaw_moment_due_to_aileron aero/qbar-psf | metrics/Sw-sqft | metrics/bw-ft | fcs/left-aileron-pos-rad -0.0053 </COEFFICIENT> <!-- Peden --> <COEFFICIENT NAME="Cndr" TYPE="VALUE"> Yaw_moment_due_to_rudder aero/qbar-psf | metrics/Sw-sqft | metrics/bw-ft | fcs/rudder-pos-rad -0.043 </COEFFICIENT> </AXIS> </AERODYNAMICS> <!-- OUTPUT section definition The following specifies the way that JSBSim writes out data. NAME is the filename you want the output to go to TYPE can be: CSV Comma separated data. If a filename is supplied then the data goes to that file. If COUT or cout is specified, the data goes to stdout. If the filename is a null filename the data goes to stdout, as well. SOCKET Will eventually send data to a socket output, where NAME would then be the IP address of the machine the data should be sent to. DON'T USE THIS YET! TABULAR Columnar data. NOT IMPLEMENTED YET! TERMINAL Output to terminal. NOT IMPLEMENTED YET! NONE Specifies to do nothing. THis setting makes it easy to turn on and off the data output without having to mess with anything else. The arguments that can be supplied, currently, are RATE_IN_HZ An integer rate in times-per-second that the data is output. This value may not be *exactly* what you want, due to the dependence on dt, the cycle rate for the FDM. The following parameters tell which subsystems of data to output: SIMULATION ON|OFF ATMOSPHERE ON|OFF MASSPROPS ON|OFF AEROSURFACES ON|OFF RATES ON|OFF VELOCITIES ON|OFF FORCES ON|OFF MOMENTS ON|OFF POSITION ON|OFF COEFFICIENTS ON|OFF GROUND_REACTIONS ON|OFF FCS ON|OFF PROPULSION ON|OFF NOTE that Time is always output with the data. --> <OUTPUT NAME="JSBout172.csv" TYPE="NONE"> RATE_IN_HZ 20 SIMULATION OFF ATMOSPHERE ON MASSPROPS ON AEROSURFACES ON RATES ON VELOCITIES ON FORCES ON MOMENTS ON POSITION ON COEFFICIENTS ON GROUND_REACTIONS ON FCS ON PROPULSION ON </OUTPUT> </FDM_CONFIG>