Shown below are schematic overviews of the various elements currently available in DAVEfunc. Each element is described in detail in the appendix. The following key is used to describe the elements and associated attributes.
Key: elementname : mandatory_attributes, [optional_attributes] mandatory_single_subelement optional_single_subelement? zero_or_more_subelements* one_or_more_subelements+ (character data) implies Unicode text information
The fileHeader element contains information about the source of the data contained within the DAVEfunc major element, including the author, creation date, description, reference information, and a modification history.
fileHeader : author : name, org, [xns, email] address? : (address character data) fileCreationDate : date fileVersion? : (version identification character data) description? : (description character data) reference* : refID, author, title, date, [accession, href] modificationRecord* : modID, [refID] author : name, org, [xns, email] address? : (address character data) description? : (descriptive character data) extraDocRef? : refID
fileHeader sub-elements:
Name, organization, and optional XNS ID and mailing address of the author
Creation date of this file. See the "Additional DAVE-ML conventions" section later in this document for the recommended format.
A string that indicates the version of the document. No convention is reached, but this could include an automated revision number from configuration control processes.
Optional but recommended text description: what does this DAVE-ML file represent?
A list of zero or more references with a document-unique ID (must begin with alpha character), author, title, date, and optional accession and URL of the reference.
An optional list of modifications with optional reference pointers, as well as author information and descriptions for each modification record. These modifications are referred to by individual function tables and/or data points, using the AIAA modification letter convention. If more than one document is associated with the modification, multiple subelement extraDocRefs may be used in place of the modificationRecord 's refID attribute.
The variableDef element contains a definition of a constant, parameter, signal, or variable used within or generated by the defined subsystem model. It contains attributes with the variable name, an XML-unique varID identifier, the units of measure of the variable, and optional axis system, sign convention, alias, and symbol information. Optional sub-elements include a description and a mathematical description, in MathML 2 markup, of the calculations needed to derive the variable from other variables or function table outputs. A final optional subelement, isOutput, serves to indicate an intermediate calculation that should be brought out to the rest of the simulation.
There must be a single variableDef for each and every input, output or intermediate signal within the DAVEfunc model.
variableDef+ : name, varID, units, [axisSystem, sign, alias, symbol] description? : (description character data) calculation? : math (defined in mathML2.0 DTD) : isOutput? :
variableDef attributes:
A UNICODE name for the table (may be same as gtID.
An XML-legal name that is unique within the file
The units-of-measure for the signal.
An optional brief indicator of the axis system (body, inertial, etc.) in which the signal is measured
An optional brief indicator of which direction is considered positive (+RWD, +UP, etc.)
A UNICODE Greek symbol for the signal [to be superceded with more formal MathML or Tex element in a later release]
An XML-legal name that is unique within the file
variableDef sub-elements:
An optional text description of the variable
An optional container for the the MathML markup that describes how this variable is calculated from other variables or function table outputs. This element contains a single math element which is defined in the MathML 2 markup language.
This optional element, if present, identifies this variable needs to be passed as an output. How this is accomplished is up to the implementer. Unless specified by this element, a variable is considered an output only if it is the result of a calculation or function AND is not used elsewhere in this DAVEfunc model.
The breakpoint set definition element, breakpointDef, is used to define a list of comma-separate values that define the coordinate values along one axis of a gridded linear function value table. It contains a mandatory bpID, a file-unique XML identifier attribute, an optional name and units of measure attributes, an optional text description element and the comma-separated list of floating-point values in the bpVals element. This list must be monotonically increasing in value.
breakpointDef* : bpID, [name, units] description? : bpVals : (character data of comma-separated breakpoints)
breakpointDef attributes:
An XML-legal name that is unique within the file
A UNICODE name for the set (may be same as gtID.
The units-of-measure for the breakpoint values.
breakpointDef sub-elements:
An optional description of the breakpoint set.
A comma-separated, monotonically-increasing list of floating-point values.
The griddedTableDef element defines a multi-dimensional table of values corresponding with the value of an arbitrary function at the intersection of a set of specified independent inputs. The coordinates along each dimension are defined in separate breakpointDef elements that are referenced within this element by bpRefs, one for each dimension.
The data contained within the dataTable definition are a comma-separated set of floating-point values. This list of values represents a multidimensional array whose size is inferred from the length of each breakpoint vector. For example, a two-dimensional table that is a function of an eight-element Mach breakpoint set and a ten-element angle-of-attack breakpoint set is expected to contain 80 comma-separated values.
By convention, the breakpointRefs are listed in order such that the last breakpoint set varies most rapidly in the associated data table listing.
An optional confidenceBound scalar value may be provided that reprents the confidence level in the values presented. [This statistical capability needs significant improvement in later DAVEfunc releases.]
griddedTableDef* : gtID, [name, units] description? : (description character data) provenance? : author : name, org, [xns, email] address? : (address character data) functionCreationDate : (date in YYYY-MM-DD format, character data) documentRef* : docID modificationRef* : modID breakpointRefs : bpRef+ : bpID confidenceBound? : value dataTable (character data)
griddedTableDef attributes:
An XML-legal name that is unique within the file
A UNICODE name for the table (may be same as gtID.
The units-of-measure for the table's output signal.
griddedTableDef sub-elements:
The optional description element allows the author to describe the data contained within this griddedTable.
The optional provenance element allows the author to describe the source and history of the data within this griddedTable.
The mandatory breakpointRefs element contains separate bpRef elements, each pointing to a separately-defined breakpointDef. Thus, the independent coordinates associated with this function table are defined elsewhere and only a reference is given here. The order of appearance of the bpRefs is important.
The numeric value specified in this element represents the statistical confidence in the values contained within this table.
The numeric values of the function at the function vertices specified by the breakpoint sets are contained within this element, in a single comma-separated list. Parsing this list and storing it in the appropriate array representation is up to the implementor. By convention, the last breakpoint value increases most rapidly.
The ungriddedTableDef element defines a set of non-orthogonal data points, along with their independent values (coordinates), corresponding with the dependent value of an arbitrary function.
An optional confidenceBound scalar value may be provided that reprents the confidence level in the values presented. [This statistical capability needs significant improvement in later DAVEfunc releases.]
ungriddedTableDef* : utID, [name, units] description? : (description character data) provenance? : author : name, org, [xns, email] address? : (address character data) functionCreationDate : (date in YYYY-MM-DD format, character data) documentRef* : docID modificationRef* : modID confidenceBound? : value dataTable+ :
ungriddedTableDef attributes:
A mandatory XML-legal name that is unique within the file
An optional UNICODE name for the table (may be same as gtID.
Optional units-of-measure for the table's output signal.
ungriddedTableDef sub-elements:
The optional description element allows the author to describe the data contained within this ungriddedTable.
The optional provenance element allows the author to describe the source and history of the data within this ungriddedTable.
The numeric value specified in this element represents the statistical confidence in the values contained within this table.
One or more sets of coordinate and output numeric values of the function at various locations within it's input space. This element includes one coordinate for each function input variable. Parsing this information into a usable interpolative function is up to the implementor. By convention, the coordinates are listed in the same order that they appear in the using function.
The function element connects breakpoint sets (for gridded tables), independent variables, and data tables to their respective output variable.
function* : name description? : provenance? : author : name, org, [xns, email] address? (address character data) functionCreationDate : extraDocRef* : docID modificationRef* : modID EITHER { independentVarPts+ : varID, [name, units, sign, extrapolate] (input values as character data) dependentVarPts : varID, [name, units, sign] (output values as character data) } OR { independentVarRef+ : varID, [min, max, extrapolate] dependentVarRef : varID functionDefn : [name] CHOICE OF { CHOICE OF { griddedTableRef : gtID OR griddedTable : [name] breakpointRefs bpRef+ : bpID confidenceBound? : value dataTable (gridded data table as character data) } } OR { CHOICE OF { ungriddedTableRef : utID OR ungriddedTable : [name] confidenceBound? : value dataPoint+ (coordinate/value sets as character data) } } }
function attributes:
A UNICODE name for the function.
function sub-elements:
The optional description element allows the author to describe the data contained within this function.
The optional provenance element allows the author to describe the source and history of the data within this function.
If the author chooses, he|she can express a linearly-interpolated functions by specifing the indendent (breakpoint) values sets as one or more independentVarPts which are comma-separated, monotonically increasing coordinate values corresponding to the dependentVarpts given next. In the case of multiple dimensions, more than one indepdendentVarPts must be specified, one for each dimension. The mandatory varID attribute is used to connect each independentVarPts with an input signal.
This element goes along with the previous element to specify a function table. Only one dependentVarPts may be specified. If the function is multidimensional, the convention is the last breakpoint dimension changes most rapidly in this comma-separated list of output values. The mandatory varID attribute is used to connect this table output to an output signal.
One or more of these elements refer to a separately-defined variableDef. For multidimensional tables, the order of specification is important and match the order in which breakpoints are specified or the order of coordinates in ungridded table coordinate/value sets.
One dependentVarRef must be specified to marry the output of the function to a particular variableDef.
This mandatory element (if not a simple function) identifies either a separately-specified data table or specifies a private table, either gridded or ungridded.
If not defining a simple function table, the author may use this element to point to a separately-specified griddedTableDef element.
As an alternative to reutilization of a previously defined table, this element may be used to define a private output gridded table. See the writeup on griddedTableDef for more information.
If not using a simple function table, the author may use this element to point to separately-specified ungriddedTableDef element.
As an alternative to reuse of a previously defined table, this element may be used to define a private output ungridded table. See the writeup on ungriddedTableDef for more information.