# Multi-Fidelity Gradient-Based Optimization for High-Dimensional Aeroelastic Configurations
## 2 Modeling and Analysis
### Rigid and Aeroelastic Analysis with Design Sensitivities  
Design optimization was carried out using analysis samples collected at two different levels of aerodynamic modeling fidelity: \"low-fidelity\" linear modeling via the Vortex Lattice Method (VLM) and \"high-fidelity\" nonlinear modeling via the Euler equations. Designs were carried out for a transonic cruise condition where VLM is informative, but not sufficiently accurate for preliminary design. At the target flight condition, steady responses were sought about either the rigid uCRM configuration (aerodynamic responses) or the flexible uCRM configuration (aeroelastic responses). For aeroelastic modeling, structural analysis was carried out using an open-source finite-element analysis capability common to both fidelity levels. The sensitivities of responses with respect to design parameters were computed in all cases through an adjoint formulation, with the exception of the low-fidelity (LF) rigid analysis model. Note that while Euler equations are more capable of modeling compressibility effects than VLM (with VLM unable to predict shocks), they still neglect viscous effects, which can lead to higher drag and phenomena such as flow separation. In order to predict these effects, Reynolds-Averaged Navier-Stokes (RANS) equations could be used, or the Euler-based loads could potentially be augmented with empirical drag relations. In this work, the former was not done because the simulation cost was estimated to be an order of magnitude higher than that of Euler; the latter was not done because of the lack of analytic sensitivities. Whether analytic sensitivities are available of course depends on the empirical drag's formulation; however, methodologies such as that of [PERSON]'s flat-plate-based FRICTION code [24] compute friction drag based on wetted area alone, yielding only a constant drag when the planform remains fixed. If the empirical relation depends on other parameters such as sectional lift, then analytic derivatives would likely require residual augmentation at the solver level of the CFD forward and reverse analyses. Figure 3 illustrates the general process flow for assessing a particular design. Initially, a design variable vector and fidelity level are fed into a Python-based function handle within a case recorder (which may evaluate the selected objective, inequality constraints, penalty-constrained objective, or any of their gradients). This is achieved through the use of a pyCAPS-based script, which loads the ESP geometry and adjusts the shape variables as needed, then rebuilds the OML geometry. Analysis pre-processing depending on geometry is handled via pyCAPS Analysis Interface Modules (AIMs), responsible for meshing and input generation. For optimization cases that only consider aerodynamics over a rigid wing, linear (low-fidelity) and nonlinear (high-fidelity) analyses were considered. For linear aerodynamic analyses, the AVL [26] pyCAPS AIM is used to generate a VLM representation of the wing and tail (with fuselage geometry excluded). When instead evaluating the design with nonlinear, CFD-based aerodynamics, the AFLR4 and AFLR3 [27] AIMs are used to generate unstructured meshes for the surface and volume, respectively, with pyCAPS also providing geometric sensitivities on the surface mesh through the use of the FUN3D [28] AIM. For aeroelastic cases, the IML geometry is also rebuilt, with EGADS subsequently providing a structural mesh. The Nastran AIM then generates a Nastran input deck based on the specified structural boundary conditions and properties (including shell thicknesses, if varied by the optimizer). PyNastran [29] is used to edit the input deck before being loaded by the TACS [30] Bulk Data File (BDF) reader. For aeroelastic cases with linear aerodynamics, a mesh for a different VLM solver is also generated based on the sectional shapes given in the AVL input file.