Property File

Aerodynamic system uses aerodynamic property file (.aae) to provide access to all the parameters to the solver. The reference to the .aae file is sent to the solver as a Solver String in the sa_aero_params solver array.

The aerodynamic property file is written in TeimOrbit format.
TiemOrbit Format
The TeimOrbit reader can parse various entities to get data from the aerodynamic property file. These entities include: attributes, blocks, sub-blocks, tables, units, and comments.
Attributes
Attributes form the smallest data member of the driver file. Attributes can be real, integer, strings or Booleans (True/False).
[BLOCK_NAME]
ATTRIBUTE_1  = 'TRUE'
ATTRIBUTE_2  = 1.0
ATTRIBUTE_3  = 'Wind_velocity'
ATTRIBUTE_4  = 8
Attribute names are:
  • Strings
  • Case insensitive, for example: TAG and tag are equivalent.
  • In the above example, the attributes are: TAG, SATURATION, LOOK_AHEAD_TIME, DEMAND_FILE, INTEGRATION_STEP_SIZE are the attribute names.
Attribute value:
  • Real, integer, string, bool
  • Strings should be written in ‘single quotes’ or “double quotes”
  • 0, 0.00, N, NO, FALSE, F are all depicted as false
  • 1, 1.00, T, TRUE, Y, YES are all depicted as true
  • Case sensitive
Format:
ATTRIBUTE_NAME = ATTRIBUTE_VALUE
Block
Blocks form the most versatile data structure of the reader utility. It acts as container for all other data members except a block.
  • Block can contain any number of sub-blocks.
  • Block cannot contain a block.
  • Block can contain multiple tables but only storing them in different sub-blocks.
Format:
[BLOCK_NAME]
ATTRIBUTE(s)
SUBBLOCK(s)
TABLE

Block ends with the end of file or start of new Block.

Sub-block
Sub-blocks are structurally similar to blocks with an only difference that they cannot contain sub blocks or blocks.
  • A sub block cannot contain more than one table.
Format:
(SUBBLOCK_NAME)
ATTRIBUTE(s)
TABLE(s)
Table
Data structure which consists of fields (rows and columns).
  • Table can contain any type of attributes.
  • In no label is provided, the default is to label them as indices starting from 0.
Format:
{LABEL1       LABEL2      LABEL3}
ATTRIBUTE00   ATTRIBUTE01   ATTRIBUTE02
ATTRIBUTE10   ATTRIBUTE11   ATTRIBUTE12
ATTRIBUTE20   ATTRIBUTE21   ATTRIBUTE22
Units
‘Units’ is a special block that conveys the reader units of the property file.
  • Every property sheet should necessarily have a units block.
  • User defined units in tables.
Comment
Anything written in line after ‘$’ is ignored by the reader utility.
[ENVIRONMENT]
$These are environment conditions for the simulation
GAS_CONSTANT                    	= 287e3
AMBIENT_PRESSURE                	= 0.101325
AMBIENT_TEMPERATURE             	= 298
WIND_VELOCITY		= 'WIND_VELOCITY'
Altair Header
The Altair header block provides the basic information of the property file to the solver.
$-----------------------------------------------------------------ALTAIR_HEADER
[ALTAIR_HEADER]
FILE_TYPE 	= 'AAE'
FILE_VERSION 	= 1.0
FILE_FORMAT 	= 'ASCII'
ENTITY_TYPE     	= 'AERODYNAMIC_FORCE'
  Type Requirement

Block name

[ALTAIR_HEADER]
String REQUIRED
FILE_TYPE Attr-String REQUIRED
  • Read and extract information
  • Multiple file format support
FILE_VERSION Attr-Real REQUIRED

FILE_FORMAT

‘ASCII’
Attr-String

OPTIONAL

Optional currently, required for future enhancement.

ENTITY_TYPE

'AERODYNAMIC_FORCE'
Attr-String

