6.2. Schematic overview of DAVEfunc

Shown below are schematic overviews of the various elements currently available in DAVEfunc. Each element is described in detail in Section 8, “Element references and descriptions” later in this document. The following key is used to describe the elements and associated attributes.

    elementname : mandatory_attributes, [optional_attributes]
            optional_single_sub-element?                     {editorial comment}
            ( choice_1_sub-element | choice_2_sub-element )
            (character data) implies UNICODE text information

The DAVEfunc element has six possible sub-elements:

    DAVEfunc :

DAVEfunc sub-elements:


This mandatory element contains information about the origin and development of this model.


Each DAVEfunc model must contain at least one signal path (such as a constant output value). Each input, output or internal signal used by the model must be specified in a separate variableDef.

A signal can have only a single origin (an input block, a calculation, or a function output) but can be used (referenced) more than once as an input to one or more functions, signal calculations, and/or as a model output.

In DAVE-ML 2.0, all signals are real and scalar.

The variableDefs should appear in calculation order; that is, a variableDef should not appear before the definitions of variables upon which it is dependent. This is good practice since doing so avoids a circular reference. If a variable depends upon the output (dependentVar) of a function it can be assumed that dependence has been met, since function definitions appear later in the DAVEfunc element.


A DAVEfunc model can contain zero, one, or more breakpoint set definitions. These definitions can be shared among several gridded function tables. Breakpoint definitions can appear in any order.


A DAVEfunc model can contain zero, one, or more gridded nonlinear function table definitions. Each table must be used by multiple function definition if desired for efficiency. Alternatively, some or all functions in a model can specify their tables internally with an embedded griddedTableDef element.

A gridded function table contains dependent values, or data points, corresponding to the value of a function at the intersection of one or more breakpoint sets (one for each dimension of the table). The independent values (coordinates or breakpoint sets) are not stored within the gridded table definition but are referenced by the parent function. This allows a function table to be supported by more than one set of breakpoint values (such as left- and right-aileron deflections).


A DAVEfunc model can contain zero, one, or more ungridded nonlinear function table definitions. Unlike a rectangularly gridded table, an ungridded table specifies data points as individual sets of independent and dependent values. Each table must be used by at least one but can be used by multiple function definitions if necessary for efficiency. Alternatively, functions can retain their tables internally with a ungriddedTable element without sharing the table values with other functions.

Ungridded table values are specified as a single (unsorted) list of independent variable (input) values and associated dependent variable (output) values. While the list is not sorted, the order of the independent variable inputs is important and must match the order given in the parent function. Thus, functions that share an ungridded table definition must have the same ordering of independent variables.

The method of interpolating the ungridded data is not specified.


A function ties together breakpoint sets (for gridded-table nonlinear functions), function values (either internally or by reference to table definitions), and the input- and output-variable signal definitions, as shown in Figure 1. Functions also include provenance, or background history, of the function data such as wind tunnel test or other source information.


This optional element contains information allowing the model to be automatically verified after implementation by the receiving party.

An example of each of these sub-elements is given below. Complete descriptions of each element in detail are found in Section 8, “Element references and descriptions”.