Professional Documents
Culture Documents
Chulalongkorn University
FLIGHT SIMULATION
Raksok Khankhampoch
E-mail: k.raksok@live.com
Sorasit Thongjeen
E-mail: sorasit_wasup@hotmail.com
Signature
Date
1. Introduction
In the past, because of complexity of the calculation process inside the system, flight simulation is limited only for a group of expert scientist or engineers whose can afford a mainframe computer or a super computer to handle such a level of calculation, and another reason for it to be confine only within a group of expert is that each mainframe required specific input code to be programed to handle the process. So, the development is confine only in major institute. However, since the starting of the silicon age, consumer level computers are becoming smaller whereas having higher calculation power. Also from the development of software in both quality and compatibility to have better method of presenting and operating (i.e. no specific code need to be program for each kind of machine). With these two major reason, a possibility of the building flight simulation on consumer level computer arise and has been continuing develop widely around the world for many application (e.g. flight control development, flight test support). This project was motivated from those reasons, and for the benefit of Aerospace engineering students at ISE, Faculty of engineering, Chulalongkorn University that can use this system in aircraft design process. The flight simulations that use in aircraft design process are difference from those that use for crew training or entertainment purpose (gaming) which is a level of data acquisition. For a design process, it is almost 2 times higher level of data acquisition than that for training. The flight simulation system is a large scale project compose with significant level of complexity with the limitation of time, this project will concentrate on the control system of the aircraft. Therefore, the expected out comes at the end of the project is to use this flight simulation system to observe the handling quality of the aircraft.
2. Background
2.1 Flight dynamics
The main component for flight dynamics are
Flight Simulation
validation data to enable the simulator developer to compare the simulator dynamics and performance with actual aircraft data. From the manufacturers perspective, this data has high commercial value and is usually provided as part of a confidential agreement between the operator, the aircraft manufacturer and the simulator manufacturer. The aerodynamics model is possibly the most critical element of a flight simulator/simulation. An error in modeling the aircraft aerodynamics can lead to a simulation which might fail. Consequently, the aerodynamic data package produced by the aircraft manufacturer is expensive. For this reason, there are very few detailed data packages available in the public domain. Although it is possible to acquire this data from flight trials, the cost of aircraft instrumentation, operation of flight trials, data recording and data analysis can be prohibitive to simulator companies. This is an issue sometimes missed by prospective simulator developers; there is no simple way to acquire this data and just a few errors in the aerodynamic data package can result in an unacceptable aircraft model. For this reason, in this project the aerodynamics data are compute from the computer program which gives an acceptable set of data.
2.2
Computer simulation
Apart from the flight dynamic, the computer simulation is the parts where all the simulation process performs. These important components are:
Flight Simulation
straightforward with modern data acquisition hardware, the typical resolution of sampled data is only 1216 bits, which is far below the resolution of data used elsewhere in the simulation. In addition, this data is measured by potentiometers that are inherently noisy or linear voltage differential transformers (LVDTs); as the signals are small (in terms of current), they are susceptible to noise and interference from other signals and considerable effort is given to providing a good earth connection and cable shielding for analogue signals in order to minimize any signal distortion from interference.
Flight Simulation
2.3
FlightGear
The points mentioned above form the basis of why we created FlightGear. With those motivations in mind, we have set out to create a high-quality flight simulator that aims to be a civilian, multiplatform, open, user-supported, and user extensible platform. Let us take a closer look at each of these characteristics: Civilian: The project is primarily aimed at civilian flight simulation. It should be appropriate for simulating general aviation as well as civilian aircraft. Our long-term goal is to have FlightGear FAA-approved as a flight training device. To the disappointment of some users, it is currently not a combat simulator; however, these features are not explicitly excluded. We just have not had a developer that was seriously interested in systems necessary for combat simulation. Multi-platform: The developers are attempting to keep the code as platform independent as possible. This is based on their observation that people interested in flight simulations run quite a
Flight Simulation
variety of computer hardware and operating systems. The present code supports the following Operating Systems: -
Linux (any distribution and platform), Windows NT/2000/XP (Intel/AMD platform), Windows 95/98/ME, BSD UNIX, Sun-OS, Mac OS X
At present, there is no other known flight simulator commercial or free supporting such a broad range of platforms. Open: The project is not restricted to a static or elite cadre of developers. Anyone who feels they are able to contribute is most welcome. The code (including documentation) is copyrighted under the terms of the GNU General Public License (GPL). The GPL is often misunderstood. In simple terms it states that you can copy and freely distribute the program(s) so licensed. You can modify them if you like and even charge as much money as want to for the distribution of the modified or original program. However, when distributing the software you must make it available to the recipients in source code as well and it must retain the original copyrights. In short: You can do anything with the software except make it non-free. The full text of the GPL can be obtained from the FlightGear source code or from gnu website: http://www.gnu.org/copyleft/gpl.html. User-supported and user-extensible: Unlike most commercial simulators, FlightGears scenery and aircraft formats, internal variables, APIs, and everything else are user accessible and documented from the beginning. Even without any explicit development documentation (which naturally has to be written at some point), one can always go to the source code to see how something works. It is the goal of the developers to build a basic engine to which scenery designers, panel engineers, maybe adventure or ATC routine writers, sound artists, and others can build upon. It is our hope that the project, including the developers and end users, will benefi t from the creativity and ideas of the hundreds of talented simmers around the world. Without doubt, the success of the Linux project, initiated by Linus Torvalds, inspired several of the developers. Not only has Linux shown that distributed development of highly sophisticated software projects over the Internet is possible, it has also proven that such an effort can surpass the level of quality of competing commercial products.
2.4
JSBSim
Flight Simulation
JSBSim has been built and run on a wide variety of platforms such as a PC running Windows or Linux, Apple Macintosh, and even the IRIX operating system from Silicon Graphics. The free GNU g++ compiler easily compiles JSBSim, and other compilers such as those from Borland and Microsoft also work well. From a user perspective (assuming that the user is not involved in programming), JSBSim can be viewed as sort of a black box which is supplied with input files in XML format. These XML files contain descriptions of an aerospace vehicle, engines, scripts, and so on. When these files are loaded into JSBSim, they direct it to model the flight of that vehicle in real-time as part of a larger simulation framework (such as FlightGear or OpenEaagles), or faster than real-time in a batch mode.
3. Literature review
The literature reviews for this project are presented here.
Flight Simulation
the Dynamic Aerospace Vehicle Exchange Markup Language (DAVE-ML), is now being proposed as an ANSI/ISO standard.
3.3 Modeling and Autonomous Flight Simulation of a Small Unmanned Aerial Vehicle
This project describes the use of FlightGear, an open-source flight simulator, and JSBSim, an open-source flight dynamics model, to model and simulate a small autonomous Unmanned Aerial Vehicle (UAV). A small commercial electric engine Cessna-182 radio controlled (RC) aircraft was chosen to represent the UAV. The first step was to create the required JSBSim aircraft configuration files by using the Aeromatic v0.8, a free web application to create aircraft configuration files for use with the JSBSim. The next step was to make educated guesses to refine important sections in the created configuration files with the assistance of available data of similar UAV. In order to perform a visual simulation, a 3D model for the Cessna-182 (RC) was created using AC3D, a commercial 3D modeling software tool. To fly the modeled UAV autonomously a tuning process was made for the built-in generic PID (proportional, integral, and derivative) autopilot of FlightGear, which has the ability to hold aircraft velocity, vertical aircraft speed, altitude, pitch angle, angle of attack, bank angle, and true heading. Finally, a flight path, which contains a number of waypoints chosen over a selected area using Google Earth map, was constructed. In order to use the chosen waypoints with FlightGear navigation system, a unique ID was assigned to each waypoint, and the FlightGear database was altered to include the new waypoints with their IDs. The outcome of the project was a complete JSBSim flight dynamic model for the Cessna-182 (RC), with 3D model for visual simulation and an effective autopilot. A good autonomous flight simulation was performed. This project concluded that modeling and simulating a UAV accurately is not an easy task, due to the need to calculate many parameters either by physical measurements, experiments, or estimation from available data of similar UAV, or by software tools.
4. Objective
The objectives of this engineering flight simulation are the following Be able to build the flight simulation system. Be able to validate the result of the simulation. Be able to use the valid system to evaluate the particular system of the desire aircraft.
5. Methodology
5.1 Simulation engine modification
FlightGear is the flight simulation system that already come with the packed of tools ready for use as single user. However, the objective of this project was to create the flight simulation system that aids in designing, learning and researching. Therefore, the standard package of FlightGear is needed to be modified and customized to be compatible with our purpose of use. This section will discuss about, how the system have been modified and the reason of the modification of the following component in the system
Flight Simulation
Flight Simulation
<button n="1"> <desc>Elevator trim up</desc> <repeatable type="bool">true</repeatable> <binding> <command>nasal</command> <script>controls.elevatorTrim(1)</script> </binding> </button> <button n="2"> <desc>Elevator trim down</desc> <repeatable type="bool">true</repeatable> <binding> <command>nasal</command> <script>controls.elevatorTrim(-1)</script> </binding> </button> </PropertyList>
The reason known to cause trouble are the way FlightGear treat the G940 System as individual input device as mention before, and Logitech G940 is new product in market, FlightGear didnt have any pre-configure file to support, as a result when start FlightGear there will be three n = 0 axis each from the stick, throttle and rudder pedal that can use to control the aileron. To solve this issue, the separate configuration file for each of the device in the Joystick system must be provided for FlightGear, which are Joystick configuration, Throttle configuration, and Rudder configuration. Each with dedicate name for each device. This following code is the configuration that custom made for the system. We have to put these 3 files into \Inputs\Joystick\Logitech folder in FlightGear data folder (normally is C:\Program File (x86)\FlightGear\data\Inputs\Joystick\Logitech to make FlightGear recognize its.
Flight Simulation
</axis> <axis n="3"> <desc>Elevator Trim</desc> <binding> <command>property-scale</command> <property>/controls/flight/elevetor-trim</property> <factor type="double">1.0</factor> </binding> </axis> <axis n="4"> <desc>Rudder Trim</desc> <binding> <command>property-scale</command> <property>/controls/flight/rudder-trim</property> <offset type="double">0.0</offset> <factor type="double">1.0</factor> </binding> </axis> <axis n="5"> <desc>Aileron Trim</desc> <binding> <command>property-scale</command> <property>/controls/flight/aileron-trim</property> <offset type="double">0.0</offset> <factor type="double">1.0</factor> <squared type="bool">false</squared> </binding> </axis> </PropertyList>-
Flight Simulation
<command>nasal</command> <script>controls.flapsDown(0)</script> </binding> </mod-up> </button> <button n="1"> <name>T2</name> <desc>Flaps Down</desc> <repeatable>false</repeatable> <binding> <command>nasal</command> <script>controls.flapsDown(1)</script> </binding> <mod-up> <binding> <command>nasal</command> <script>controls.flapsDown(0)</script> </binding> </mod-up> </button> <button n="4"> <name>P1</name> desc>Start Engine</desc> <repeatable>false</repeatable> <binding> <command>nasal</command> <script>controls.startEngine(1)</script> </binding> <mod-up> <binding> <command>nasal</command> <script>controls.startEngine(0)</script> </binding> </mod-up> </button> <button n="5"> <name>P2</name> <desc>Toggle Parking Brake</desc> <binding> <command>nasal</command> <script>controls.applyParkingBrake(1)</script> </binding> <mod-up> <binding> <command>nasal</command> <script>controls.applyParkingBrake(0)</script> </binding> </mod-up> </button> <button n="6"> <name>P3</name> <desc>Pause Simulation</desc> <repeatable>false</repeatable> <binding> <command>property-toggle</command> <property>/sim/freeze/master</property> </binding> <binding> <command>property-toggle</command>
Flight Simulation
<property>/sim/freeze/clock</property> </binding> <binding> <condition> <property>/sim/freeze/replay-state</property> </condition> <command>property-assign</command> <property>/sim/freeze/replay-state</property> <value type="int">0</value> </binding> </button> <button n="7"> <name>P4</name> <desc>Toggle HUD</desc> <binding> <command>nasal</command> <script>aircraft.HUD.cycle_color()</script> </binding> </button> <button n="8"> <name>P5</name> <desc>Toggle Landing Gear</desc> <binding> <command>nasal</command> <script>controls.gearToggle()</script> </binding> </button> <button n="9"> <name>P6</name> <desc>Toggle 2D/3D cockpit</desc> <binding> <command>nasal</command> <script> if(getprop("/sim/allow-toggle-cockpit")) { setprop("/sim/current-view/internal", !getprop( "/sim/current-view/internal")); setprop("/sim/view/internal", getprop("/sim/current-view/internal")); setprop("/sim/virtual-cockpit", !getprop("/sim/virtual-cockpit")); if(getprop("/sim/current-view/internal")) { setprop("/sim/current-view/heading-offset-deg", getprop( "/sim/current-view/config/heading-offset-deg")); setprop("/sim/current-view/pitch-offset-deg", getprop( "/sim/current-view/config/pitch-offset-deg")); } else { setprop("/sim/current-view/heading-offset-deg", 0); setprop("/sim/current-view/pitch-offset-deg", 0); } } </script> </binding> </button> <button n="10"> <name>P7</name> <desc>Pilot View</desc> <binding> <command>property-assign</command> <property>/sim/current-view/view-number</property> <value>0</value> </binding>
Flight Simulation
</button> <button n="11"> <name>P8</name> <desc>Cycle View</desc> <binding> <command>nasal</command> <script>view.stepView(1)</script> </binding> </button> </PropertyList>
With these 3 configuration files, Joystick, throttle, and rudder pedal work again as it should, still this configuration were rough fixed some function are completely left out for example, the button on joystick wasnt configured because they are rarely use in our research environment that focus on developing aircraft model not flying.
Flight Simulation
Code 2: The batch file code for running the main environment instance of FlightGear.
The batch file is simply the set of command that will execute together when the batch is run. So it needs to create one for each instance. The above code is for the external environment instance that goes to projector next code is the view that goes to the middle display of panel.
Flight Simulation
Code 3: The batch file code for running instrument in middle display.
cd "C:\Program Files\FlightGear\bin\Win64" ECHO running flightgear fgfs --fg-root="C:\Program Files (x86)\FlightGear\data" --fgscenery="C:\Program Files (x86)\FlightGear\data\Scenery";"C:\Program Files (x86)\FlightGear\scenery";"C:\Program Files (x86)\FlightGear\terrasync" --aircraft=SenecaII-panelonly2 -geometry=1280x1024 --timeofday=noon --nativefdm=socket,in,60,127.0.0.1,5507,udp --nativectrls=socket,in,60,127.0.0.1,5508,udp --fdm=null --disable-hud --disablesound --prop:/sim/ai/enabled=false --prop:/sim/ai-traffic/enabled=false -prop:/sim/rendering/bump-mapping=false --prop:/sim/rendering/drawotw=false
Code 4: Logging code that use during simulation test flight include validation process
Flight Simulation
<entry> <enabled>true</enabled> <title>Elevator condition</title> <property>/controls/flight/elevator</property> </entry> <entry> <enabled>true</enabled> <title>Aileron condition</title> <property>/controls/flight/aileron</property> </entry> <entry> <enabled>true</enabled> <title>Roll</title> <property>/orientation/roll-deg</property> </entry> <entry> <enabled>true</enabled> <title>Pitch</title> <property>/orientation/pitch-deg</property> </entry> <entry> <enabled>true</enabled> <title>Yaw</title> <property>/orientation/heading-deg</property> </entry> <entry> <enabled>true</enabled> <title>Acceleration in Z-Axis(fps^2)</title> <property>/accelerations/pilot/z-accel-fps_sec</property> </entry> <entry> <enabled>true</enabled> <title>Rate Height (h-dot)(fps)</title> <property>/fdm/jsbsim/velocities/h-dot-fps</property> </entry> <entry> <enabled>true</enabled> <title>Acceleration in X-Axis(fps^2)</title> <property>/accelerations/pilot/x-accel-fps_sec</property> </entry> <entry> <enabled>true</enabled> <title>Airspeed(kt)</title> <property>/velocities/airspeed-kt</property> </entry> <entry> <enabled>true</enabled> <title>Mach</title> <property>/velocities/mach</property> </entry> <entry> <enabled>true</enabled> <title>Height(ft)</title> <property>/position/altitude-ft</property> </entry> <entry> <enabled>true</enabled> <title>Throttle%</title> <property>/controls/engines/throttle</property> </entry> <entry> <enabled>true</enabled> <title>Latitude(deg)</title> <property>/position/latitude-deg</property> </entry>
Code 4 (cont.): Logging code that use during simulation test flight include validation process
Flight Simulation
Code 4 (cont.): Logging code that use during simulation test flight include validation process
Configuration
Program remarks Primarily bodies of revolution, or close approximations, are treated. Transonic methods for most of the aerodynamic data do not exist. The recommended procedure requires fairing between subsonic and supersonic data using available data as a guide Straight tapered, cranked, or double delta planforms are treated. Effect of sweep, taper and incidence are included. Linear twist is treated at subsonic Mach numbers, dihedral effects are present in the lateral directional data Longitudinal methods reflect only a mid-wing position. Lateral directional solutions consider high and low-wing positions. The various geometry combinations are given in table. Wing downwash methods are restricted to straight tapered planforms. Effects of twin vertical tails are included in the static lateral directional data at subsonic Mach numbers. Non-standard configurations are simulated using basic configuration techniques. Strakes can be run via a double delta wing. A body-canard-wing is input as wing-body-horizontal tail. The forward lifting surface is input as a wing and the aft surface as a horizontal tail.
Body
Wing-body-tail
Non-standard geometries
Flight Simulation
Low aspect ratio wing or wing-body configurations are treated at subsonic. Two-dimensional flap and transverse jet effects are also treated at hypersonic.
Output for configurations with a wing and horizontal tail also includes downwash and the local dynamic-pressure ratio in the region of the tail. Subsonic data that include propeller power, jet power, or ground effects are also available. Power and ground effects are limited to the longitudinal aerodynamic characteristics. Users are cautioned that the Datcom does not rigorously treat aerodynamics in the transonic speed regime, and a fairing between subsonic and supersonic solutions is often the recommended procedure. Digital Datcom uses linear and nonlinear fairings through specific points; however, the user may find another fairing more acceptable. The experimental data input option allows the user to revise the transonic fairings on configuration components, perform parametric analyses on test configurations, and apply better method results (or data) for configuration build-up. Datcom body aerodynamic characteristics can be obtained at all Mach numbers only for bodies of revolution. Digital Datcom can also provide subsonic longitudinal data for cambered bodies of arbitrary cross section. The cambered body capability is restricted to subsonic longitudinalstability solutions. Straight-tapered and no straight-tapered wings including effects of sweep, taper, and incidence can be treated by the program. The effect of linear twist can be treated at subsonic Mach numbers. Dihedral influences are included in lateral directional stability derivatives and wing wake location used in the calculation of longitudinal data. Airfoil section characteristics or a required input, although most of these characteristics may be generated using the Airfoil Section Module. Users are advised to be mindful of section characteristics which are sensitive to Reynolds number, particularly in cases where very low Reynolds number estimates are of interest. A typical example would be pretest estimates for small, laminar flow wind tunnels where Reynolds numbers on the order of 100,000 are common Users should be aware that the Datcom and Digital Datcom employ turbulent skin friction methods in the computation of friction drag values. Estimates for cases involving significant wetted areas in laminar flow will require adjustment by the user. Wing-body-tail configurations which may be addressed. These capabilities permit the user to analyze complete configurations, including canard and conventional aircraft arrangements. Component aerodynamic contributions and configuration build-up data are available through the use of the BUILD option. Using this option, the user can isolate component aerodynamic contributions in a similar fashion to break down data from a wind tunnel where.
Flight Simulation
Twin vertical panels can be placed either on the wing or horizontal tail. Analysis can be performed with both twin vertical tail panels and a conventional vertical tail specified though interference effects between the three panels is not computed. The influence of twin vertical tails is included only in the lateral directional stability characteristics at subsonic speeds.
are computed for each component and the build-up configurations. The experimental data option of the program (Section 4.5) permits the user to substitute experimental data for key parameters involved in dynamic derivative solutions, such as body and wing-body . Any improvement in the accuracy of these key parameters will produce significant improvement in the dynamic stability estimates. Use of experimental data substitution for this purpose is strongly recommended.
Flight Simulation
5.2.3 Special configuration data 5.2.3.1 Low-Aspect-Ratio Wings and Wing-Body Combinations
Datcom provides methods which apply to 1ifting reentry vehicles at subsonic speeds. Digital Datcom output provides longitudinal coefficients , , , and and the derivatives , , , ,
Flight Simulation
Data output from the hypersonic control-flap methods are incremental normal- and axial-force coefficients, associated hinge moments, and center-of-pressure location. These data are found from the local pressure distributions on the flap and in regions forward of the flap. The analysis includes the effects of flow separation due to windward flap deflection by providing estimates for separation induced pressures forward of the flap and reattachment on the flap, Users may specify laminar or turbulent boundary layers.
Flight Simulation
and control force required to trim or maneuver. With these data, the minimum jet plenum pressure is then employed to calculate the nozzle throat diameter and the jet plenum pressure and propellant weight requirements to trim or maneuver the vehicle.
Flight Simulation
These limits were selected to conform to most Datcom methods. However, some methods are valid for a larger Mach number range. Some subsonic methods are valid up to a Mach number of 0.7 or 0.8. The user has the option to increase the subsonic Mach number limit using the variable STMACH. The program will permit this variable to be in the range: 0.6 < STMACH < 0.99. In the same fashion, the supersonic Mach limit can be reduced using the variable TSMACH. The program will permit this value be in the range: 1.01 < TSMACH < 1.40. The program will default to the limits of each variable if the range is exceeded. The Mach regimes are then defined as follows: Mach Number (M) M < STMACH STMACH < M < TSMACH M > TSMACH M > TSMACH and the hypersonic flag is set Mach Regime Subsonic Transonic Supersonic Hypersonic
Flight Simulation
2.
3.
4.
5.
invalid. The module also computes the required geometric variables at all speeds, and for transonic and supersonic speeds these are the only required inputs. Mach equals zero data are always supplied. Because of the nature of the solution, predictions for an airfoil whose maximum camber is greater than 6% of the chord will lose accuracy. Accuracy will also diminish when the maximum airfoil thickness exceeds approximately 12% of the chord, or large viscous interactions are present such as with supercritical airfoils. When section Cartesian coordinates or mean line and thickness distribution coordinates are specified, the user must adequately define the leading edge region to prevent surface curve fits that have infinite slope. This can be accomplished by supplying section ordinates at nondimensional chord stations (x/c of 0.0, 0.001, 0.002, and 0.003. If the leading edge radius is not specified in the airfoil section input, the user must insure that the first and second coordinate points lie on the leading edge radius. For sharp nosed airfoils the user must specify a zero leading edge radius. The computational algorithm can be sensitive to the smoothness of the input coordinates. Therefore, the user should insure that the input data contains no unintentional fluctuations. Considering that Datcom procedures are preliminary design methods, it is at least as important to provide smoothly varying coordinates. as it is to accurately define the airfoil geometry.
Flight Simulation
Group I inputs define the flight conditions and reference dimensions. Group II inputs specify the basic configuration geometry for conventional configurations, defining the body, wing and tail surfaces and their relative locations. Group III inputs specify additional configuration definition, such as engines, flaps, control tabs, ground effects or twin vertical panels. This input group also defines those special configurations that cannot be described using Group II inputs and include low aspect ratio wing and wing-body configurations, transverse jet control and hypersonic flaps. Group IV inputs control the execution of the case, or job for multiple cases, and allow the user to choose some of the special options, or to obtain extra output.
All namelist input variables (and program data blocks) are initialized UNUSED (1.0E-60 on CDC systems) prior to case execution. Therefore, omission of pertinent input variables may result in the UNUSED value to be used in calculations. However, the UNUSED value is often used as a switch for program control, so the user should not indiscriminately use dummy inputs. All Digital Datcom numeric constants require a decimal point. The Fortran variable names that are implied INTEGERS (name begins with I, J, K, L, M, or N) are declared REAL and must be specified in either E or F format (X.XXXEYY or X.XXX). Group IV inputs are the case control cards. Though they are input in a fixed format, their use has the characteristic of a namelist. since (with the exception of the case termination card) they can be placed in any order or location in the input data. Table 4 defines the namelists and control cards that can be input to the program. Since not all namelist inputs are required to define a particular problem or configuration, those namelists required for various analyses are summarized in Tables 5 through 7. Use of these tables will save time in preparing namelist inputs for a specific problem. The user has the option to specify the system of units to be used, English or Metric. Table 8 summarizes the systems available, and defines the case control card required to invoke each option. For clarity, the namelist variable description charts which follow have a column titled Units using the following nomenclature: l denotes units of length: feet, inches, meters, or centimeters A denotes units of area: ft2, in2, m2, or cm2 Deg denotes angular measure in degrees, or temperature in degrees Rankine or degrees Kelvin F denotes units of force; pounds or Newtons t denotes units of time; seconds. Specific input parameters, geometric illustrations, and supporting data are provided throughout the report. To aid the user in reading these figures, the character 0' defines the number zero and the character O the fifteenth letter in the alphabet.
Flight Simulation
Table 2:
Flight Simulation
Table 3:
Flight Simulation
Table 5:
Flight Simulation
Flight Simulation
Also incorporated is the provision for optional inputs of pressure and temperature by the user. The program will override the standard atmosphere and compute flow condition parameters consistent with the pressure and temperature inputs. This option will permit Digital Datcom applications such as wind tunnel model analyses at test section conditions. If the NACA control card is used. The Reynolds number and Mach number must be defined using the variables RNNUB and MACH. Other optional inputs include vehicle weight and flight path angle (WT and GAMMA). These parameters are of particular interest when using the Trim Option. The trim flight conditions are output as an additional line of output with the trim data and the steady flight lift coefficient is output with the untrimmed data. Use of the variable LOOP enables the user to run cases at fixed altitude with varying Mach number (or velocity), at fixed Mach number (or velocity) at varying altitudes, or varying speed and altitude together. Non-dimensional aerodynamic coefficients generated by Digital Datcom may be based on userspecified reference area and lengths. These reference parameters are input via namelist OPTINS. If the reference area is not specified, it is set equal to the theoretical planform area of the wing. This wing area includes the fuselage area subtended by the extension of the wing leading and trailing edges to the body center line. The longitudinal reference length, if not specified in OPTINS, in set equal to the theoretical wing mean aerodynamic chord. The lateral reference length is set equal to the wing span when it is not user specified. Reference parameters contained in OPTINS must be specified for body-alone configurations since the default reference parameters are based on wing geometry. It is suggested that values near the magnitude of body maximum cross-sectional area be used for the reference area and body maximum diameter for the longitudinal and lateral reference lengths. The output format generally provides at least three significant digits in the solution when user specified reference parameters are of the same order of magnitude as the default reference parameters. If the user specifies reference parameters that are orders of magnitude different from the wing area or aerodynamic chord, some output data can overflow the output format or print only zeros. This may happen in rare instances and would require readjustment of the reference parameters.
Flight Simulation
surfaces are input using either the section characteristics namelists WGSCHR, HTSCHR, VTSCHR and VFSCHR. Airfoil characteristics are assumed constant for each panel of the planform. The USAF Datcom contains three methods for the computation of forward lifting surface downwash field effects on aft lifting surface aerodynamics. The user is cautioned not to apply the empirically based subsonic Method 2 outside the bounds. Method 1 is recommended as an optional approach for the / regime of 1.0 to 1.5. By default, Digital Datcom selects Method 3 for / less than 0.5 and Method 1 for span ratios greater than or equal to 1.5. Using the variable DWASH In namelist WGSCHR, the user has the option of applying Method 1 or 2. Method 2 is applicable at subsonic Mach numbers and span ratios of 1.25 to 3.6. Aspect ratio classification is required to employ the Datcom straight tapered wing solutions for wing or tail lift in the subsonic and transonic Mach regimes. Classification of lifting surface aspect ratio as either high or low results in the selection of appropriate methods for computation. The USAF Datcom uses a classification parameter, which depends upon planform taper ratio and leading edge sweep. It also notes an overlap regime where the user may employ either the low or high aspect ratio methods. Digital Datcom allows the user to specify the aspect ratio method to be used in this overlap regime using the parameter ARCL in the section namelists. High aspect ratio methods are automatically selected for unswept, untapered wings with aspect ratios of 3.5 or more if ARCL is not input. Transonically, several parameters need to be defined to obtain the panel lift characteristics. Those required variables are summarized In Figures 10 and 11 and are input using the experimental data substitution namelist EXPRnn. Additionally, intermediate data may be available, for example ( /d)/ , which requires experimental data to complete. By use of the experimental data input namelist EXPRnn, data can be made available to complete these secondlevel computations. The namelist EXPRnn can also be used to substitute selected configuration data with known test results for some Datcom method output and build a new configuration based on existing data. This option is most useful for theoretically expanding a wind tunnel test data base for analysis of non-tested configurations.
Flight Simulation
horizontal tail and a vertical tail or ventral fin is specified, the mutual interference among the panels is not computed. Inputs for the high lift and control devices are made with the namelists SYMFLP, ASYFLP and CONTAB. In general, the eight flap types defined using SYMFLP (variable FTYPE) are assumed to be located on the most aft lifting surface, either horizontal tail or wing if a horizontal tail is not defined. Jet flaps, also defined using SYMFLP, will always be located on the wing, even with the presence of a horizontal tail. Control tabs (namelist CONTAB) are assumed to be mounted a plain trailing edge flap (FTYPE=1); therefore, for a control tab analysis namelists CONTAB and SYMFLP (with FTYPE=1) must both be input. For ASYFLP namelist inputs, the spoiler and aileron devices (STYPE of 1. 2. 3. or 4.) are defined for the wing, even with the presence of a horizontal tail, whereas the all-moveable horizontal tail (STYPE=5.0) is, of course, a horizontal tail device.
Flight Simulation
5 Card Column(s) 6
input(s) W, H, V, or F
7 8
Any delimiter 1, 4, 5, 6, S
9 10 thru 80
Only fifteen (15) characters are accepted in the airfoil designation. The vocabulary consists of the numbers zero (0) through nine (9), the letter A, and the special characters comma, period, hyphen and equal sign. Any characters input that are not in the vocabulary list will be interpreted as the number zero (0).
Flight Simulation
Flight Simulation
computer output is limited symbolically, definitions form the output symbols used within the related output sets is given. The Datcom engineering symbol follows the output symbol notation when appropriate, unless otherwise noted, all results are presented in the stability axis coordinate system.
Flight Simulation
MOMENT REFERENCE CENTER - The moment reference center location for vehicle moments (and rotations). It is user-specified in namelist SYNTHS and output as XCG(HORIZ) and ZCG(VERT). ALPHA - This is the angle-of-attack array that is user specified in namelist FLTCON. The angles are expressed in degrees.
Flight Simulation
CNB - Derivative of yawing-moment coefficient with respect to sideslip angle. When CNB is defined independent of angle of attack, output is printed at the first angle of attack. CNB is based on the reference area and lateral reference length. CLB - Derivative of rolling-moment coefficient with respect to sideslip angle presented as a function of angle of attack. CLB is based on the reference area and lateral reference length. Q/QINF - Ratio of dynamic pressure at the horizontal tail to the freestream value presented a function of angle of attack. When a single value of Q/QINF is output at the first angle of attack, this output is the linear-lift region value. EPSILON - Downwash angle at horizontal tail expressed in degrees. Downwash angle has the same algebraic sign as the lift coefficient. Positive downwash implies that the local angle of attack of the horizontal tail is less than the free-stream angle of attack. D (EPSLON)/D (ALPHA) - Derivative of downwash angle with respect to angle of attack. When a single value of D (EPSLON)/ D (ALPHA) is output at the first angle of attack, it corresponds to the linear-lift-region derivative.
Flight Simulation
Flight Simulation
DD/C - Projected height of deflector for spoiler-slot-deflector control. Values in this array are input via namelist ASYFLP. DS/C - Projected height of spoiler control. Values in this array are input via namelist ASYFLP. (CL) ROLL - Incremental rolling moment coefficient due to asymmetrical deflection of control surface based on the product of reference area and lateral reference length. Positive rolling moment is right wing down. CN - Incremental yawing-moment coefficient due to asymmetrical deflection of control surface based on the product of reference area and lateral reference length. Positive yawing moment is nose right.
Flight Simulation
Figure 2: Seneca II
$FLTCON NMACH=1.0, MACH(1)=0.2418852, NALPHA=20.0, ALSCHD(1)= -8.0, -6.0, -4.0, -2.0, 0.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0, 14.0, 16.0, 18.0, 20.0, NALT=3.0, ALT(1)=0.0, 10000.0, 20000.0, STMACH=0.6, TSMACH=1.4, TR=1.0, WT=4500.0, LOOP=1.0$ $OPTINS ROUGFC=0.30E-3, SREF=208.7, CBARR=5.18, BLREF=38.906$ $SYNTHS XCG=9.46, ZCG=0.0, XW=6.73, ZW=2.49, ALIW=3.7, XH=24.9, ZH=4.17, ALIH=0.0, HINAX=25.9, VERTUP=.TRUE., SCALE=1.0, XV=20.0, ZV=0.0, XVF=25.1,ZVF=4.0$ XV=20.0, ZV=4.0, XVF=19.5,ZVF=5.0$ $BODY NX=6.0,
Flight Simulation
X(1) =0.0, 1.54, 6.56, R(1) =0.0, 0.98, 2.03, ZU(1)=3.61, 4.49, 5.31, ZL(1)=3.61, 2.82, 2.46, ITYPE=1.0, METHOD=1.0$
9.25, 15.7, 26.6, 2.03, 2.03, 0.0, 6.43, 5.64, 4.63, 2.23, 2.07, 3.58,
$WGPLNF CHRDTP=5.41, SSPNOP=14.8, SSPNE=17.5, SSPN=19.4, CHRDBP=5.42, CHRDR=7.36, SAVSI=25.0, CHSTAT=0.0, TWISTA=-3.0, DHDADI=7.0, DHDADO=7.0, TYPE=1.0$ $VTPLNF CHRDTP=2.62, SSPNE=4.92, SSPN=6.23, CHRDR=6.56, SAVSI=39.8, CHSTAT=0.0, TYPE=1.0$ $VFPLNF CHRDTP=0.0, SSPNE=0.75, SSPN=2.39, CHRDR=5.31, SAVSI=66.5, CHSTAT=0.0, TYPE=1.0$ $HTPLNF CHRDTP=2.89, SSPNE=6.16, SSPN=6.76, CHRDR=2.89, SAVSI=0.0, CHSTAT=0.0, TWISTA=0.0, DHDADI=0.0, TYPE=1.0$ $PROPWR AIETLP=0.0,NENGSP=2.0,THSTCP=0.0, PHALOC=4.5,PHVLOC=4.0,PRPRAD=3.75, ENGFCT=0.8,NOPBPE=3.0, YP=6.0,CROT=.FALSE.$
Flight Simulation
+ + + +
/ / / /
F&M, Accel, Rates, Displacements Pitch Up + / Down Roll Rgt + / Left Yaw Rgt + / Left Other Alpha Up + / Down Beta Wind in right ear + / Wind in left ear Slip Ball right of center + / left of center --> <!-- ************************************** ASSUMPTIONS AND LIMITATIONS There is no interaction between deflected surfaces modeled
Flight Simulation
so there is no change in elevator effects with the flaps deflected, for example. Terms known to be missing from DATCOM: Power effects Ground effects Cyr, CyDr, Cyda, ClDr, Cndr ************************************** --> <!-The following ground effect tables are NOT generated by DATCOM, but provide representative effects. These terms are not currently used in this model. --> <function name="aero/function/ground-effect-factor-lift"> <description>Change in lift due to ground effect factor</description> <product> <table> <independentVar lookup="row">aero/h_b-macft</independentVar> <tableData> 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 </tableData> </table> </product> </function> <function name="aero/function/ground-effect-factor-drag"> <description>Change in drag due to ground effect</description> <product> <table> <independentVar lookup="row">aero/h_b-macft</independentVar> <tableData> 0.0 0.480 0.1 0.515 0.15 0.629 0.2 0.709 0.3 0.815
Flight Simulation
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 </tableData> </table> </product> </function> <!-********************************************************************** -> <axis name="LIFT"> <function name="aero/coefficient/CLwbh"> <description> Lift due to alpha Increase in CL decreases Period and damping,Dutch Roll damping CL is low for landing </description> <product> <property>aero/function/ground-effect-factorlift</property> <property>aero/qbar-psf</property> <property>metrics/Sw-sqft</property> <table> <independentVar lookup="row">aero/alphadeg</independentVar> <tableData> -8.000 -.3288 -6.000 -.1409 -4.000 .4592E-01 -2.000 .2387 .000 .4373 2.000 .6412 3.000 .7442 4.000 .8487 5.000 .9543 6.000 1.061 7.000 1.163 8.000 1.254 9.000 1.336 10.00 1.412 11.00 1.480 12.00 1.540 14.00 1.631 16.00 1.643
Flight Simulation
1.322 .9168
<function name="aero/coefficient/CLq"> <description> Basic Lift Coefficient due to pitch rate(per degree) </description> <product> <property>velocities/q-aero-rad_sec</property> <value>57.29577951</value> <property>aero/qbar-psf</property> <property>metrics/Sw-sqft</property> <property>aero/ci2vel</property> <table> <independentVar lookup="row">aero/alphadeg</independentVar> <tableData> -8.000 .1000E-29 -6.000 .1000E-29 -4.000 .1000E-29 -2.000 .1000E-29 .000 .1000E-29 2.000 .1000E-29 3.000 .1000E-29 4.000 .1000E-29 5.000 .1000E-29 6.000 .1000E-29 7.000 .1000E-29 8.000 .1000E-29 9.000 .1000E-29 10.00 .1000E-29 11.00 .1000E-29 12.00 .1000E-29 14.00 .1000E-29 16.00 .1000E-29 18.00 .1000E-29 20.00 .1000E-29 </tableData> </table> </product> </function> <function name="aero/coefficient/CLad"> <description> Basic Lift Coefficient due to AOA rate(per degree) Important contributor to Short-Period damping For low Cla, aircraft must land at high alpha </description> <product>
Flight Simulation
<property>aero/alphadot-deg_sec</property> <property>aero/qbar-psf</property> <property>metrics/Sw-sqft</property> <property>aero/ci2vel</property> <table> <independentVar lookup="row">aero/alphadeg</independentVar> <tableData> -8.000 .1000E-29 -6.000 .1000E-29 -4.000 .1000E-29 -2.000 .1000E-29 .000 .1000E-29 2.000 .1000E-29 3.000 .1000E-29 4.000 .1000E-29 5.000 .1000E-29 6.000 .1000E-29 7.000 .1000E-29 8.000 .1000E-29 9.000 .1000E-29 10.00 .1000E-29 11.00 .1000E-29 12.00 .1000E-29 14.00 .1000E-29 16.00 .1000E-29 18.00 .1000E-29 20.00 .1000E-29 </tableData> </table> </product> </function> </axis> <!-********************************************************************** -> <axis name="DRAG"> <function name="aero/coefficient/CD"> <description> Basic Drag Coefficient Sense: Always positive Main contributor to Phugoid damping: Greater Cd, Better damping </description> <product> <property>aero/function/ground-effect-factorlift</property> <property>aero/qbar-psf</property> <property>metrics/Sw-sqft</property> <table> <independentVar lookup="row">aero/alphadeg</independentVar>
Flight Simulation
<tableData> -8.000 -6.000 -4.000 -2.000 .000 2.000 3.000 4.000 5.000 6.000 7.000 8.000 9.000 10.00 11.00 12.00 14.00 16.00 18.00 20.00 </tableData> </table> </product> </function> </axis>
.2278E-01 .1766E-01 .1613E-01 .1805E-01 .2404E-01 .3401E-01 .4062E-01 .4834E-01 .5717E-01 .6715E-01 .7737E-01 .8715E-01 .9703E-01 .1068 .1163 .1255 .1420 .1483 .1165 .1043
<!-********************************************************************** -> <axis name="SIDE"> <function name="aero/coefficient/Cyb"> <description> Side Force coefficient due to Sideslip(per degree) Contributes to damping of Dutch Roll mode </description> <product> <property>aero/qbar-psf</property> <property>metrics/Sw-sqft</property> <property>aero/beta-deg</property> <table> <independentVar lookup="row">aero/alphadeg</independentVar> <tableData> -8.000 -.8926E-02 -6.000 -.8926E-02 -4.000 -.8926E-02 -2.000 -.8926E-02 .000 -.8926E-02 2.000 -.8926E-02
Flight Simulation
3.000 4.000 5.000 6.000 7.000 8.000 9.000 10.00 11.00 12.00 14.00 16.00 18.00 20.00 </tableData> </table> </product> </function>
-.8926E-02 -.8926E-02 -.8926E-02 -.8926E-02 -.8926E-02 -.8926E-02 -.8926E-02 -.8926E-02 -.8926E-02 -.8926E-02 -.8926E-02 -.8926E-02 -.8926E-02 -.8926E-02
<function name="aero/coefficient/Cyp"> <description> Side Force Coefficient due to Roll Rate(per degree) </description> <product> <property>velocities/p-aero-rad_sec</property> <value>57.29577951</value> <property>aero/qbar-psf</property> <property>metrics/Sw-sqft</property> <property>aero/bi2vel</property> <table> <independentVar lookup="row">aero/alphadeg</independentVar> <tableData> -8.000 .1000E-29 -6.000 .1000E-29 -4.000 .1000E-29 -2.000 .1000E-29 .000 .1000E-29 2.000 .1000E-29 3.000 .1000E-29 4.000 .1000E-29 5.000 .1000E-29 6.000 .1000E-29 7.000 .1000E-29 8.000 .1000E-29 9.000 .1000E-29 10.00 .1000E-29 11.00 .1000E-29 12.00 .1000E-29 14.00 .1000E-29 16.00 .1000E-29 18.00 .1000E-29 20.00 .1000E-29
Flight Simulation
</tableData> </table> </product> </function> <!-- ************************* Not calculated by DATCOM+ ************************* --> <function name="aero/coefficient/Cyr"> <description> Side Force due to Yaw Rate(DATCOM does not calculate) Effect is small </description> <product> <property>velocities/r-aero-rad_sec</property> <property>aero/qbar-psf</property> <property>metrics/Sw-sqft</property> <property>aero/bi2vel</property> <value> .000 </value> </product> </function> <!-- ************************* Not calculated by DATCOM+ ************************* --> <function name="aero/coefficient/CyDr"> <description> Side Force due to rudder(DATCOM does not calculate) </description> <product> <property>aero/qbar-psf</property> <property>metrics/Sw-sqft</property> <property>fcs/rudder-pos-deg</property> <value> .000 </value> </product> </function> <!-- ************************* Not calculated by DATCOM+ ************************* --> <function name="aero/coefficient/CyDa"> <description> Side Force due to aileron(DATCOM does not calculate) Usually neglected </description> <product> <property>aero/qbar-psf</property> <property>metrics/Sw-sqft</property> <property>fcs/left-aileron-pos-deg</property> <value> .000 </value> </product>
Flight Simulation
</function> </axis> <!-********************************************************************** -> <axis name="ROLL"> <function name="aero/coefficient/Clb"> <description> Roll Moment coefficient due to Beta(per degree) Decrease of Clb to small negative value improves Dutch Roll Damping High Positive value leads to excessive spiral instability </description> <product> <property>aero/qbar-psf</property> <property>metrics/Sw-sqft</property> <property>metrics/bw-ft</property> <property>aero/beta-deg</property> <table> <independentVar lookup="row">aero/alphadeg</independentVar> <tableData> -8.000 -.2576E-02 -6.000 -.2902E-02 -4.000 -.3225E-02 -2.000 -.3561E-02 .000 -.3909E-02 2.000 -.4268E-02 3.000 -.4450E-02 4.000 -.4635E-02 5.000 -.4823E-02 6.000 -.5013E-02 7.000 -.5192E-02 8.000 -.5347E-02 9.000 -.5483E-02 10.00 -.5604E-02 11.00 -.5707E-02 12.00 -.5792E-02 14.00 -.5895E-02 16.00 -.5831E-02 18.00 -.5013E-02 20.00 -.4033E-02 </tableData> </table> </product> </function> <function name="aero/coefficient/Clp"> <description> Roll Moment coefficient due to roll rate(per degree) Clp alone determines damping-in-roll characteristics </description> <product> <property>aero/qbar-psf</property>
Flight Simulation
<property>metrics/Sw-sqft</property> <property>metrics/bw-ft</property> <property>aero/bi2vel</property> <property>velocities/p-aero-rad_sec</property> <table> <independentVar lookup="row">aero/alphadeg</independentVar> <tableData> -8.000 .1000E-29 -6.000 .1000E-29 -4.000 .1000E-29 -2.000 .1000E-29 .000 .1000E-29 2.000 .1000E-29 3.000 .1000E-29 4.000 .1000E-29 5.000 .1000E-29 6.000 .1000E-29 7.000 .1000E-29 8.000 .1000E-29 9.000 .1000E-29 10.00 .1000E-29 11.00 .1000E-29 12.00 .1000E-29 14.00 .1000E-29 16.00 .1000E-29 18.00 .1000E-29 20.00 .1000E-29 </tableData> </table> </product> </function> <function name="aero/coefficient/Clr"> <description> Roll Moment coefficient due to yaw rate(per degree) Considerable effect on Spiral mode. Large positive values leads to strong sprial instability. </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">aero/alphadeg</independentVar> <tableData> -8.000 .1000E-29 -6.000 .1000E-29 -4.000 .1000E-29 -2.000 .1000E-29 .000 .1000E-29
Flight Simulation
2.000 .1000E-29 3.000 .1000E-29 4.000 .1000E-29 5.000 .1000E-29 6.000 .1000E-29 7.000 .1000E-29 8.000 .1000E-29 9.000 .1000E-29 10.00 .1000E-29 11.00 .1000E-29 12.00 .1000E-29 14.00 .1000E-29 16.00 .1000E-29 18.00 .1000E-29 20.00 .1000E-29 </tableData> </table> </product> </function> <!-- ************************* Not calculated by DATCOM+ ************************* --> <function name="aero/coefficient/ClDr"> <description> Roll moment due to rudder(DATCOM does not calculate) Usually insignificant in dynamic stability considerations but is ued in autopilot work </description> <product> <property>metrics/bw-ft</property> <property>aero/qbar-psf</property> <property>metrics/Sw-sqft</property> <property>fcs/rudder-pos-deg</property> <value> .000 </value> </product> </function> </axis> <!-********************************************************************** -> <axis name="PITCH"> <function name="aero/coefficient/Cm_basic"> <description> Basic_Pitch_moment_coefficient </description> <product> <property>aero/qbar-psf</property> <property>metrics/Sw-sqft</property> <property>metrics/cbarw-ft</property> <table> <independentVar lookup="row">aero/alphadeg</independentVar>
Flight Simulation
<tableData> -8.000 .2903 -6.000 .2344 -4.000 .1782 -2.000 .1187 .000 .5816E-01 2.000 -.6828E-02 3.000 -.4044E-01 4.000 -.7522E-01 5.000 -.1116 6.000 -.1502 7.000 -.1899 8.000 -.2317 9.000 -.2768 10.00 -.3228 11.00 -.3716 12.00 -.4217 14.00 .000 16.00 .000 18.00 .000 20.00 .000 </tableData> </table> </product> </function> <function name="aero/coefficient/Cmq"> <description> Pitch moment coefficient due to pitch rate(per degree) Pitch Damping Derivative Very important to Short Period damping of oscillations </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> <table> <independentVar lookup="row">aero/alphadeg</independentVar> <tableData> -8.000 .1000E-29 -6.000 .1000E-29 -4.000 .1000E-29 -2.000 .1000E-29 .000 .1000E-29 2.000 .1000E-29 3.000 .1000E-29 4.000 .1000E-29 5.000 .1000E-29 6.000 .1000E-29 7.000 .1000E-29 8.000 .1000E-29
Flight Simulation
9.000 .1000E-29 10.00 .1000E-29 11.00 .1000E-29 12.00 .1000E-29 14.00 .1000E-29 16.00 .1000E-29 18.00 .1000E-29 20.00 .1000E-29 </tableData> </table> </product> </function> <function name="aero/coefficient/Cmadot"> <description> Pitch moment coefficient due to AOA rate(per degree) Negitive Cmad increase Short Period damping </description> <product> <property>aero/qbar-psf</property> <property>metrics/Sw-sqft</property> <property>metrics/cbarw-ft</property> <property>aero/ci2vel</property> <property>aero/alphadot-deg_sec</property> <table> <independentVar lookup="row">aero/alphadeg</independentVar> <tableData> -8.000 .1000E-29 -6.000 .1000E-29 -4.000 .1000E-29 -2.000 .1000E-29 .000 .1000E-29 2.000 .1000E-29 3.000 .1000E-29 4.000 .1000E-29 5.000 .1000E-29 6.000 .1000E-29 7.000 .1000E-29 8.000 .1000E-29 9.000 .1000E-29 10.00 .1000E-29 11.00 .1000E-29 12.00 .1000E-29 14.00 .1000E-29 16.00 .1000E-29 18.00 .1000E-29 20.00 .1000E-29 </tableData> </table> </product> </function> <function name="aero/coefficient/CmDe"> <description>
Flight Simulation
Pitch moment coefficient due to elevator deflection Positive surface deflection is trailing edge down </description> <product> <property>aero/qbar-psf</property> <property>metrics/Sw-sqft</property> <property>metrics/cbarw-ft</property> <table> <independentVar lookup="row">fcs/elevator-posdeg</independentVar> <tableData> <!-- ********************************************** No surface deflections specified in input file ********************************************** --> </tableData> </table> </product> <function> </axis> <!-********************************************************************** -> <axis name="YAW"> <function name="aero/coefficient/Cnb"> <description> Yaw moment coefficient due to sideslip(per degree) Determines Dutch Roll and Spiral characteristics Prevents side-slip and yawing moments </description> <product> <property>aero/qbar-psf</property> <property>metrics/Sw-sqft</property> <property>metrics/bw-ft</property> <property>aero/beta-deg</property> <table> <independentVar lookup="row">aero/alphadeg</independentVar> <tableData> -8.000 .1041E-02 -6.000 .1041E-02 -4.000 .1041E-02 -2.000 .1041E-02 .000 .1041E-02 2.000 .1041E-02 3.000 .1041E-02 4.000 .1041E-02 5.000 .1041E-02 6.000 .1041E-02 7.000 .1041E-02 8.000 .1041E-02 9.000 .1041E-02 10.00 .1041E-02 11.00 .1041E-02
Flight Simulation
<function name="aero/coefficient/Cnp"> <description> Yaw moment coefficient due to roll rate(per degree) Reduces Dutch Roll damping positive value desireable </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> <table> <independentVar lookup="row">aero/alphadeg</independentVar> <tableData> -8.000 .1000E-29 -6.000 .1000E-29 -4.000 .1000E-29 -2.000 .1000E-29 .000 .1000E-29 2.000 .1000E-29 3.000 .1000E-29 4.000 .1000E-29 5.000 .1000E-29 6.000 .1000E-29 7.000 .1000E-29 8.000 .1000E-29 9.000 .1000E-29 10.00 .1000E-29 11.00 .1000E-29 12.00 .1000E-29 14.00 .1000E-29 16.00 .1000E-29 18.00 .1000E-29 20.00 .1000E-29 </tableData> </table> </product> </function> <function name="aero/coefficient/Cnr"> <description>
Flight Simulation
Yaw Moment coefficient due to yaw rate(per degree) Main contributor to damping of Dutch Roll </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">aero/alphadeg</independentVar> <tableData> -8.000 .1000E-29 -6.000 .1000E-29 -4.000 .1000E-29 -2.000 .1000E-29 .000 .1000E-29 2.000 .1000E-29 3.000 .1000E-29 4.000 .1000E-29 5.000 .1000E-29 6.000 .1000E-29 7.000 .1000E-29 8.000 .1000E-29 9.000 .1000E-29 10.00 .1000E-29 11.00 .1000E-29 12.00 .1000E-29 14.00 .1000E-29 16.00 .1000E-29 18.00 .1000E-29 20.00 .1000E-29 </tableData> </table> </product> </function> <!-- ****************************************************** CnDr is not calculated by DATCOM+, but a default value is supplied ******************************************************--> <function name="aero/coefficient/CnDr"> <description> Yaw Coefficient due to rudder(DATCOM does not calculate) High value for controllablity, low value for good dynamic stability </description> <product> <property>aero/qbar-psf</property> <property>metrics/Sw-sqft</property> <property>metrics/bw-ft</property> <property>fcs/rudder-pos-deg</property> <value> -.1047E-02</value>
Flight Simulation
</product> </function> </axis> <!-********************************************************************** -> <function name="aero/elev_hinge_moment_ft_lbs"> <description> Elevator hinge moment in ft-lbs HM = q * S * Cbar * ( Ch0 + Cha*alpha + Chd*delta ) Positive causes trailing edge down movement Ch0 is used to artifically trim HM to zero </description> <product> <property>aero/qbar-psf</property> <property>metrics/Sw-sqft</property> <value> .000 </value> <!-- surface area of elevator --> <value> .1000E-29</value> <!-- MAC of elevator --> <sum> <!-<property>aero/Ch0_elev</property> --> <product> <property>aero/alpha-deg</property> <table> <!-- Ch-alpha -> <independentVar lookup="row"> aero/alpha-deg</independentVar> <tableData> -8.000 .1000E-29 -6.000 .1000E-29 -4.000 .1000E-29 -2.000 .1000E-29 .000 .1000E-29 2.000 .1000E-29 3.000 .1000E-29 4.000 .1000E-29 5.000 .1000E-29 6.000 .1000E-29 7.000 .1000E-29 8.000 .1000E-29 9.000 .1000E-29 10.00 .1000E-29 11.00 .1000E-29 12.00 .1000E-29 14.00 .1000E-29 16.00 .1000E-29 18.00 .1000E-29 20.00 .1000E-29 </tableData> </table> </product>
Flight Simulation
Ch-delta
<independentVar lookup="row"> fcs/elevator-pos-deg</independentVar> <tableData> <!-- ********************************************** No surface deflections specified in input file ********************************************** -> </tableData> </table> </product> </sum> </product> </function> </aerodynamics>
Flight Simulation
5.2.17.5 Graphs
Flight Simulation
Flight Simulation
Flight Simulation
Table 9: Input option to satisfy the Mach number and Reynolde number input requirements
Flight Simulation
Figure 10: Name list Options and roughness factors for use in name list options.
Flight Simulation
Input
Input
Flight Simulation
Flight Simulation
Input
IN NAMELIST BODY, ONLY THE FOLLOWING COMBINATIONS OF VARIABLES CAN BE USED * FOR A CIRCULAR BODY, SPECIFY X AND R OR X AND S
* FOR AN ELLIPTICAL BODY, SPECIFY X AND R OR X AND S, AND THE VARIABLE ELLIP
* FOR OTHER BODY SHAPES X, R, S, AND P MUST ALL BE SPECIFIED
Flight Simulation
Flight Simulation
Variable CHRDR CHRDTP SSPN SSPNE SAVSI CHSTAT TWISTA DHDAI TYPE
Input
Flight Simulation
Figure 14: Input for namelists WGSCHR, HTSCHR, VTSCHR and VFSCHR Section characteristic
Flight Simulation
Flight Simulation
Flight Simulation
Flight Simulation
Input
Input
Flight Simulation
Input
Input
Flight Simulation
Input
Input
Table 18:
BWAPR6 BWAPR9
Flight Simulation
Table 19:
Input
Input
Flight Simulation
Figure 18:
Ground parameters
effect
Input
Table 20:
Flight Simulation
Figure 19:
Input
Flight Simulation
Flight Simulation
Flight Simulation
Flight Simulation
Variable FTYPE NDELTA DELTA PHETE CHRDFI CHRDFO SPANFI SPANFO CPRMEI CPRMEO CAPINB CAPOUT
Input
Variable CB TC NTYPE JETFLP CMU DELJET EFFJET DOBDEF DOBCIN DOBCOT SCLD
Input
Flight Simulation
Flight Simulation
Figure 25:
Input
Input
Flight Simulation
Inside each aircraft folder will compose of mainly the main configuration file which is present in the 1st level of directory (green border all xml document), engine configuration inside engines directory, model to store the 3d model for aircraft, and system folder that contain all other file like instrument which is not our interest. Therefore the editing will be made only to those file in green border.
Flight Simulation
Visit above link and grab the template from there, make sure to select the approximate value that close to the desire aircraft for example, Number of engine, landing gear layout, and engine type. The template file may come with pre-load data, ignoring it for now. It will be modify later The following subsection will go through each of the section in the template file and give the basic idea of how to modify the value. Since the XML is readable programing language, we can directly modify the value inside the tag without worrying about background in XML. However, it is more convenient to divide the main configuration into small section.
5.3.2.1
Metric section
Metric section mainly concerns about the basic properties of the aircraft, which are wing area, wing span, wing incidence angle, and chord line, horizontal tail area and arm length from aerodynamics reference point(depend on each design), and vertical tail area and arm length. Also, the location of the reference point, the pilot eye location and velocity reference point are declared here. The sample of the section shown below
Code 5: Metric section in configuration file pre-load generated Aeromatic. main with data from <metrics> <wingarea unit="FT2"> 714.29 </wingarea> <wingspan unit="FT" > 40.00 </wingspan> <wing_incidence> 2.00 </wing_incidence> <chord unit="FT" > 17.86 </chord> <htailarea unit="FT2"> 114.29 </htailarea> <htailarm unit="FT" > 20.80 </htailarm> <vtailarea unit="FT2"> 71.43 </vtailarea> <vtailarm unit="FT" > 20.00 </vtailarm> <location name="AERORP" unit="IN"> <x> 230.40 </x> <y> 0.00 </y> <z> 0.00 </z> </location> <location name="EYEPOINT" unit="IN"> <x> 62.40 </x> <y> -18.00 </y> <z> 45.00 </z> </location> <location name="VRP" unit="IN"> <x>0</x> <y>0</y> <z>0</z> </location> </metrics>
5.3.2.2
This section is about mass of the aircraft, for simplicity the mass of the aircraft can be treating as point mass at the cg location. However, to increase accuracy it can goes to the very detailed setting by loading passenger seat by seat. It is totally depend on the user specification. The sample of the mass balance with the point mass system is shown below.
Code 6: Mass balance section in main configuration file with pre-load data generated from Aeromatic. <mass_balance> <ixx unit="SLUG*FT2"> 5434 </ixx> <iyy unit="SLUG*FT2"> 9660 </iyy> <izz unit="SLUG*FT2"> 13148 </izz> <emptywt unit="LBS" > 6000 </emptywt> <location name="CG" unit="IN"> <x> 230.40 </x> <y> 0.00 </y> <z> -12.00 </z> </location> </mass_balance>
Flight Simulation
5.3.2.3
Undercarriage section
The main function of this section is to define the boundary of the aircraft about where and how it reacts to the ground, there are two main parts in this section first the landing gear part and second the aircraft surface part. The flexibility is on the same level of the previous mass balance section, the configuration can varies from the very detailed to the very rough one with only at nose, wing-tip, tail, and landing gear have reaction with the ground. The level of complexity is depend on how do you want to use the simulation, depend on the objective of that simulation session whether it is to verified control system, structural, or ordinary test flight Below is the sample of the code for bogey (gear) and for the structure (surface)
<contact type="BOGEY" name="NOSE"> <location unit="IN"> <x> 62.40 </x> <y> 0.00 </y> <z> -57.60 </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"> 3000.00 </spring_coeff> <damping_coeff unit="LBS/FT/SEC"> 1000.00 </damping_coeff> <max_steer unit="DEG"> 5.00 </max_steer> <brake_group>NONE</brake_group> <retractable>1</retractable> </contact> /////////////////////// <contact type="STRUCTURE" name="LEFT_WING"> <location unit="IN"> <x> 230.40 </x> <y> -20.00 </y> <z> -12.00 </z> </location> <static_friction> 0.80 </static_friction> <dynamic_friction> 0.50 </dynamic_friction> <spring_coeff unit="LBS/FT"> 10000.00 </spring_coeff> <damping_coeff unit="LBS/FT/SEC"> 2000.00 </damping_coeff> </contact> Code7 : Undercarriage section in main configuration file with pre-load data generated from Aeromatic.
5.3.2.4
Propulsion section
Propulsion section consists of 2 main configuration types first to tell FlightGear location and the orientation of the engine, and location of the fuel tank and initial fuel loading. This is the part where the engine name in engine folder (see 5.3.1) will be declared and load into FlightGear. Another optional configuration that might appear here is the propeller configuration, if the aircraft using turbo-prop or piston prop engine the propeller file in engines folder (see 5.31) will be load and declared in the similar manner as the engine configuration file. Noticing that apart from the loading in mass balance section, here also have fuel loading, hence, if there are need to change in take-off weight, this weight will play important role as well as the loading in the mass and balance section. The example of the code with preload data can be found in next page
Flight Simulation
Code 8 : Propulsion section in main configuration file with pre-load data generated from Aeromatic.
<engine file="PED_engine"> <location unit="IN"> <x> 36.00 </x> <y> 0.00 </y> <z> 0.00 </z> </location> <orient unit="DEG"> <pitch> 0.00 </pitch> <roll> 0.00 </roll> <yaw> 0.00 </yaw> </orient> <feed>0</feed> <thruster file="PED_prop"> <location unit="IN"> <x> 36.00 </x> <y> 0.00 </y> <z> 0.00 </z> </location> <orient unit="DEG"> <pitch> 0.00 </pitch> <roll> 0.00 </roll> <yaw> 0.00 </yaw> </orient> </thruster> </engine> <tank type="FUEL" number="0"> <location unit="IN"> <x> 230.40 </x> <y> 0.00 </y> <z> -12.00 </z> </location> <capacity unit="LBS"> 100.00 </capacity> <contents unit="LBS"> 50.00 </contents> </tank>
5.3.2.5
This section is about the control surface configure for aircraft divide into individual channel each channel is control only specific control surface for example : aileron, rudder, elevator, including landing gear retraction control. The sample code is shown below
Code 9 : Flight Control section in main configuration file with pre-load data generated from Aeromatic. <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> </summer> <aerosurface_scale name="Elevator Control"> <input>fcs/pitch-trim-sum</input> <range> <min> -0.35 </min> <max> 0.35 </max> </range> <output>fcs/elevator-pos-rad</output> </aerosurface_scale> <aerosurface_scale name="elevator normalization"> <input>fcs/elevator-pos-rad</input> <domain> <min> -0.35 </min> <max> 0.35 </max> </domain>
Flight Simulation
Code 9(cont): Undercarriage section in main configuration file with pre-load data generated from Aeromatic.
If the desire aircraft didnt have a specific type of the control surface that need to manually configuration, it acceptable to use this generated version of the code.
5.3.2.6
Aerodynamics section
The last, the hardest and the most important section the aerodynamics part; it is the heart of any aircraft model, because the simulation will derive the force from this data. The aerodynamics section composes of lift axis, drag axis, side axis, pitch axis, roll axis and yaw axis each section divide into small function that derive the coefficient from the aerodynamic data from experiment or from the result of DATCOM. We can substitute the result from DATCOM here, in the table data section, according to each corresponding value such as, CL vs Alpha, CL vs Beta etc.
<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> <table> <independentVar lookup="row">aero/alpha-rad</independentVar> <tableData> -0.20 -0.750 0.00 0.250 0.23 1.400 0.60 0.710 </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-deg</property> <value> 0.01333 </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</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.2</value> </product> </function> </axis>
Code10 : Undercarriage section in main configuration file with pre-load data generated from Aeromatic.
Flight Simulation
5.3.2.7
<?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="http://jsbsim.sourceforge.net/JSBSim.xsl"?> <fdm_config name="PED" version="2.0" release="ALPHA" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> <fileheader> <author> Aeromatic v 0.91 </author> <filecreationdate> 2011-03-30 </filecreationdate> <version>$Revision: 1.10 $</version> <description> Models a PED. </description> </fileheader> <!-File: PED.xml Inputs: name: PED type: light single max weight: 10000.0 lb wing span: 40.0 ft length: 40.0 ft wing area: unspecified gear type: tricycle retractable?: yes # engines: 1 engine type: piston engine layout: forward fuselage yaw damper? no Outputs: wing loading: 14.00 lb/sq-ft CL-alpha: 5 per radian CL-0: 0.25 CL-max: 1.4 CD-0: 0.024 K: 0.04 --> <metrics> <wingarea unit="FT2"> 714.29 </wingarea> <wingspan unit="FT" > 40.00 </wingspan> <wing_incidence> 2.00 </wing_incidence> <chord unit="FT" > 17.86 </chord> <htailarea unit="FT2"> 114.29 </htailarea> <htailarm unit="FT" > 20.80 </htailarm> <vtailarea unit="FT2"> 71.43 </vtailarea> <vtailarm unit="FT" > 20.00 </vtailarm> <location name="AERORP" unit="IN"> <x> 230.40 </x> <y> 0.00 </y> <z> 0.00 </z> </location> <location name="EYEPOINT" unit="IN"> <x> 62.40 </x> <y> -18.00 </y> <z> 45.00 </z> </location> <location name="VRP" unit="IN"> <x>0</x> <y>0</y>
Flight Simulation
<z>0</z> </location> </metrics> <mass_balance> <ixx unit="SLUG*FT2"> 5434 </ixx> <iyy unit="SLUG*FT2"> 9660 </iyy> <izz unit="SLUG*FT2"> 13148 </izz> <emptywt unit="LBS" > 6000 </emptywt> <location name="CG" unit="IN"> <x> 230.40 </x> <y> 0.00 </y> <z> -12.00 </z> </location> </mass_balance> <ground_reactions> <contact type="BOGEY" name="NOSE"> <location unit="IN"> <x> 62.40 </x> <y> 0.00 </y> <z> -57.60 </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"> 3000.00 </spring_coeff> <damping_coeff unit="LBS/FT/SEC"> 1000.00 </damping_coeff> <max_steer unit="DEG"> 5.00 </max_steer> <brake_group>NONE</brake_group> <retractable>1</retractable> </contact> <contact type="BOGEY" name="LEFT_MAIN"> <location unit="IN"> <x> 239.62 </x> <y> -43.20 </y> <z> -57.60 </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"> 10000.00 </spring_coeff> <damping_coeff unit="LBS/FT/SEC"> 2000.00 </damping_coeff> <max_steer unit="DEG">0</max_steer> <brake_group>LEFT</brake_group> <retractable>1</retractable> </contact> <contact type="BOGEY" name="RIGHT_MAIN"> <location unit="IN"> <x> 239.62 </x> <y> 43.20 </y> <z> -57.60 </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"> 10000.00 </spring_coeff>
Flight Simulation
<damping_coeff unit="LBS/FT/SEC"> 2000.00 </damping_coeff> <max_steer unit="DEG">0</max_steer> <brake_group>RIGHT</brake_group> <retractable>1</retractable> </contact> <contact type="STRUCTURE" name="LEFT_WING"> <location unit="IN"> <x> 230.40 </x> <y> -20.00 </y> <z> -12.00 </z> </location> <static_friction> 0.80 </static_friction> <dynamic_friction> 0.50 </dynamic_friction> <spring_coeff unit="LBS/FT"> 10000.00 </spring_coeff> <damping_coeff unit="LBS/FT/SEC"> 2000.00 </damping_coeff> </contact> <contact type="STRUCTURE" name="RIGHT_WING"> <location unit="IN"> <x> 230.40 </x> <y> 20.00 </y> <z> -12.00 </z> </location> <static_friction> 0.80 </static_friction> <dynamic_friction> 0.50 </dynamic_friction> <spring_coeff unit="LBS/FT"> 10000.00 </spring_coeff> <damping_coeff unit="LBS/FT/SEC"> 2000.00 </damping_coeff> </contact> </ground_reactions> <propulsion> <engine file="PED_engine"> <location unit="IN"> <x> 36.00 </x> <y> 0.00 </y> <z> 0.00 </z> </location> <orient unit="DEG"> <pitch> 0.00 </pitch> <roll> 0.00 </roll> <yaw> 0.00 </yaw> </orient> <feed>0</feed> <thruster file="PED_prop"> <location unit="IN"> <x> 36.00 </x> <y> 0.00 </y> <z> 0.00 </z> </location> <orient unit="DEG"> <pitch> 0.00 </pitch> <roll> 0.00 </roll> <yaw> 0.00 </yaw> </orient> </thruster> </engine> <tank type="FUEL" number="0">
Flight Simulation
<location unit="IN"> <x> 230.40 </x> <y> 0.00 </y> <z> -12.00 </z> </location> <capacity unit="LBS"> 100.00 </capacity> <contents unit="LBS"> 50.00 </contents> </tank> <tank type="FUEL" number="1"> <location unit="IN"> <x> 230.40 </x> <y> 0.00 </y> <z> -12.00 </z> </location> <capacity unit="LBS"> 100.00 </capacity> <contents unit="LBS"> 50.00 </contents> </tank> </propulsion> <flight_control name="FCS: PED"> <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> </summer> <aerosurface_scale name="Elevator Control"> <input>fcs/pitch-trim-sum</input> <range> <min> -0.35 </min> <max> 0.35 </max> </range> <output>fcs/elevator-pos-rad</output> </aerosurface_scale> <aerosurface_scale name="elevator normalization"> <input>fcs/elevator-pos-rad</input> <domain> <min> -0.35 </min> <max> 0.35 </max> </domain> <range> <min> -1 </min> <max> 1 </max> </range> <output>fcs/elevator-pos-norm</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>
Flight Simulation
<min> -1 </min> <max> 1 </max> </clipto> </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> <aerosurface_scale name="left aileron normalization"> <input>fcs/left-aileron-pos-rad</input> <domain> <min> -0.35 </min> <max> 0.35 </max> </domain> <range> <min> -1 </min> <max> 1 </max> </range> <output>fcs/left-aileron-pos-norm</output> </aerosurface_scale> <aerosurface_scale name="right aileron normalization"> <input>fcs/right-aileron-pos-rad</input> <domain> <min> -0.35 </min> <max> 0.35 </max> </domain> <range> <min> -1 </min> <max> 1 </max> </range> <output>fcs/right-aileron-pos-norm</output> </aerosurface_scale> </channel> <channel name="Yaw"> <summer name="Rudder Command Sum"> <input>fcs/rudder-cmd-norm</input> <input>fcs/yaw-trim-cmd-norm</input> <clipto> <min> -0.35 </min> <max> 0.35 </max> </clipto> </summer>
Flight Simulation
<aerosurface_scale name="Rudder Control"> <input>fcs/rudder-command-sum</input> <range> <min> -0.35 </min> <max> 0.35 </max> </range> <output>fcs/rudder-pos-rad</output> </aerosurface_scale> <aerosurface_scale name="rudder normalization"> <input>fcs/rudder-pos-rad</input> <domain> <min> -0.35 </min> <max> 0.35 </max> </domain> <range> <min> -1 </min> <max> 1 </max> </range> <output>fcs/rudder-pos-norm</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> 15 </position> <time> 4 </time> </setting> <setting> <position> 30 </position> <time> 3 </time> </setting> </traverse> <output>fcs/flap-pos-deg</output> </kinematic> <aerosurface_scale name="flap normalization"> <input>fcs/flap-pos-deg</input> <domain> <min> 0 </min> <max> 30 </max> </domain> <range> <min> 0 </min> <max> 1 </max> </range> <output>fcs/flap-pos-norm</output> </aerosurface_scale> </channel> <channel name="Landing Gear"> <kinematic name="Gear Control">
Flight Simulation
<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> <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> <table> <independentVar lookup="row">aero/alpha-rad</independentVar> <tableData> -0.20 -0.750 0.00 0.250 0.23 1.400 0.60 0.710 </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-deg</property> <value> 0.01333 </value> </product>
Flight Simulation
</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</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.2</value> </product> </function> </axis> <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> <table> <independentVar lookup="row">aero/alpha-rad</independentVar> <tableData> -1.57 1.500 -0.26 0.031 0.00 0.024 0.26 0.031 1.57 1.500 </tableData> </table> </product> </function> <function name="aero/coefficient/CDi"> <description>Induced_drag</description> <product> <property>aero/qbar-psf</property> <property>metrics/Sw-sqft</property> <property>aero/cl-squared</property> <value>0.04</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> <table> <independentVar lookup="row">velocities/mach</independentVar> <tableData> 0.00 0.000
Flight Simulation
0.7 0.000 1.10 0.023 1.80 0.015 </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-deg</property> <value> 0.00100 </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.03</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.024</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 lookup="row">aero/beta-rad</independentVar> <tableData> -1.57 1.230 -0.26 0.050 0.00 0.000 0.26 0.050 1.57 1.230 </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>
Flight Simulation
<value>0.04</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>-1</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.1</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.4</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.15</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>
Flight Simulation
<property>fcs/left-aileron-pos-rad</property> <table> <independentVar lookup="row">velocities/mach</independentVar> <tableData> 0.0 0.170 2.0 0.057 </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.01</value> </product> </function> </axis> <axis name="PITCH"> <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.5</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 lookup="row">velocities/mach</independentVar> <tableData> 0.0 -1.100 2.0 -0.275 </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>
Flight Simulation
<value>-12</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>-7</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.12</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.15</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.1</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.01</value>
Flight Simulation
Flight Simulation
<propeller name="prop"> <ixx> 10.52 </ixx> <diameter unit="IN"> 96.0 </diameter> <numblades> 4 </numblades> <gearratio> 1.15 </gearratio> <p_factor> 7.58 </p_factor> <table name="C_THRUST" type="internal"> <tableData> 0.0 0.1803 0.1 0.1729 0.2 0.1654 0.3 0.1522 0.4 0.1367 0.5 0.1204 0.6 0.0974 0.7 0.0740 0.8 0.0400 1.0 -0.0136 1.2 -0.0710 1.4 -0.1277 </tableData> </table> <table name="C_POWER" type="internal"> <tableData> 0.0 0.1211 0.1 0.1211 0.2 0.1182 0.3 0.1153 0.4 0.1087 0.5 0.0996 0.6 0.0915 0.7 0.0768 0.8 0.0627 1.0 0.0225 1.2 -0.0358 1.4 -0.1078 1.6 -0.1829 </tableData> </table> <!-- thrust effects of helical tip Mach --> <table name="CT_MACH" type="internal"> <tableData> 0.85 1.0 1.05 0.8 </tableData> </table> <!-- power-required effects of helical tip Mach --> <table name="CP_MACH" type="internal"> <tableData> 0.85 1.0 1.05 1.8 2.00 1.4 </tableData> </table> </propeller>-
Flight Simulation
5.4.2 Document
The Boeing Company provided NASA-Ames Research Center with mathematical models and data to simulate the flying qualities and characteristics of the Boeing 747 on the NASA Flight Simulator for Advanced Aircraft (FSAA).
Flight Simulation
inboard nacelle are variable cambered and slotted while the inboard Krueger flaps are standard unslotted. The main landing gear consists of a pair of wing mounted four-wheel trucks and a pair of body mounted four-wheel trucks which are slightly aft of the wing. A load equalizing system between the trucks on each side with limited travel allows the center of pitch rotation to be midway between the two pairs of trucks. Longitudinal control is obtained through four elevator segments and a movable stabilizer. The lateral control employs five spoiler panels, an inboard aileron between the inboard and outboard flaps, and an outboard aileron which operates with flaps down only on each wing. The five spoiler panels on each wing also operate symmetrically as speed brakes in conjunction with the most inboard sixth spoiler panel. Directional control is obtained from two rudder segments.
Flight Simulation
Flight Simulation
Flight Simulation
Airspeed(kt)
200 180 160 140 120 100 80 60 40 20 0 40 50 60 70 80 Airspeed(kt)
By compare data from NASA we can approximate the data from 10 second interval it acceleration to approximately 40 Kt.
Flight Simulation
0
40 -1 -2 -3 -4 -5 -6 50 60 70 80
The result graph compare to the NASA data was tend exactly the same as NASA data with the deflection was down to -5 degrees.
Flight Simulation
10
0 40 50 60 70 80
Flight Simulation
Height(ft)
50 45 40 35 30 25 20 15 10 5 0 40 50 60 70 80
Height(ft)
Observe from NASA data can be obtain height change from interval 40 feet from starting point and the rate height was tend to be the same as data that obtain from our flight test.
Flight Simulation
Airspeed(kt)
200 180 160 140 120
100
80 60 40 20 0 60 65 70 75 80 85 90 95 100
Airspeed(kt)
By compare data from NASA we can approximate the data from 10 second interval it acceleration to approximately 50 Kt.
Flight Simulation
-7.00E+00
-8.00E+00
The result graph compare to the NASA data was tend exactly the same as NASA data with the deflection was down to approximately -7 degrees.
Flight Simulation
6
4 2 0 60 70 80 90 100
Longtitude(deg)
Flight Simulation
Height(ft)
70 60 50 40 30 20 10 0 60 70 80 90 100 Height(ft)
Observe from NASA data can be obtain height change from interval 60 feet from starting point and the rate height was tend to be the same as data that obtain from our flight test.
Flight Simulation
Time
7 6 5 Time (min) 4 3 2 1 0 0.65 0.7 0.75 0.8 Mach 0.85 0.9 0.95 1 Time
The graph was tend to be the same as NASA data but the maximum flight speed was different due to the effect of the pilot when control the aircraft to be close to steady state that aircraft might not be in steady level flight so the aircraft might be pitch down and cause acceleration to flight.
Flight Simulation
Flight Simulation
</view> <!--<frustum> <top>0.133</top> <bottom>-0.133</bottom> <left>-.1668</left> <right>.1668</right> <near>0.4</near> <far>120000.0</far> </frustum>--> </camera> <!--<camera> <window> <name type="string">StraightAhead</name> <host-name type="string"></host-name> <display>0</display> <screen>1</screen> <fullscreen type = "bool">true</fullscreen> </window> <view> <heading-deg type = "double">0.0</heading-deg> <pitch-deg type = "double">10.0</pitch-deg> </view> <frustum> <top>0.133</top> <bottom>-0.133</bottom> <left>-.1668</left> <right>.1668</right> <near>0.4</near> <far>120000.0</far> </frustum> </camera>--> <gui> <window> <name type="string">Panel</name> </window> </gui> </camera-group> </rendering> </sim> </PropertyList>
Flight Simulation
<h>356</h> </instrument> <instrument include="alttape.xml"> <name>Alttape</name> <x>410</x> <y>310</y> <w>66</w> <h>352</h> </instrument> <instrument include="vsi.xml"> <name>vsi</name> <x>480</x> <y>312</y> <w>52</w> <h>240</h> </instrument> <!--<instrument include="fd.xml"> <name>fdbars</name> <x>225.5</x> <y>166.4</y> <w>256</w> <h>220</h> </instrument>--> <instrument include="mask.xml"> <name>mask</name> <x>256</x> <y>300</y> <w>512</w> <h>512</h> </instrument> <instrument include="loc-scale.xml"> <name>loc-scale</name> <x>226</x> <y>176</y> <w>156</w> <h>16</h> </instrument> <instrument include="gs-scale.xml"> <name>gs-scale</name> <x>356</x> <y>308.4</y> <w>16</w> <h>156</h> </instrument> <instrument include="pfdtext.xml"> <name>overlay-text</name> <x>256</x> <y>300</y> <w>512</w> <h>512</h> </instrument> <!--END OF PFD/START LINE FOR ND--> <instrument include="APP.xml"> <name>ND</name> <x>768</x> <y>300</y> <w>512</w> <h>512</h> </instrument> <instrument include="apptext.xml"> <name>ND</name> <x>768</x> <y>300</y> <w>512</w> <h>512</h> </instrument> </instruments> </PropertyList>
Flight Simulation
Flight Simulation
<display>0</display> <screen>1</screen> <fullscreen type = "bool">true</fullscreen> </window> <view> <heading-deg type = "double">0.0</heading-deg> <pitch-deg type = "double">10.0</pitch-deg> </view> <frustum> <top>0.133</top> <bottom>-0.133</bottom> <left>-.1668</left> <right>.1668</right> <near>0.4</near> <far>120000.0</far> </frustum> </camera>--> <gui> <window> <name type="string">Panel</name> </window> </gui> </camera-group> </rendering> </sim> </PropertyList>
Flight Simulation
<w>51</w> <h>40</h> </instrument> <instrument include="Flaps.xml"> <name>flaps</name> <x>650</x> <y>400</y> <w>40</w> <h>100</h> </instrument> <instrument include="eicastext.xml"> <name>text</name> <x>622</x> <y>275</y> <w>610</w> <h>386</h> </instrument> <instrument include="ati-c172s.xml"> <name>Attitude Gyro</name> <x>125</x> <y>618</y> <w>200</w> <h>200</h> </instrument> <instrument include="alt-c172s.xml"> <name>Altimeter</name> <x>125</x> <y>418</y> <w>200</w> <h>200</h> </instrument> <instrument include="trn-c172s.xml"> <name>Turn Coordinator</name> <x>125</x> <y>218</y> <w>200</w> <h>200</h> </instrument> <instrument include="clock.xml"> <name>Clock</name> <x>440</x> <y>100</y> <w>200</w> <h>200</h> </instrument> </instruments> </PropertyList>
5.5.4 Map
Map and trace route of the vehicle, this is additional software for FlightGear called Atlas. The idea of atlas is simple, it receives the coordinate via the socket network from main FlightGear instance and plots it on the map, Atlas also has capability to display tower radio frequency and VOR, and DME frequency. there are some thing that need to be done before running Atlas which is to generate map and thumbnail for Atlas. This procedure was done in command prompts of window. (Assuming Atlas was installed at default directory) execute one line at a time.
> cd C:\Program Files (x86)\FlightGear\bin\win32 > set FG_ROOT=C:\Program Files\FlightGear\data > set FG_SCENERY=C:\Program Files\FlightGear\Data\Scenery;C:\Program Files\FlightGear\Scenery > map --size=256 --atlas=C:\Program Files\FlightGear\data\Atlas > map --size=64 --atlas=C:\Program Files\FlightGear\data\Atlas\lowres
Flight Simulation
6. Scope of project
Since engineering flight simulation system is board system combined from many sub-systems such as, control system, visual system, engine, instrument and navigation, to cover all system will consume time longer than the senior project period. So to be able to finished with the limit knowledge and time, the scopes (limitations) of this system are set to be Only the system required for simulate aircraft will be concern throughout the project, any others systems are neglect. The details of how to modeling a 3D geometry, rigging and animation of aircraft 3D model, also the details of how to code the flight dynamic model are not included and will not be discuss in this project. The input to the system are control stick, rudder, and thrust level.
7. Results
Figure 31 : Finished terminal.
At the end of this project, the objective of setting up the flight simulation system that can perform basic analysis and give an experience of flying aircraft has fulfills even the backbone system is little hard to handle and lack of tool to playing around with the aircraft configuration due to shortage in time and resources. Also, from section 5.4 the validation of flight simulation its shown an acceptable accuracy of result that produce from the simulation. The result can be used as crossed checked with result from the equation. So, it is possible to analysis any aircraft design from scratch with this flight simulation system. Last, the simulation framework or simulation concepts have been layout; a further development will be discussion in next section (section 8)
Flight Simulation
Flight Simulation
REFERENCES
1. 2. 3.
4. 5. 6. 7. 8.
David Allerton, (2009). Principles of flight simulation (1st edition). Available: No.:629.13252078 AA434P at Center of Academic Resources, Chulalongkorn University Use Arial 16pt. bold for title, and Arial 8pt. regular for references. Bandu N. Pamadi, (1998) Performance, Stability, Dynamics, and Control of Airplanes E. Bruce Jackson, (August 7-9, 1995). Results of a Flight Simulation Software Methods Survey. Presented at AIAA Flight Simulation Technologies Conference. [Electronic format]. Available at NASA Technical reports server (NTRS) Document ID: 19970012788 E. Bruce Jackson and Bruce L. Hildreth, Status of the AIAA modeling and simulation format standard. [Electronic format] Available at freepatentsonline.com keyword: flight simulation Jon S. Berndt and the JSBSim Development Team (2010) JSBSim An open source, platform-independent, flight dynamics model in C++ [Electronic format] Availble at http://jsbsim.sf.net Michael Basler, Martin Spott, Stuart Buchanan, Jon Berndt, Bernhard Buckel, Cameron Moore, Curt Olson, Dave Perry, Michael Selig, Darrell Walisser, and others, (2011) The FlightGear Manual [Electronic format]. Available at http://flightgear.org David R. Miller dave@inkdrop.net ,(Update edition 4 Mar, 2006) Multiple Monitors in FlightGear: Quick and Dirty [Electronic format] Available at http://www.inkdrop.net/dave/multimon.pdf Tarek Abdunabi, (August 2006) Modelling and Autonomous Flight Simulation of a Small Unmanned Aerial Vehicle [Electronic format] Available at http://jsbsim.sf.net
Flight Simulation