OPTIONAL

Provides info on the entity associated with the property file.
Units
Solver parses the AAE in MotionSolve during the simulation to extract aerodynamic and environment data. While parsing the property file, solver reads the units block to convert data in the property file to SI units and use them further in the simulation.
Units block specifies the units of all the data mentioned in the property file. The units are specified for length, force, angle, mass, time and temperature.
  • Units are not case sensitive – meter, Meter, METER, or MeTer are all interpreted as same.
  • Units block is require for all types of data files.
$--------------------------------------------------------------------------UNITS
[UNITS]
(BASE)
{length  force      angle       mass    time    temperature}
'mm'   'newton'   'degrees'   'kg'    'sec'     'kelvin'
Dimension Options Conversion Factor to SI
Length

meter or meters or m

foot or feet or ft

mile or miles

millimeter or millimeters or mm

inch or inches or in

1.0

0.3048

1609.344

0.001

0.0254
Force

Newton

Dyne

KNewton

Ounce_Force

Kilogram_Force or Kgf

KPound_Force

Pound_Force or lbf

1.0

0.00001

1000

0.27801

9.80665

4448.2216

4.4482216
Angle

Radian or radians or rad or r

Degrees or degree or deg or d

1.00

0.017453
Mass

Kg or kilogram or kilograms

G or gram or grams

Pound or pounds or lb or lbs

1.0

0.001

0.453592
Time

sec or second or seconds

milliseconds or millisecond or millisec or millisecs or ms

1.0

0.001
Temperature

Kelvin or k

Note: More temperature units will be supported in upcoming versions.
1.0
Geometric properties
This section contains the data related to vehicle geometry. Calculation of the aerodynamic forces require the frontal area of the vehicle which is specified in this block.
$---------------------------------------------------------------GEOMETRIC_PROPERTIES
[GEOMETRIC_PROPERTIES]
FRONTAL_SECTION_AREA        = 2e6
     

Block name

[GEOMETRIC_PROPERTIES]
String REQUIRED
FRONTAL_SECTION_AREA Attr-Real

REQUIRED

Frontal area of the vehicle.

Unit – L2
Environment
This section contains the data related to the environment. Calculation of the aerodynamic forces require the ambient pressure, ambient temperature and wind velocity which is specified in this block.
$---------------------------------------------------------------ENVIRONMENT
[ENVIRONMENT]
GAS_CONSTANT                    	= 287e3
AMBIENT_PRESSURE                	= 0.101325
AMBIENT_TEMPERATURE             	= 298
WIND_VELOCITY		= 'WIND_VEL_1'
$Wind vel is with respect to global frame
$---------------------------------------------------------------WIND_VELOCITY
[WIND_VEL_1]
$Wind vel is with respect to global frame
VX                    = 1000
VY                    = 0
VZ                    = 0  
  Type Requirement

Block name

[ENVIRONMENT]
String REQUIRED
GAS_CONSTANT Attr-Real

REQUIRED

Unit – FLM-1Temp-1
AMBIENT_PRESSURE Attr-Real

REQUIRED

Unit – FL-2
AMBIENT_TEMPERATURE Attr-Real

REQUIRED

Unit – Temp

WIND_VELOCITY

Attr-STRING

Reference to another block having wind velocities (Vx, Vy, Vz)

REQUIRED

Unit – LT-1
Drag Coefficient
This section contains the table of drag coefficients with respect to different incidence angles. The table is provided as a spline as shown in the block and the interpolation scheme is provided. This block is applicable for both three-point and single-point implementation.
$---------------------------------------------------------------DRAG_COEFFICIENT
[DRAG_COEFFICIENT]
INTERPOLATION = 'AKIMA'
(SPLINE_DATA)
{INCIDENCE_ANGLE    COEFFICIENT}
0.0                 0.3
10.0                0.31
20.0                0.32
30.0                0.33
  Type Requirement

