# Multi-Fidelity Gradient-Based Optimization for High-Dimensional Aeroelastic Configurations
## 2 Modeling and Analysis
### Rigid and Aeroelastic Analysis with Design Sensitivities
#### 2.2.2 Aeroelastic Analysis  
To obtain aeroelastic responses and adjoint derivatives, the TACS [30] structural solver is coupled to either FUN3D or a linear Vortex Lattice Method (VLM) augmented with an empirical drag build-up. Currently, VLM-based coupling is performed through the use of MPHYS [11], a collection of helper Python classes, which seeks to standardize, create, and verify aerostructure couplings and derivatives in OpenMDAO [33] and is developed by NASA, the University of Michigan, and Georgia Tech. Higher-fidelity coupling is performed using FUNtoFEM [9; 10], an effort led by NASA, AFRL, and Georgia Tech. For comparison, aeroelastic solutions of the baseline uCRM configuration (using the 7-DoF airfoil parameterization) are computed with the LF and HF methodologies for steady, transonic cruise (conditions are listed later in Section 2.2.2). Residuals of both analyses dropped by roughly 8 orders of magnitude in 15 and 400 solver iterations for the LF and HF methods, respectively (where the HF solver solves one flow iteration per coupling iteration). The resulting lift and drag coefficients were 0.48836 and 0.022951 for LF analysis, respectively, compared to 0.49733 and 0.020454 for HF, yielding differences of \(-1.8037\%\) and \(+12.2086\%\). Sample pressure and stress contours of the Euler- and VLM-based analyses are shown in Figure 4. For clarity, the Euler- and VLM-based deflections are overlaid on one another in Figure 5. It is evident that the Euler analysis generates a slightly larger lift and generates somewhat larger aeroelastic deformations. To avoid repetition, the description of aeroelastic analysis herein is limited to a review of the HF methodology composed of FUN3D, TACS, FUNtoFEM, and CAPS/ESP. The methodology of computing aeroelastic solutions and design derivatives with these methods was developed by [PERSON] et al. [9] and [PERSON] et al. [10; 34]. Steady aeroelastic solutions (the so-called primal problem) are iteratively computed with an under-relaxed nonlinear block Gauss-Seidel (BGS) method until residual convergence, treating aerodynamic, structural dynamic, mesh, and load/deformation residual equation sets as separate blocks; see Algorithm 1 in [9]. FUN3D is used to step the solution of the aerodynamic and mesh blocks (residuals \(\mathbf{R_{a}}\) and \(\mathbf{R_{g}}\), respectively); TACS is used to step the structural dynamic block (residual \(\mathbf{R_{s}}\)): FUNtoFEM is used to drive the BGS method and execute the load and displacement transfers using the MELD transfer scheme (residuals \(\mathbf{R_{f}}\), \(\mathbf{R_{l}}\), \(\mathbf{R_{d}}\), with subscripts \"1\" and \"f\" denoting distributed and integrated loads, respectively). Finally, CAPS/ESP is used to create the meshed geometry shared by these software components. To analytically obtain design derivatives, an adjoint problem corresponding to the BGS scheme is solved for each cost function \(f\) (which, as in the rigid analysis described above, may include lift, drag, pitching moment, or an aggregated stress response; the gradients of the structural mass and center of gravity were assumed to be uncoupled). Following [PERSON] et al. [9; 10; 34], specific coupled adjoint equations are formed by the introduction of a Lagrangian, with the notation consistent with that of rigid analysis:  
\[\mathcal{J}=f+\mathbf{\Lambda_{a}}^{T}\mathbf{R_{a}}+\mathbf{\Lambda_{g}}^{T} \mathbf{R_{g}}+\mathbf{\Lambda_{s}}^{T}\mathbf{R_{s}}+\mathbf{\Lambda_{f}}^{T} \mathbf{R_{f}}+\mathbf{\Lambda_{l}}^{T}\mathbf{R_{l}}+\mathbf{\Lambda_{d}}^{T} \mathbf{R_{d}}. \tag{4}\]  
Adjoint variables are computed by FUNtoFEM using a linear BGS scheme involving a blocked system matrix composed of transposed matrices (as suggested by Equation (3), which features the transpose of the linearized aerodynamic equations); see Algorithm 2 in [9].