Preliminary Airframe Geometry and CAD
Because it may very well be necessary to iteratively build and analyze the airframe geometry model several times before a fully accurate and balanced design is achieved that passes the checks just noted, it is of enormous importance that the process for generating the airframe geometry is as automated and robust as possible. This is precisely the rationale behind the AirCONICS suite and why we find its use in this stage of design so important. It is, however, not the only way to produce initial CAD definitions; almost all modern CAD packages support some form of parametric geometry capability that can be programatically controlled. Essentially, this involves first deciding the basic topology of the airframe and then linking as many geometry variables as possible to each other so that only a small number need to be specified as the airframe is changed during sizing and balancing. For the examples studied here, the full geometry is typically fully defined by around 20 master dimensions, see, for example, those specified in Tables 11.9, 11.3, and 11.8.
To generate the geometry used for analysis, we first need an outer wetted surface for the aircraft. As already noted, our preferred tool is Rhino since this can be readily controlled with Python scripts and quickly produces clean and closed wetted surfaces. Since all aircraft contain a range of similar features, most noticeably airfoil-like lifting surfaces, the AirCONICS suite of Python scripts generates these very efficiently. The basic components of the airframe are then built from wing, taiplane, and fin lifting surfaces, linked together via tubular spars with a range of “pods” and cylinders created as elongated bodies of revolution to represent fuselages, junctions, and cowlings. All these elements are joined together to form a single closed “polysurface” that can be exported directly to the analysis tools used for aerodynamic and structural analysis. Simple undercarriage elements can be included by using toroidal tires and fin-like structures for the legs (although it is normal to omit these while carrying out initial CFD validations of drag). Payload pods can also be added at this stage if required. Figure 12.1 shows a typical Rhino airframe as built using AirCONICS, here for a single tractor engine, twin-boom, H-tail design. Note that a tapered wing planform has been adopted but with straight leading edge - this simplifies the structural design by allowing adequate space for a straight wing spar.
The Python scripts used to create our geometries essentially consist of three distinct sections: first, a short section of code is used to define the variables taken from the spreadsheet as a set
Figure 12.1 Basic AirCONICS airframe geometry for a single tractor engine, twin-boom, H-tail design.
of controlling parameters, see, for example, Figure 11.5. Second, all the main functions are defined that will be used in the geometry creation. Typically this would include the following:
- • A set of functions that vary with span to define each lifting surface (generally different for the wings, tail and fins):
- - DihedralFunction. A user-defined function describing the variation of dihedral as a function of the leading-edge spanwise coordinate.
- - TwistFunction. A user-defined function describing the variation of twist as a function of the leading-edge spanwise coordinate.
- - ChordFunction. A user-defined function describing the variation of chord as a function of the leading-edge spanwise coordinate.
- - SweepAngleFunction. A user-defined function describing the variation of sweep angle as a function of the leading-edge spanwise coordinate.
- - AirfoilFunction. A user-defined function of the previous functions to set up the variation of cross-section as they vary with the leading edge spanwise coordinate.
- • A small group of operators to define pods as bodies of rotation created from airfoil sections with optional parallel middle sections.
- • A small group of operators to define landing gear elements created from cylinders, struts, and a torus for the tire.
Following this, the main body of the script invokes the various functions plus a few inbuilt objects, such as simple cylinders, to build all the aircraft elements and union them together into a single closed “polysurface” solid that can be exported either as an STL file to a meshing tool or as a Parasolid, ACIS, STEP, or IGES file for use with other CAD packages. We also provide options in the script to include control surfaces and to subdivide the whole airframe into parts suitable for preliminary structural analysis.