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