DAVE-ML in action: Examples

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.


Simple lift-curve table

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

<http://daveml.org/examples/simple_aero.dml>

<?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

Two-dimensional orthogonal (gridded) aerodynamic table

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

<http://daveml.org/examples/twoD_table.dml>

<?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 &amp; 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

Two-dimensional ungridded table model

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

<http://daveml.org/examples/twoD_ungridded.dml>

Back to top

Three-dimensional ungridded table model

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

<http://daveml.org/examples/threeD_ungridded.dml>

Back to top

1976 U.S. Atmosphere model

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

<http://daveml.org/examples/atmos_76.dml>

Back to top

F-16 nonlinear subsonic aerodynamic model

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.

<http://daveml.org/examples/F16_aero.dml> (154 KB)

Back to top

HL-20 lifting body nonlinear subsonic aerodynamic model

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

Citations:

  1. Nguyen, L. T., et al.: Simulator Study of Stall/Post-stall Characteristics of a Fighter Airplane with Relaxed Longitudinal Static Stability. NASA TP 1538, 1979.
  2. Stevens, Brian L.; and Lewis, Frank L.: Aircraft Control and Simulation. Wiley & Sons, 1992, ISBN 0-471-61397.
  3. Garza, Fredrico R.; and Morelli, Eugene A.: A Collection of Nonlinear Aircraft Simulations in MATLAB. NASA TM-2003-212145, January 2003.
  4. Jackson, E. Bruce; Cruz, Christopher I.; and Ragsdale, W. A.: Real-Time Simulation Model of the HL-20 Lifting Body. NASA TM-107580, July 1992. http://dscb.larc.nasa.gov/DCBStaff/ebj/Papers/TM-107580.pdf.

 

Feedback to [email protected]

Last modified Tue, 22-Feb-2011