We came across some functions (there may be more) in TiGL that make assumptions as to how a wing is defined relatively to a coordinate system, i.e. which direction is up, which is the main span direction of the wing and which is the main depth direction of the wing, see the list with further explanations below. In some cases, these directions are fixed, and in others they are determined heuristically by the geometry of the wing. Because CPACS is very flexible, it is easy to construct counter examples where these heuristics will fail.
So the question is, do we need to agree on the direction for measuring wing span, wing depth and also which side of a wing points upwards? If yes, we should explicitly do so as part of CPACS. If no, I suppose this is a TiGL issue only. If we do want to define these directions in CPACS,
do we need a completely new node for these reference directions?
should these directions always be aligned with the global or parent coordinate system?
can we simply define them in terms of the wing coordinate system?
List of wing related TiGL functions, that make assumptions on the wings orientation.
CCPACSWing::GetReferenceArea returns the sum of the reference areas of the quadrilateral portion of the wing segments by projecting the wing segments into a plane defined by the user. The plane is defined be an enum and can be the global XY plane, the XZ plane or the YZ plane. If no user defined plane is provided, a plane will be deduced from heuristically determined major span and depth directions of the wing, which are assumed to be aligned with the coordinate axes of the global coordinate system. The major span and depth directions will be calculated based on the largest contribution of the sum of absolute values of the components of the leading edge lines of each segment of the wing :cold_sweat:
tiglWingGetSpan returns the largest extent of the wing geometry along its "major span direction". If the wing has a symmetry defined, this "major span direction" is normal to the symmetry plane of the wing. If the wing has no symmetry defined, the major span direction is calculated as before: For every segment of the wing, the absolute values of the leading edge line coordinates are summed up, and we will choose the component as the major direction which has the largest contribution in the sum.
CCPACSWing::GetAspectRatio depends on the previous two function, and thus also on the "major span direction"
tiglWingGetMac calculates the quarder of mean aerodynamic chord. The calculation depends on the projection of the leading and trailing edge points of every segment onto the global YZ-plane.
We came across some functions (there may be more) in TiGL that make assumptions as to how a wing is defined relatively to a coordinate system, i.e. which direction is up, which is the main span direction of the wing and which is the main depth direction of the wing, see the list with further explanations below. In some cases, these directions are fixed, and in others they are determined heuristically by the geometry of the wing. Because CPACS is very flexible, it is easy to construct counter examples where these heuristics will fail.
So the question is, do we need to agree on the direction for measuring wing span, wing depth and also which side of a wing points upwards? If yes, we should explicitly do so as part of CPACS. If no, I suppose this is a TiGL issue only. If we do want to define these directions in CPACS,
List of wing related TiGL functions, that make assumptions on the wings orientation.
CCPACSWing::GetReferenceArea
returns the sum of the reference areas of the quadrilateral portion of the wing segments by projecting the wing segments into a plane defined by the user. The plane is defined be an enum and can be the global XY plane, the XZ plane or the YZ plane. If no user defined plane is provided, a plane will be deduced from heuristically determined major span and depth directions of the wing, which are assumed to be aligned with the coordinate axes of the global coordinate system. The major span and depth directions will be calculated based on the largest contribution of the sum of absolute values of the components of the leading edge lines of each segment of the wing :cold_sweat:tiglWingGetSpan
returns the largest extent of the wing geometry along its "major span direction". If the wing has a symmetry defined, this "major span direction" is normal to the symmetry plane of the wing. If the wing has no symmetry defined, the major span direction is calculated as before: For every segment of the wing, the absolute values of the leading edge line coordinates are summed up, and we will choose the component as the major direction which has the largest contribution in the sum.CCPACSWing::GetAspectRatio
depends on the previous two function, and thus also on the "major span direction"tiglWingGetMac
calculates the quarder of mean aerodynamic chord. The calculation depends on the projection of the leading and trailing edge points of every segment onto the global YZ-plane.