Block name

[DRAG_COEFFICIENT]
String REQUIRED
INTERPOLATION Attr-String

OPTIONAL

If absent:
  • Interpolation scheme = AKIMA
If present:
  • Interpolation scheme = INTERPOLATION.value.
  • Options - AKIMA, CUBIC, LINEAR, QUINTIC.

These interpolation schemes are similar to those of Altair MotionSolve. See the Altair MotionSolve documentation for details on interpolation schemes.

SPLINE_DATA

Attr-Table

INCIDENCE_ANGLE vs COEFFICIENT

REQUIRED

Drag coefficient values at different values of incidence angles

Side Force Coefficient
This section contains the table of sideforce coefficients with respect to different incidence angles. The table is provided as a spline as shown in the block and the interpolation scheme is provided. This block is applicable for both three-point and single-point implementation.
$--------------------------------------------------------------- SIDEFORCE_COEFFICIENT	
[SIDEFORCE_COEFFICIENT]
INTERPOLATION = 'AKIMA'
(SPLINE_DATA)
{INCIDENCE_ANGLE    COEFFICIENT}
0.0                 0.3
10.0                0.31
20.0                0.32
30.0                0.33
  Type Requirement

Block name

[SIDEFORCE_COEFFICIENT]
String REQUIRED
INTERPOLATION Attr-String

OPTIONAL

If absent:
  • Interpolation scheme = AKIMA
If present:
  • Interpolation scheme = INTERPOLATION.value.
  • Options - AKIMA, CUBIC, LINEAR, QUINTIC.

These interpolation schemes are similar to those of Altair MotionSolve. See the Altair MotionSolve documentation for details on interpolation schemes.

SPLINE_DATA

Attr-Table

INCIDENCE_ANGLE vs COEFFICIENT

REQUIRED

Sideforce coefficient values at different values of incidence angles

Lift Coefficient
This section contains the table of front lift coefficients with respect to different incidence angles. The table is provided as a spline as shown in the block and the interpolation scheme is provided. This block is only applicable for single-point implementation.
$--------------------------------------------------------------- LIFT_COEFFICIENT
[LIFT_COEFFICIENT]
INTERPOLATION = 'AKIMA'
(SPLINE_DATA)
{INCIDENCE_ANGLE    COEFFICIENT}
0.0                 0.3
10.0                0.31
20.0                0.32
30.0                0.33
  Type Requirement

Block name [LIFT_COEFFICIENT]

String REQUIRED
INTERPOLATION Attr-String

OPTIONAL

If absent:
  • Interpolation scheme = AKIMA
If present:
  • Interpolation scheme = INTERPOLATION.value.
  • Options - AKIMA, CUBIC, LINEAR, QUINTIC.

These interpolation schemes are similar to those of Altair MotionSolve. See the Altair MotionSolve documentation for details on interpolation schemes.

SPLINE_DATA

Attr-Table

INCIDENCE_ANGLE vs COEFFICIENT

REQUIRED

Front lift coefficient values at different values of incidence angles

Front Lift Coefficient
This section contains the table of front lift coefficients with respect to different incidence angles. The table is provided as a spline as shown in the block and the interpolation scheme is provided. This block is only applicable for three-point implementation.
$--------------------------------------------------------------- LIFT_COEFFICIENT_FRONT
[LIFT_COEFFICIENT_FRONT]
INTERPOLATION = 'AKIMA'
(SPLINE_DATA)
{INCIDENCE_ANGLE    COEFFICIENT}
0.0                 0.3
10.0                0.31
20.0                0.32
30.0                0.33
  Type Requirement

Block name [LIFT_COEFFICIENT_FRONT]

String REQUIRED
INTERPOLATION Attr-String

OPTIONAL

If absent:
  • Interpolation scheme = AKIMA
If present:
  • Interpolation scheme = INTERPOLATION.value.
  • Options - AKIMA, CUBIC, LINEAR, QUINTIC.

