DSAeroToolsSim.Models.Geometry package

DSAeroToolsSim.Models.Geometry.conventionalGeometry module

Simple Geometry Model

DSAeroToolsSim

REQUIRED INPUT STRUCTURE

Vehicle.GeometryModel.Wing

Vehicle.GeometryModel.HTail

Optional, recommended

Vehicle.GeometryModel.VTail

Optional, recommended

DSAeroToolsSim.Models.Geometry.conventionalGeometry.JSONify(Vehicle)

JSONification of Geometry Model

Called by Vehicle’s JSONify method. This function creates a JSON-compatible dictionary of the GeometryModel attributes.

The function does not return the dictionary, but rather stores it in the Vehicle’s GeometryModel.JSON attribute.

Parameters:

Vehicle (Vehicle) – Vehicle whose GeometryModel is being JSONified

DSAeroToolsSim.Models.Geometry.conventionalGeometry.conventionalGeometry(Vehicle, *args)

Conventional Geometry Model

Sizes a conventionally-configured aircraft. The aircraft must have at least a wing and at most a wing, horizontal, and vertical.

The function simply receives a Vehicle and sets the attributes of the Vehicle’s GeometryModel to the sized values.

A surface can be sized with one of the following combinations of inputs:
  • AR and Sref

  • b and Sref

  • b and AR

For tails (HTail and VTail) a a volume coefficient (V) must be defined. A tail moment arm is default to 0.7*Wingspan.

The function also calculates the following attributes for each surface:
  • mac

  • croot

  • ctip

  • yMAC

  • LESweep

  • QCSweep

  • xMAC

The function also calculates the following reference attributes for the Vehicle:
  • GeometryModel.Sref

  • GeometryModel.Bref

  • GeometryModel.Cref

  • GeometryModel.ARref

  • GeometryModel.QCSweepref

  • GeometryModel.tcref

  • GeometryModel.taperref

  • GeometryModel.LESweepref

The function also appends the surfaces to the Vehicle’s GeometryModel.surfaces list

Parameters:

Vehicle (Vehicle) – Vehicle whose geometry is being sized

Raises:
  • ValueError – Vehicle.GeometryModel.Wing must exist

  • ValueError – Vehicle.GeometryModel.HTail must have tailSizing specified

  • ValueError – Vehicle.GeometryModel.VTail must have tailSizing specified

  • ValueError – Vehicle.GeometryModel.HTail must have V specified if tailSizing is “coefficients”

  • ValueError – Vehicle.GeometryModel.VTail must have V specified if tailSizing is “coefficients”

DSAeroToolsSim.Models.Geometry.generalGeometry module

General Geometry Model

DSAeroToolsSim

REQUIRED INPUT STRUCTURE

Vehicle.GeometryModel.surfaces

List of <Component> type objects

One and only one surface must have [surface].reference = True

DSAeroToolsSim.Models.Geometry.generalGeometry.JSONify(Vehicle)

JSONification of Geometry Model

Called by Vehicle’s JSONify method. This function creates a JSON-compatible dictionary of the GeometryModel attributes.

The function does not return the dictionary, but rather stores it in the Vehicle’s GeometryModel.JSON attribute.

Parameters:

Vehicle (Vehicle) – Vehicle whose GeometryModel is being JSONified

DSAeroToolsSim.Models.Geometry.generalGeometry.assign(attribute)

Future assign method

If the attribute is a Future, fetches the value. Otherwise, returns the attribute.

See Future class in Vehicle.py for more information on the Future class.

Parameters:

attribute (Future or any) – Attribute being assigned to a variable

Returns:

Attribute value

Return type:

any

DSAeroToolsSim.Models.Geometry.generalGeometry.generalGeometry(Vehicle, *args)

General Geometry Model

Sizes a configuration with an arbitrary number of trapezoidal surfaces.

The only required input is a list of <Component> type objects, where one and only one surface must have [surface].reference = True.

The way a surface is sized is defined by surface.sizing, and is either “defined” or “coefficients”.

The reference surface must be “defined”.

Defined surfaces must have at least one combination of the following input attributes:
  • AR and Sref

  • b and Sref

  • b and AR

Surfaces sized by coefficients must have the following required input attributes:
  • V

  • REF

The ‘REF’ attribute is the reference value for the coefficient sizing method. It is a string that must match the name of an attribute in the reference surface. E.g.:

  • `Horizontal.REF = 'mac'`

If a moment arm is not specified, it is assumed to be 70% of the reference span. If another value is desired, it must be specified.

The use of Future can be useful in the case of referencing another of referenceSurface’s attributes. See Vehicle.py’s Future class.

For the values calculated for each surface, and reference values attributed to Vehicle.GeometryModel, see conventionalGeometry.py.

# TODO: add control surface descriptions here, even if not used for DSAeroToolsSim

Parameters:

Vehicle (Vehicle) – Vehicle whose geometry is being sized

Raises:
  • ValueError – Only one reference surface can be defined

  • ValueError – Reference surface cannot be sized by coefficients

  • ValueError – Sizing must be specified for all surfaces

  • ValueError – Attributes ‘V’ and ‘REF’ must be specified for surfaces sized by coefficients