AVL Analysis Interface Module (AIM)
AVL Analysis Interface Module (AIM)
|
The use of lower-dimensional design tools is clearly desirable in a multidisciplinary/multi-fidelity aero design optimization setting. This is the crux of the Computational Aircraft Prototype Syntheses (CAPS) program. In many ways describing geometry appropriate for AVL (the Athena Vortex Lattice) code is more cumbersome than higher fidelity codes that require an Outer Mold Line. The goal is to make a CAPS AIM (Analysis Input Module) that directly feeds input to AVL and extracts the output quantities of interest from AVL's execution. This needs to be consistent with a build description that is hierarchical and multi-fidelity. That is, the build description that generates the geometric data at this level can be further enhanced to produce the complete OML of the aircraft design under consideration. As for the geometric description, AVL requires airfoil section data specified at the appropriate locations that describe the skeleton of the aircraft. These sections when lofted as groups and finally unioned together builds the OML. Clearly, intercepting the state of the geometry before these higher-level operations are applied provides the data appropriate for AVL. This naturally constructs a hierarchical geometric view where a design can progress into higher fidelities and feedback can be achieved where we can go back to this level of description when need be.
An outline of the AIM's inputs and outputs are provided in AIM Inputs and AIM Outputs, respectively. An alternative to the AIM's outputs for retrieving sensitivity information is provided in AIM Back Door.
The accepted and expected geometric representation and analysis intentions are detailed in Geometry Representation and Analysis Intent. Similarly, other geometric attribution that the AIM makes use is provided in AIM Attributes.
Upon running preAnalysis the AIM generates two files, 1) "avlInput.txt" which contains the input information and control sequence for AVL to execute and 2) "caps.avl" which contains the geometry to be analyzed. To populate output data the AIM expects files, "capsTotalForce.txt", "capsStatbilityDeriv.txt", "capsBodyAxisDeriv.txt", and "capsHingeMoment.txt" to exist after running AVL (see AIM Outputs for additional information). An example execution for AVL looks like:
The AVL coordinate system assumption (X – downstream, Y – out the right wing, Z – up) needs to be followed.
Within OpenCSM there are a number of airfoil generation UDPs (User Defined Primitives). These include NACA 4 series, a more general NACA 4/5/6 series generator, Sobieczky's PARSEC parameterization and Kulfan's CST parameterization. All of these UDPs generate EGADS FaceBodies where the Face's underlying Surface is planar and the bounds of the Face is a closed set of Edges whose underlying Curves contain the airfoil shape. In all cases, there is a Node that represents the Leading Edge point and one or two Nodes at the Trailing Edge – one if the representation is for a sharp TE and the other if the definition is open or blunt. If there are 2 Nodes at the back, then there are 3 Edges all together and closed, even though the airfoil definition was left open at the TE. All of this information will be used to automatically fill in the AVL geometry description.
The AVL Sections are automatically generated, one from each FaceBody and the details extracted from the geometry. Xle, Yle, and Zle, are taken from the Node Associated with the Leading Edge. The Chord is computed by getting the distance between the LE and TE (if there are 3 Edges in the FaceBody the TE point is considered the mid-position on that third Edge). Ainc is computed by registering the chordal direction of the FaceBody against the X-Z plane. The airfoil shapes are generated by sampling the Curves and put directly in the input file via the AIRFOIL keyword after being normalized.
It should be noted that general construction in either OpenCSM or even EGADS will be supported as long as the topology described above is used. But care should be taken when constructing the airfoil shape so that a discontinuity (i.e., simply C0) is not generated at the Node representing the Leading Edge. This can be done by splining the entire shape as one and then intersecting the single Edge to place the LE Node.
The rest of the information and options required to fill out the AVL geometry input file ( xxx.avl) will be found in the attributes attached to the FaceBody itself. The conventions used will be described in the next section.
Also note that this first implementation is not intended to provide complete control over AVL. In particular, there is no mention above of the BODY, DESIGN, CLAF, or CDCL AVL keywords.
An example problem using the AVL AIM may be found at AIM Examples, which contains example *.csm input files and pyCAPS scripts designed to make use of the AVL AIM. These example scripts make extensive use of the AIM Attributes, AIM Inputs, and AIM Outputs.