These interpolation schemes are similar to those of Altair MotionSolve. See the Altair MotionSolve documentation for details on interpolation schemes.

SPLINE_DATA

Attr-Table

INCIDENCE_ANGLE vs COEFFICIENT

REQUIRED

Front lift coefficient values at different values of incidence angles

Rear Lift Coefficient
This section contains the table of rear lift coefficients with respect to different incidence angles. The table is provided as a spline as shown in the block and the interpolation scheme is provided. This block is only applicable for three-point implementation.
$--------------------------------------------------------------- LIFT_COEFFICIENT_REAR
[LIFT_COEFFICIENT_REAR]
INTERPOLATION = 'AKIMA'
(SPLINE_DATA)
{INCIDENCE_ANGLE    COEFFICIENT}
0.0                 0.3
10.0                0.31
20.0                0.32
30.0                0.33
  Type Requirement

Block name [LIFT_COEFFICIENT_REAR]

String REQUIRED
INTERPOLATION Attr-String

OPTIONAL

If absent:
  • Interpolation scheme = AKIMA
If present:
  • Interpolation scheme = INTERPOLATION.value.
  • Options - AKIMA, CUBIC, LINEAR, QUINTIC.

These interpolation schemes are similar to those of Altair MotionSolve. See the Altair MotionSolve documentation for details on interpolation schemes.

SPLINE_DATA

Attr-Table

INCIDENCE_ANGLE vs COEFFICIENT

REQUIRED

Rear lift coefficient values at different values of incidence angles

Roll Coefficient
This section contains the table of roll coefficients with respect to different incidence angles. The table is provided as a spline as shown in the block and the interpolation scheme is provided. This block is only applicable for three-point implementation.
$--------------------------------------------------------------- ROLL_COEFFICIENT
[ROLL_COEFFICIENT]
INTERPOLATION = 'AKIMA'
(SPLINE_DATA)
{INCIDENCE_ANGLE    COEFFICIENT}
0.0                 0.3
10.0                0.31
20.0                0.32
30.0                0.33
  Type Requirement

Block name [ROLL_COEFFICIENT]

String REQUIRED
INTERPOLATION Attr-String

OPTIONAL

If absent:
  • Interpolation scheme = AKIMA
If present:
  • Interpolation scheme = INTERPOLATION.value.
  • Options - AKIMA, CUBIC, LINEAR, QUINTIC.

These interpolation schemes are similar to those of Altair MotionSolve. See the Altair MotionSolve documentation for details on interpolation schemes.

SPLINE_DATA

Attr-Table

INCIDENCE_ANGLE vs COEFFICIENT

REQUIRED

Roll coefficient values at different values of incidence angles

Yaw Coefficient

This section contains the data related to vehicle geometry. Calculation of the aerodynamic forces require the frontal area of the vehicle which is specified in this block. This block is only applicable for three-point implementation.

$--------------------------------------------------------------- YAW_COEFFICIENT [YAW_COEFFICIENT]
INTERPOLATION = 'AKIMA'
(SPLINE_DATA)
{INCIDENCE_ANGLE    COEFFICIENT}
0.0                 0.3
10.0                0.31
20.0                0.32
30.0                0.33
  Type Requirement

Block name [YAW_COEFFICIENT]

String REQUIRED
INTERPOLATION Attr-String

OPTIONAL

If absent:
  • Interpolation scheme = AKIMA
If present:
  • Interpolation scheme = INTERPOLATION.value.
  • Options - AKIMA, CUBIC, LINEAR, QUINTIC.

These interpolation schemes are similar to those of Altair MotionSolve. See the Altair MotionSolve documentation for details on interpolation schemes.

SPLINE_DATA

Attr-Table

INCIDENCE_ANGLE vs COEFFICIENT

REQUIRED

Yaw coefficient values at different values of incidence angles