Revised 2007-07-13: revised HL-20 aero model with angle of attack limiter
Revised 2009-04-06: changed to require version 2.0 RC 2 schema
Note: These links generally refer to XML files, which may not display properly in every browser. You may wish to download the file instead, using either a right-click or option-click on the link to save the file to your disk.
All the examples below validate against version 2.0RC4 DAVEfunc.dtd (or later). See the Schemas page for more information on the latest DTD.
The simplest DAVEfunc description is a single one-dimensional table, shown below. Some of the file header content could be omitted while retaining a valid DAVEfunc document. No input or output variables have been defined, so this is technically an incomplete example. This example, simple_aero.dml, is available from
<?xml version="1.0" standalone="no"?> <!DOCTYPE DAVEfunc PUBLIC "-//NASA//DTD for Flight Dynamic Models - Functions 1.9//EN" "DAVEfunc.dtd"> <!-- $Revision: 140 $ --> <DAVEfunc> <fileHeader> <author name="Bruce Jackson" org="NASA Langley Research Center" email="[email protected]"/> <fileCreationDate date="2002-03-11"/> <description> Coefficient of lift (non-dimensional) versus angle-of-attack, deg. Example file for DAVE function table format. This example is the simplest version. </description> <modificationRecord modID="A" date="2002-03-11"> <author name="Bruce Jackson" org="NASA Langley Research Center" email="[email protected]"/> <description> Added varID to dependentVarPts and independentVarPts, per DTD 1.5b2 change. Also changed author's xns address to e-mail address. </description> </modificationRecord> <modificationRecord modID="B" date="2006-11-17"> <author name="Bruce Jackson" org="NASA Langley Research Center" email="[email protected]"/> <description> Added date to modificationRecord per DTD 1.9 change. </description> </modificationRecord> </fileHeader> <variableDef name="alpha" varID="alpdeg" units="deg"/> <variableDef name="CL" varID="cl" units=""/> <function name="CL"> <independentVarPts varID="alpdeg"> -4.0, 0., 4.0, 8.0, 12.0, 16.0 </independentVarPts> <dependentVarPts varID="cl"> 0.0, 0.2, 0.4, 0.8, 1.0, 1.2 </dependentVarPts> </function> </DAVEfunc>Back to top
A more complete example is a two-dimensional table given below. This example includes reference information about the table, a modification record, two inputs variables (Mach and alpha), two breakpoint tables, a lift coefficient function table, and an output variable. This example, twoD_table.dml, is available from
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <!DOCTYPE DAVEfunc PUBLIC "-//NASA//DTD for Flight Dynamic Models - Functions 1.9//EN" "DAVEfunc.dtd"> <DAVEfunc> <fileHeader> <author name="Bruce Jackson" org="NASA Langley Research Center" email="[email protected]"/> <fileCreationDate date="2002-03-01"/> <fileVersion>$Revision: 140 $</fileVersion> <description> Coefficient of lift (non-dimensional) - single two-dimensional table. Example file for DAVE function table format. This example is more complex. </description> <reference refID="REF01" author="Raney, David L." title="F-19A Basic Aerodynamics Model" accession="NASA TM-4302" date="1992-07-31"/> <reference refID="REF02" author="Buggati, Richard W." title="F-19A Rotary Aerodynamics Model" accession="NASA TM-4303" date="1993-07-31" xlink:href="http://dcb.larc.nasa.gov/models/tm4303.pdf"/> <reference refID="REF03" author="Aviation Leak & Space Tautology" title="F-19A Falling Short on Design Performance Numbers" accession="Vol. 45, Number 12" date="1993-07-03"/> <modificationRecord modID="A" refID="REF03" date="2002-03-01"> <author name="Hildrup, Bruce L." org="SAID Patuxent River"> <address> 1087 Exploration Parkway Ste 201 Lexington Park, MD 20654 </address> </author> <description> Reversed sign on drag term for better performance! </description> </modificationRecord> <modificationRecord modID="B" date="2006-11-16"> <author name="Bruce Jackson" org="NASA Langley Research Center" email="[email protected]"> <address> MS308 NASA Hampton VA 23681 USA </address> </author> <description> Renamed from .xml to .dml; changed to conform to DAVEfunc.dtd 1.9: added 'date' to modification record, renamed docID attribute in documentRefs to refID; corrected date formats to ISO; added fileVersion element with Revision keyword.</description> </modificationRecord> </fileHeader> <!-- ================== --> <!-- Input variables --> <!-- ================== --> <variableDef name="alpha" varID="ALPHA" units="deg" symbol="#x3B1"> <description> Instantaneous true angle-of-attack, in degrees </description> </variableDef> <variableDef name="Mach" varID="MACH" units="ND" symbol="M"/> <!-- ================== --> <!-- Output variable --> <!-- ================== --> <variableDef name="CL" varID="CL" units="ND" symbol="CL"> <description> Coefficient of lift based on alpha and mach. </description> </variableDef> <!-- ================== --> <!-- Breakpoint values --> <!-- ================== --> <breakpointDef name="alpha" bpID="ALPHA1" units="deg"> <description> Alpha breakpoints for most basic aero data </description> <bpVals> -4.0, 0., 4.0, 8.0, 12.0, 16.0 </bpVals> </breakpointDef> <breakpointDef name="mach" bpID="MACH1" units="ND"> <bpVals> 0.0, 0.4, 0.8, 0.9, 0.95, 0.99, 1.00, 1.01, 1.05, 1.2 </bpVals> </breakpointDef> <!-- ================== --> <!-- Functions --> <!-- ================== --> <function name="Basic CL"> <description> Basic coefficient of lift table as a function of Mach and angle of attack </description> <provenance> <author name="Bruce Jackson" org="NASA Langley Research Center" xns="@bjax"/> <functionCreationDate date="Jul-1994"/> <documentRef refID="REF01"/> <documentRef refID="REF02"/> <modificationRef modID="A"/> </provenance> <independentVarRef varID="MACH" min="0.3" max="0.95" extrapolate="max"/> <!-- Mach breakpoints --> <independentVarRef varID="ALPHA" min="0.0" max="15.0" extrapolate="both"/> <!-- Alpha breakpoints --> <dependentVarRef varID="CL"/> <functionDefn name="CL_FN"> <griddedTable name="CL_TABLE"> <breakpointRefs> <bpRef bpID="MACH1"/> <bpRef bpID="ALPHA1"/> </breakpointRefs> <confidenceBound value="95%"/> <dataTable> <!-- Note: last breakpoint changes most rapidly --> 9.5013e-01 6.1543e-01 5.7891e-02 1.5274e-02 8.3812e-01 1.9343e-01 2.3114e-01 7.9194e-01 3.5287e-01 7.4679e-01 1.9640e-02 6.8222e-01 6.0684e-01 9.2181e-01 8.1317e-01 4.4510e-01 6.8128e-01 3.0276e-01 4.8598e-01 7.3821e-01 9.8613e-03 9.3181e-01 3.7948e-01 5.4167e-01 8.9130e-01 1.7627e-01 1.3889e-01 4.6599e-01 8.3180e-01 1.5087e-01 7.6210e-01 4.0571e-01 2.0277e-01 4.1865e-01 5.0281e-01 6.9790e-01 4.5647e-01 9.3547e-01 1.9872e-01 8.4622e-01 7.0947e-01 3.7837e-01 1.8504e-02 9.1690e-01 6.0379e-01 5.2515e-01 4.2889e-01 8.6001e-01 8.2141e-01 4.1027e-01 2.7219e-01 2.0265e-01 3.0462e-01 8.5366e-01 4.4470e-01 8.9365e-01 1.9881e-01 6.7214e-01 1.8965e-01 5.9356e-01 </dataTable> </griddedTable> </functionDefn> </function> </DAVEfunc>Back to top
This two-D ungridded table example comes from Dr. Peter Grant of UTIAS. It represents an typical wind-tunnel-derived aerodynamic function, CLbasic, that is captured with three different flap settings. In this case, the alpha breakpoint values are different for each set of flap data (not atypical of wind-tunnel data) but the flap values are constant for each alpha sweep. This function is thus non-orthogonal in one dimension and orthogonal in the other; but it has to be treated as an 'ungridded' function nevertheless since at least one dimension's breakpoints are not constant with the other dimension. This example, twoD_ungridded.dml, is available from
Back to top
This three-D ungridded table example comes from Geoff Brian of DSTO. It is a randomly distributed set of points in three-space representing yawing moment coefficient as a function of angle of attack, angle of sideslip, and yaw control deflection and is intended only as an example of a completely nonorthogonal (ungridded) function definition where each dependent data value description includes the independent coordinate values.
This example, threeD_ungridded.dml, is available from
Back to top
While DAVE-ML is really intended to be used to model specific aircraft (the assumption is everyone already has their own atmosphere models, EOMs, etc.) my colleague Ralph suggested a standard atmosphere model, based on a set of tables, might be a good example. Voilá! Includes 42 verification check-cases.
This example, atmos_76.dml, is available from
Back to top
Available on this website is an F-16 non-linear subsonic aerodynamics model based on NASA wind tunnel tests [1] and partially duplicated in the Stevens & Lewis textbook [2]. This data was compiled into a Matlab script by Garza & Morelli in a NASA technical memorandum [3]. The DAVEtools utilities have been used to generate a Simulink realization from the DAVE-ML file, and compared identically to the Matlab version by Morelli. It has 18 tables, 51 variables, and 744 points in a 154 KB Unicode file with 2,712 lines.
This version was rewritten slightly on 28-Nov-2006 to sort the variableDefs into the proper sequence.
Back to top<http://daveml.org/examples/F16_aero.dml> (154 KB)
Available on this website is a model of the HL-20 lifting body aerodynamics which was used to perform approach and landing tests in the NASA Langley Visual/Motion Simulator in the early 1990's and in the NASA Ames Vertical Motion Simulator in 2001. It is a more complex model than the F-16, handling supersonic and subsconic aerodynamics, and includes checkcase data for auto verification. It has 168 tables, 361 variables, 6,240 points in a 1.2 MB uncompressed file with 22,299 lines. It is an 88 KB GNU-zipped download or a 79 KB PC-zipped download.
<http://daveml.org/examples/HL20_aero.dml.gz> (88 KB)
<http://daveml.org/examples/HL20_aero.dml.zip> (72 KB)
Complete documentation of the HL-20 simulation, including control laws, is available in [4].
Back to top
Feedback to [email protected] |
Last modified
Tue, 22-Feb-2011
|