{'fraction_non_alphanumeric': 0.024233784746970778, 'fraction_numerical': 0.013186029935851747, 'mean_word_length': 5.527906976744186, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Towards a hybrid adjoint approach for complex flow simulations

The adjoint method was first developed for aerodynamic shape optimization applications through the use of control theory by Jameson (1998) in the late 1980s and early 1990s, using ideas adapted from more general work by Lions (1971) on optimal control of systems governed by partial differential equations (PDEs). Over the past two decades, adjoint methods have been used in a variety of applications including shape optimization of wing geometries (Reuther & Jameson 1995), goal-oriented numerical error estimation and mesh adaptation (Giles et al. 2003; Venditti & Darmofal 2002), sensitivity analysis, and uncertainty quantification (Duraisamy & Chandrashekar 2012). Depending on the approach followed for the derivation of the adjoint equations, this method is conventionally characterized as either discrete or continuous. While both of these approaches involve numerical solutions, the difference arises from the order of dis-cretization and linearization of the governing equations. In the discrete adjoint method, the discretized governing equations are used to derive the discrete adjoint equations. In the continuous adjoint method, the adjoint equations are derived from the analytical form of the PDE and then discretized to obtain a discrete representation. This difference is shown in Figure 1, noting that though both paths lead to discretized adjoint equations, unless we have dual consistency these equations and their resultant adjoint variables will not be identical. The discrete method can employ algorithmic Automatic Differentiation (Mader et al. partial derivatives and hence, PDEs of arbitrary complexity can be handled with very little mathematical development. However, the resulting system can become highly stiff or ill-conditioned and difficult to solve, and little freedom exists to tailor the scheme for the numerical solution of the problem. On the other hand, the discrete adjoint provides the " exact " gradient of the discretized objective function, and it is able to treat objective functions of arbitrary complexity. It is also possible to analytically derive (by hand) the required partial derivative terms from the discretized forms of the flow residuals and then develop code based on this; however, this requires significant development, possibly more than that generally required in the continuous method (Nadarajah & Jameson 2000). Moreover, there exist complex sets of governing equations for which the hand-differentiation of all terms in the equations is infeasible. In contrast, the continuous approach allows for a more thorough understanding of the physical significance of the adjoint equations and boundary conditions, but may require significant mathematical development. It is, however, …