The TiGL framework uses multiple high-level parameters beyond the CPACS definition to simplify the editing of CPACS files. In this section, we will present the definition used by our functions in detail.
Let l be the vector from the root leading point to the tip leading point. Let l' be the projection of l on the plane formed by the major axis and the deep axis. Then, the sweep angle of the wing is the smaller angle between l' and the major axis.
Let l be the vector from the root leading point to the tip leading point. Let l' be the projection of l on the plane formed by the major axis and the third axis. Then, the dihedral angle of the wing is the smaller angle between l' and the major axis.
Let wing' be the projection of the wing on the plane formed by the major axis and the deep axis. Then, the top area is the area of wing'.
Let B be a bounding box around the wing where all the edges of the box are parallel either to the major axis, to the deep axis or to the third axis. Then the span is the the size of the box B along the major axis. Remark: If the wing has a symmetry parameter, the "two" wings are present in the box.
Let B be a bounding box around the wing where the symmetry parameter of the wing is not applied (if present). Then, the half span is the the size of the box B along the major axis. Remark: In this case always exactly "one" wing is present in the box.
aspect_ratio = 2 * pow(half_span, 2) / top_area
The major axis is either the X axis, the Y axis or the Z axis of the world coordinate system. The goal is to define which axis of the world coordinate system is best suited to be used as the span axis. If the wing has a symmetry parameter, we define the major axis as the only axis orthogonal to the symmetry plane. If the wing has no symmetry plane, we use a heuristic. First, we define the deep axis as the axis that is more "used" by the chord vector of the wing elements. Please see the subsection Deep Axis for more details. Then, we define the major axis between the two remaining axis as the axis that is more "used" by the leading edges of all segments of the wing. To find out the most "used" axis by the leading edges, let l be the sum of all leading edges. Then, the most "used" axis is the coordinate axis that has the largest values in l. Remark: To make the addition in l, we use the absolute value to capture the delta on this axis.
The deep axis is either the X axis, the Y axis or the Z axis of the world coordinate system. The goal of this axis is to define which axis of the world coordinate system is best suited to be used with the major axis to create the plane in which the top area is computed. To define the deep axis, we first exclude the major axis. Then we choose, between the two remaining axis, the axis that is more "used" by the chord vector of the wing elements. To do this, let v be the addition of all the chord vectors, then the most "used" axis is the coordinate axis that has the higher values in v. Remark: To make the addition in v, we use the absolute value to capture the delta on this axis.
The third axis is either the X axis, the Y axis or the Z axis of the world coordinate system. The goal of this axis is to define which axis of the world coordinate system is best suited to be used to represent the "height" of the wing. To define the third axis, we simply exclude the major axis and the deep axis of the three possibilities.
The root element is the "from element" of the first segment. Remark: We assume that the segments are ordered starting form the root in the CPACS file. If this is not the case, the TiGL library performs a reordering when the file is opened.
The tip element is defined as the element whose center is most distant from the root element center along the major axis.
The wing rotation is simply defined as the rotation in the wing transformation.
Let p be the trailing point of the associated airfoil and M be the augmented matrix that represents all affine transformations applied on this wing element (element transformation, section transformation, positioning transformation, wing transformation, translation of parent). Then, the trailing point te of this wing element is: te = M * p
Let p be the leading point of the associated airfoil and M be the augmented matrix that represents all affine transformations applied on this wing element (element transformation, section transformation, positioning transformation, wing transformation, translation of parent). Then, the leading point le of this wing element is: le = M * p
The chord vector is defined as the vector pointing from the leading point, le, to the trailing point, te.
Let v be the chord vector and le be the the leading point of the wing element. Then we define the chord point cp at x percent as: cp(x) = le + x*v
Remark: The percentage is given as a value between 0 and 1.
The center point of an element is defined as the center of mass of the element wire. Here, the element wire is the associated airfoil after all affine transformations of the wing are applied to the airfoil profile.
If the wing airfoil is described as a set of points, the trailing point is simply the first point of the airfoil description. If the wing airfoil is described as a function, the trailing edge point is currently not clearly defined yet.
If the wing airfoil is described as a set of points, the leading point is the point of the airfoil description that is the most distant of the airfoil trailing point. If the wing airfoil is described as a function, the leading edge point is currently not clearly defined yet.