• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    Automatic differentiation based discrete adjoint method for aerodynamic design optimization on unstructured meshes

    2017-11-20 12:07:02YishengGaoYizhaoWuJianXia
    CHINESE JOURNAL OF AERONAUTICS 2017年2期

    Yisheng Gao,Yizhao Wu,Jian Xia

    College of Aerospace Engineering,Nanjing University of Aeronautics and Astronautics,Nanjing 210016,China

    Automatic differentiation based discrete adjoint method for aerodynamic design optimization on unstructured meshes

    Yisheng Gao,Yizhao Wu*,Jian Xia

    College of Aerospace Engineering,Nanjing University of Aeronautics and Astronautics,Nanjing 210016,China

    Automatic differentiation(AD);Discrete adjoint;Navier-Stokes equations;Optimization;Unstructured meshes

    A systematic methodology for formulating,implementing,solving and verifying discrete adjoint of the compressible Reynolds-averaged Navier-Stokes(RANS)equations for aerodynamic design optimization on unstructured meshes is proposed.First,a general adjoint formulation is constructed for the entire optimization problem,including parameterization,mesh deformation,flow solution and computation of the objective function,which is followed by detailed formulations of matrix-vector products arising in the adjoint model.According to this formulation,procedural components of implementing the required matrix-vector products are generated by means of automatic differentiation(AD)in a structured and modular manner.Furthermore,a duality-preserving iterative algorithm is employed to solve flow adjoint equations arising in the adjoint model,ensuring identical convergence rates for the tangent and the adjoint models.A three-step strategy is adopted to verify the adjoint computation.The proposed method has several remarkable features:the use of AD techniques avoids tedious and error-prone manual derivation and programming;duality is strictly preserved so that consistent and highly accurate discrete sensitivities can be obtained;and comparable efficiency to hand-coded implementation can be achieved.Upon the current discrete adjoint method,a gradient-based optimization framework has been developed and applied to a drag reduction problem.

    1.Introduction

    The advances in computational fluid dynamics(CFD)and high performance computers have enabled the coupling of CFD and numerical optimization techniques to effectively determine the optimum aerodynamic shape of complex configuration.Among several optimization algorithms for aerodynamic design problems,adjoint method1is now widely used since it allows one to compute the gradient(or derivatives)of an objective function ef ficiently by solving an additional linear problem that is of the same order of magnitude of a single flow solution and essentially independent of the number of design variables.Two types of adjoint approaches have been established:continuous2–5and discrete.6–10In the continuous adjoint approach,the adjoint equations and the corresponding boundary conditions are first derived by the linearization of the governing partial differential equations(PDEs)and then discretized.This approach allows the flexible discretization of the derived PDEs,reducing the CPU and memory overheads.On the other hand,the discrete adjoint is constructed by reversing the above order of the linearization and the discretization.The advantage of the discrete adjoint approach is that one can obtain the exact discrete gradient of the objective function and verify it with great precision using the complexstep method11or dual number automatic differentiation(DNAD)method.12The discrete version is also conceptually straightforward.As will be illustrated in the following section,in finite dimensional vector space endowed with the Euclidean inner product where the discretized flow equations are defined,adjoint operator is equivalent to the transpose of the matrix form of the linear operator.Thus,in concept,the formulation of the discrete adjoint only involves transpose operation,which is much simpler than the continuous counterpart.

    However,the implementation of the discrete adjoint method remains a challenging task due to the difficulty associated with the exact linearization of the underlying sophisticated numerical schemes and turbulence models.Hand-coded implementation is tedious and error-prone,resulting in lengthy code development time.Moreover,some approximations or simplifications are often made in hand-coded implementation,such as the neglect of the differentiation of artificial dissipation or the assumption of constant eddy-viscosity.These approximations or simplifications lead to inaccurate discrete gradient of the objective function,and may in turn affect the optimization process.13One promising way to address this implementation issue is the use of automatic differentiation(AD).14If the source code of the original flow solver is provided,AD tools can generate codes capable of calculating the required derivatives in an automatic manner.AD tools usually offer two different modes of operation:the forward(or tangent)mode and the reverse(or adjoint)mode.In the forward mode,the derivatives are propagated in the same direction of the original flow solver,while in the reverse mode the propagation of the derivatives is reversed.The reverse mode of AD technique is analogous to the discrete adjoint and the computational cost is independent of the number of input variables,thereby very suitable for the construction of the discrete adjoint code.Unfortunately,a ‘black-box’application of the reverse mode to the entire flow solver will usually result in very inefficient codes with excessive CPU and memory overheads because of the high computational cost and storage of intermediate variables in the reversed propagation of the derivatives.To tackle this problem,a strategy of selective application of AD tools to the original CFD code has been promoted and adopted in both structured and unstructured solvers.15–19AD tools are piecewise applied to the original solver,and the derived codes are manually assembled in an appropriate reverse order,eliminating unnecessary computation and memory consumption which occur in the ‘black-box’application of AD tools.But the existing AD-assisted discrete adjoint solvers on unstructured grids are still not as efficient as hand-coded version.

    In this paper,the main objective is to establish a systematic methodology for the development of accurate and efficient discrete adjoint solver on unstructured meshes,including adjoint formulation,detailed implementation,solution of adjoint equations and verification.First,a general adjoint formulation proposed by Mavriplis20is adopted to construct the adjoint model of the entire optimization problem,including parameterization,mesh deformation,flow solution and computation of the objective function.And then detailed formulations of matrix-vector products arising in the adjoint model are presented for the subsequent application of AD tools.Based on these formulations,procedural components of implementing the matrix-vector products are generated by the reverse mode of AD tools in a structured and modular manner.Upon these procedural components,a duality-preserving iterative algorithm,21,22which is exact adjoint of the iterative algorithm used in the original flow problem,is developed for the iterative solution of the flow adjoint equations.In order to verify the discrete adjoint solver,a three-step strategy is adopted:first the complex-step method is applied to the entire optimization problem;the tangent model is then verified with the result of the complex-step method;finally the adjoint computation is verified by checking the duality between the tangent and adjoint models.

    The proposed methodology for developing discrete adjoint solver offers several advantages:

    (1)Reduced development effort.Compared to hand-coded adjoint implementation,the use of AD tools in the proposed method avoids tedious and error-prone manual derivation and programming of detailed computational procedures for the adjoint model,substantially reducing the development difficulty and time.

    (2)Consistent and accurate gradient.Since duality is strictly preserved in adjoint implementation and the dualitypreserving iterative algorithm is developed for the solution of the flow adjoint equations,the gradient of the objective function calculated by the adjoint model is consistent with the one obtained by the tangent model or other exact numerical differentiation methods in the sense of machine precision,not only for the final converged result,but also for intermediate values throughout each iteration.

    (3)High efficiency.For AD-assisted discrete adjoint solver on structured grids,the transposed Jacobian arising in the adjoint model can be calculated once and explicitly stored to attain good performance.16,18However,this storage is often unaffordable in the case of unstructured grids due to much larger neighbors-to-neighbors stencil,especially for 3D problems.Therefore,using AD tools to generate codes of computing matrix-vector products in the adjoint model without explicit storage is preferred.For the existing AD-assisted adjoint solvers on unstructured meshes,the runtime of the flow adjoint computation is usually 2–5 times that of the flow solution,owing to the computation and storage of immediate variables.15,17Recently,Albring et al.used C++Expression Template technique to efficiently implement the reverse mode of AD for developing a discrete adjoint solver within the open-source multi-physics framework SU2,23obtaining a runtime ratio equal to 1.17 for inviscid flow.24In the current work,based on the structured and modular implementation of the procedural components,the computation and storage overheads are drastically reduced,so one single turbulent flow adjoint computation only costs about 10%more time than one single turbulent flow solution.This demonstrates that for the Reynolds-averaged Navier-Stokes(RANS)equations,the proposed method can deliver comparable efficiency to hand-coded implementation which usually costs the same or less amount of time as or than the flow solution.22

    The rest of the paper is organized as follows.In Section 2,the definition of adjoint and duality principle are first introduced,which are followed by the general tangent and adjoint formulations,and then detailed formulations of the matrixvector products involved in the tangent and the adjoint models are presented.The application of AD tools for the detailed implementation of matrix-vector products is presented in Section 3.The solution techniques for the tangent and adjoint models are given in Section 4.The verification is discussed in Section 5.In Section 6,a discrete adjoint based optimization framework is developed and applied to a drag reduction problem.Finally,conclusions are summarized in Section 7.

    2.Definition of adjoint and adjoint formulation

    2.1.Definition of adjoint and duality principle

    To clarify the nature of discrete adjoint,the mathematical definition of adjoint(or the formal term,adjoint operator)is first introduced.This brief introduction follows the description of Ref.25and more related mathematical theories can be found in any standard functional analysis textbook.

    Definition 1.Adjoint of a linear operator

    Using the definitions of the Euclidean inner product inH1andH2

    Eq.(1)can be written as

    namely

    Since this relation is satisfied by all x and y,it follows that

    Thus,in finite dimensional linear space,discrete adjoint is simply transpose operation.This indicates that discrete adjoint is very simple and straightforward in concept,and lays a foundationforsubsequent adjointformulation andimplementation.Eq.(3)is well-known as duality principle,26which will be used for the verification of adjoint implementation in Section 5.

    2.2.General adjoint formulation

    In this paper,a general adjoint formulation proposed by Mavriplis20is adopted to provide an underlying framework for the subsequent detail derivation and implementation,since this formulation presents a clear construction of discrete adjoint for the entire optimization problem and is more straightforward than the traditional formulation using the terminology of Lagrange multipliers.26For aerodynamic design optimization problem,usually a set of design variables D are specified and the minimum of an objective function L(e.g.drag coefficient)is pursued.The entire process,from parameterization to computation of the objective function,referred to as the primal problem,consists of the following steps:

    (1)Parameterization

    When design variables are specified and an initial computational mesh is given,a parameterization method is used to produce new coordinates of surface mesh points,which can be written as

    whereXsurfrepresentsthecoordinatesofsurfacemeshnodesand Fathe functional expression of the parameterization method.

    (2)Mesh deformation

    Once the coordinates of surface mesh points are updated,a mesh deformation method can be used to determine new coordinates of volumetric mesh points,which can be written as

    where Xallrepresents the coordinates of all mesh nodes and Fbthe functional expression of the mesh deformation method.For mesh deformation methods such as spring analogy method27or linear elasticity analogy method,28Eq.(7)can be further written as

    where K represents the stiff matrix arising in the discretization of mesh motion equations,dXallthe displacements of all mesh nodes and dXsurfthe displacements of surface mesh nodes.

    (3)Flow solution

    The flow variables are obtained by solving the discretized flow equations on the deformed mesh,which can be written as

    where W represents the conservative variables and R the flow residuals.According to implicit function theorem,Eq.(9)implies that there exists a function Fcsuch that

    (4)Computation of the objective function

    Once the flow variables and the coordinates of mesh points are determined,the objective function can be calculated as

    Accordingly,the primal problem can be expressed as

    To utilize gradient-based optimization methods,the gradient of the objective function with respect to the design variables is required.Therefore,applying the chain rule to Eq.(12),one has

    Substituting Eqs.(15)and(17)into Eq.(13),one can obtain the final expression for the gradient of the objective function

    Eq.(18)is well-known as tangent model,tangent problem,forward differentiation or direct differentiation.According to Eq.(18),the gradient can be calculated in the following steps:

    (2)Calculate the mesh sensitivities through the expression

    (3)Obtain the flow residual sensitivities using matrix-matrix product(or matrix-vector product in the case of single design variable)

    (4)Compute the flow variable sensitivities through the expression

    (5)Compute the gradient of the objective function using

    It is obvious that the overall cost of computing the gradient through the tangent model is nearly equal tonDtimes the mesh deformation plusnDtimes the flow solution,scaling linearly with the number of the design variables.Hence the tangent model is usually impractical for optimization problems involving a large number of design variables.

    Based on the definition of discrete adjoint,the adjoint model can be obtained by applying transpose operation to the tangent model given by Eq.(18),which yields

    According to Eq.(25),the gradient can be calculated in the following steps:

    (3)Compute the term

    Then Kxis obtained by solving

    Eq.(30)represents the mesh adjoint equations and Kxmesh adjoint variables.Since no design variable is involved in Eq.(30),the computational cost of solving Eq.(30)is also independent of the number of the design variables.

    (5)Compute the gradient using

    Often,the computational cost in this step is relatively low.

    Compared to the tangent model,the adjoint model can calculate the gradient at the expense of one flow adjoint solution and one mesh adjoint solution,regardless of the number of the design variables.For this reason,the adjoint model is very eff icient for large-scale optimization problems.

    2.3.Detailed formulations of matrix-vector products

    Procedure 1.Complete computational procedure for flow residuals.W Conservative variables and S-A working variables Xall mesh point coordinates v ? F1eXallT !volume fn ? F2eXallT !face normal bn ? F3eXallT !boundary outward normal dwall ? F4eXallT !distance to solid wall K ? F6eW;fn;bnT !spectral radius C ? F7eWT !pressure sensor D ? F8eWT !undivided Laplacian Fcin ? F9eW;fnT !interior average fluxes Fad ? F10eW;K;C;D;fnT !artificial dissipation Fcbc ? F11eW;bnT !convective boundary conditions Fconv?Fcint Fadt Fcbc !mean-flow convective residuals g ? F12eW;fn;bn;vT !gradients l ? F13eWT !viscosity coefficients Fvin ? F14eW;l;g;Xall;fnT !interior viscous fluxes Fvbc ? F15eW;l;g;Xall;bnT !viscous boundary conditions Fvis?Fvint Fvbc !mean-flow viscous residuals

    ?

    FSAc ? F16eW;fnT !convective term in S-A model FSAd ? F17eW;l;Xall;fnT !diffusive term in S-A model FSAbc ? F18eW;l;Xall;bnT !boundary conditions for S-A model FSAs ? F19eW;l;g;v;dwallT !source term in S-A model R? Rmean RSA? Fconvt Fvis FSA ct FSA dt FSA bct FSAs !flow residuals

    Procedure 2.Computational procedure for matrix-vector product?@R=@W?_W._W A given vector which has the same dimension as W_K?@F6@W_W_C?@F7@W_W_D?@F8@W_W_Fcin?@F9@W_W_Fad?@F10@W_W t@F10@K_K t@F10@C_C t@F10@D_D_Fcbc?@F11@W_W_Fconv?_Fcint_Fadt_Fcbc_g?@F12@W_W_l?@F13@W_W_Fvin?@F14@W_W t@F14@l_l t@F14@g_g_Fvbc?@F15@W_W t@F15@l_l t@F15@g_g_Fvis?_Fvint_Fvbc_FSAc?@F16@W_W_FSAd?@F17@W_W t@F17@l_l_FSAbc?@F18@W_W t@F18@l_l_FSAs?@F19@W_W t@F19@l_l t@F19@g_g_R?@R@W_W? _Rmean_RSA? _Fconvt_Fvis_FSA ct_FSA dt_FSA bct_FSAs

    ?

    ?

    ?

    ?

    And the corresponding contributions to the transposed Jacobian can be easily obtained as

    In the current flow solver,all boundary conditions including viscous wall boundary condition are imposed weakly,so all matrix-vector products involving boundary contributions can be performed in a similar manner as Eqs.(36)or(37),without any special treatment for the incorporation of strong boundary condition.35

    3.Adjoint implementation

    3.1.Basic background of automatic differentiation

    Although conceptually simple and straightforward,manual implementation of procedural components for computing each intermediate term in the above procedures usually implies error-prone derivation,large programming efforts and lengthy development time.A viable technique to address this issue is automatic differentiation,which can automatically generate codes for calculating the required matrix-vector products.AD tools usually offer two different modes of operation:the forward(or tangent)mode and the reverse(or adjoint)mode.AD technique can be implemented by two approaches:source transformation and operator overloading.AD tools that use source transformation technique analyze the original source code and add new statements to compute the derivatives of the original statements.Operator overloading defines a new user-defined type which consists of a real number and its derivative to replace the original real type.The details of AD techniques can be found in Ref.14.

    In this paper,TAPENADE36is chosen as it is free available on the website37and supports Fortran 90 programming language.Tapenade uses source transformation method to generate codes for computing derivatives and supports both tangent mode and reverse mode.Before the application of Tapenade to the residual computation procedure,a simple example is presented to demonstrate the implications of these two modes.

    We consider a vector function F with two input variablesx1,x2

    Fig.1 Fortran 90 code of evaluating

    Fig.2 Differentiated code generated by tangent mode.

    3.2.Implementation of matrix-vector products in tangent and adjoint models

    Fig.3 Differentiated code generated by reverse mode.

    The clear sturctures of the procedures for matrix-vector products(Procedures 2–5)are beneficial to the application of AD tools in a structured and modular manner.Each intermediate term in the these procedures is corresponding to a specific component in the residual computation,so the detailed routines for evaluating these intermediate terms can be easily generated bytheuseofappropriatemodeofAD tothe corresponding component in the residual computation.

    Fig.4 Original code and codes generated by TAPENADE.

    4.Solution of tangent and adjoint models

    In the tangent model,Eq.(23)represents a linearized flow problem,which implies the solution of linear equations.A viable strategy to solve Eq.(23)is using the same method as the one used for the flow equations.22The first-order backward-Euler time integration for the flow equations can be written as

    where Dtrepresents a diagonal matrix that contains local cell volumes divided by local time steps,Wnthe flow variables at time stepnand R the residuals.Linearizing the residuals gives

    this method is illustrated in Fig.5.

    To exploit the above iterative method for the solution of Eq.(23),applying the algorithm of Eq.(40)to Eq.(23)yields

    Fig.5 Multicolor Gauss-Seidel method.

    Fig.6 Multicolor Gauss-Seidel method for flow adjoint equations.

    Accordingly,the solution procedure used for Eq.(41)can be directly applied to Eq.(44).In Eq.(44),the result of the exact Jacobian multiplied by a vector on the right-hand side is computed through the procedures implemented by the forward mode of AD as described in Section 3.Since the same matrix P is used,the convergence of Eq.(44)is guaranteed,provided the flow solution is converged.

    In the adjoint model,the flow adjoint equations given by Eq.(27)also imply the solution of linear equations.In this paper,exact adjoint of the above iterative algorithm,often referred to as duality-preserving iteration21,22,is developed and can be written as

    To solve Eq.(46),multicolor Gauss-Seidel method is also employed.However,due to the transpose operation,the loop over colors is reversed(Fig.6).

    This iterative algorithm guarantees that the convergence rate is identical with that of the tangent model since the transposed matrix PThas the same eigenvalues as the matrix P.Accordingly,the results computed by the tangent model and the adjoint model are consistent in the sense of machine precision through each iteration.

    In addition to the linearized flow equations and the flow adjoint equations given by Eqs.(23)and(27)respectively,the tangent model requires the solution of the mesh tangent problem given by Eq.(20),and the adjoint model requires the solution of the mesh adjoint problem given by Eq.(30).In this paper,linear elasticity analogy method is adopted for mesh deformation.28The mesh is assumed as an elastic solid governed by the equations of linear elasticity which can be written as

    where r represents the stress tensor and f some body force.r is related to the strain tensor e by the constitutive relation

    whereTrrepresents the trace,and k and l represent the Lame′parameters which can be given in terms of Young’s modulusEand Poisson’s ratio m as

    The strain stress e can be expressed in terms of displacements u as

    On the boundaries,the displacements are specified as Dirichlet boundary condition.

    Eq.(47)is discretized by the standard finite element method,and body force f is set to zero.Young’s modulusEcan be taken as either inversely to the element volume or inversely proportional to the distance from the nearest solid boundary and Poisson’s ratio m is set to a constant value ranging between?1.0 and 0.5.40The resulting linear equations,given by Eq.(8),are solved using block ILU(k)preconditioned flexible generalized minimal residual(FGMRES)method.41

    The mesh tangent problem given by Eq.(20)and the mesh adjoint equations given by Eq.(30)are both solved using the same method,since the stiff matrix in Eq.(20)is identical with that in Eq.(8)and the matrix in Eq.(30)is the transposed one.It should be noted that although the current preconditioned FGMRES method used to solve the mesh adjoint equations is not implemented as a duality-preserving iterative algorithm,the global duality between the tangent and adjoint model is preserved,provided convergences to machine precision are achieved for both mesh tangent and adjoint problems,as will be shown in the following section.

    Fig.7 Wing surface mesh and location of specific FFD control point.

    Table 1 Derivative verification.

    5.Verification

    To verify the gradients obtained by the proposed method,a three-step strategy is adopted,as depicted in the following:

    (1)The complex-step method is developed for the entire optimization problem.The complex-step method is an accurate and robust derivative approximation method and has been applied to exact linearizations of complicated real-valued residual operators.42For a realvalued function fexT,if the input becomes a complex value x t ih,where h is a small step size,the Taylor series of the function fex t ihT can be written as

    Fig.8 Pressure coefficient distributions at different spanwise sections for ONERA M6 wing.

    Fig.9 Convergence histories for flow solution and flow adjoint solution.

    Table 3 Computational time of flow adjoint solution and flow solution.

    Fig.10 Surface mesh and FFD box for DLR-F6 wing-body configuration.

    ?

    where Im represents imaginary part.This approximation is second-order accurate with no differencing involved,avoiding the ‘step-size dilemma”.11So this method can provide a very accurate derivative approximation,if a small enough step size is given.The implementation of the complex-step method in Fortran 90 codes is mostly automated with the help of a Python script and a module provided by Martins et al.11The derivative obtained by the complex-step method can be verified using central finite difference.

    (2)The complex-step method is applied to the verification of the implementation of the tangent model.In fact,it has been proven that the complex-step method is equivalent to the tangent model.43This equivalence requires that these two methods should provide identical result for each individual component as well as each iteration within machine precision.Thus,procedural components generated by the forward mode of AD can be first veri-fied with the corresponding parts of the complex-step method and then the results in each iteration are compared to check the correctness of the complete tangent model.

    (3)The adjoint computation is verified by checking the duality between the tangent and adjoint models.Any procedural component for matrix-vector product in the tangent model can be written as

    Fig.11 Pressure coefficient distributions at different spanwise sections for DLR-F6 wing-body configuration.

    Table 4 Optimization result.

    where_x represents input vector and_y output vector.The corresponding procedural component for matrix-vector product in the adjoint model can be written as

    Fig.12 Upper surface pressure coefficient contours of optimized and baseline configurations.

    Fig.13 Comparison of baseline and optimized pressure coefficient distributions at different sections along spanwise direction.

    First,the results of the flow solution are compared with the experimental data45and the results computed by the opensource CFD solver SU2 on the same mesh.The pressure coefficientCpdistributions at different sections along the spanwise direction are shown in Fig.8.The present results nearly coincide with the results of SU2 solver,since the current flow solver uses the identical implementation for convective flux.And the present results also demonstrate good agreement with the experimental data.

    For the veri fication of the derivatives,the finite difference step size is set to 10?6and the complex-step size is set to 10?30.The final derivatives obtained by four methods are shown in Table 1.The derivatives computed by the adjoint model yield agreements of 12 signi ficant figures when compared to the results of the complex-step method and the tangent model,and agreements of 6 significant figures when compared to the results of the finite difference method.It is evident that the obtained derivatives are highly accurate for the gradient based optimization process.The derivatives computed by the complex-step method,the tangent model and the adjoint model in each iteration are shown in Table 2 to indicate the equivalence of the complex-step method and the tangentmodeland theduality-preservingpropertyofthe proposed adjoint implementation.Fig.9 shows the convergence histories for the flow solution and the flow adjoint solution.As expected,the convergences of the flow equations and flow adjoint equations exhibit similar asymptotic rates,since duality-preserving iteration is used.The computational time for a single flow adjoint solution and a single flow solution and the ratio are shown in Table 3.A single flow adjoint computation only costs 7%more time than a single flow solution.This indicates that the proposed method can provide comparable performance to hand-coded implementation,meanwhile avoiding the drawback of tedious and error-prone manual derivation and programming ofdetailed computational procedures.

    6.Optimization results

    Based on the methodology described previously,a gradientbased optimization framework has been developed and applied to aerodynamic design optimization problem of the DLR-F6 wing-body configuration.This optimization problem consists of minimizing the drag coefficient meanwhile holding the lift coefficient and the wing volume not less than the baseline values,which can be formulated as

    Fig.14 Comparison of baseline and optimized airfoil shapes at different sections along spanwise direction.

    Fig.15 Convergence history for optimization problem.

    7.Conclusions

    A systematic methodology for developing efficient and accurate discrete adjoint solver on unstructured meshes has been presented.The application of AD tools in a structured and modular manner avoids tedious and error-prone manual derivation and programming of detailed computational procedures for the adjoint model involved in hand-coded implementation,meanwhile provides comparable efficiency.The dualitypreserving adjoint implementation and iterative algorithm used for the solution of flow adjoint equations guarantee that the resulting gradient is consistent with the one calculated by the tangent model and the complex-step method in the sense of machine precision and highly accurate.Future work will focus on the extension of the proposed approach to sensitivity analysis and aerodynamic shape optimization of incompressible flows.48The development of more effective optimization algorithm for realistic problems,e.g.one-shot method,49will also be considered.

    Acknowledgements

    This study was supported by the Priority Academic Program Development of Jiangsu Higher Education Institutions of China.

    1.Jameson A.Aerodynamic design via control theory.J Sci Comput1988;3(3):233–60.

    2.Anderson WK,Venkatakrishnan V.Aerodynamic design optimization on unstructured grids with a continuous adjoint formulation.Reston:AIAA;1997.Report No.:AIAA-1997-0643.

    3.Castro C,Lozano C,Palacios F,Zuazua E.A systematic continuous adjoint approach to viscous aerodynamic design on unstructured grids.Reston:AIAA;2006.Report No.:AIAA-2006-0051.

    4.Bueno-Orovio A,Castro C,Palacios F,Zuazua E.Continuous adjoint approach for the Spalart-Allmaras model in aerodynamic optimization.Reston:AIAA;2011.Report No.:AIAA-2011-1299.

    5.Zymaris AS,Paradimitriou DI,Giannkoglou KC,Othmer C.Continuous adjoint approach to the Spalart-Allmaras turbulence model for incompressible flows.ComputFluids2009;38(8):1528–38.

    6.Nielsen EJ,Anderson WK.Recent improvements in aerodynamic optimization on unstructured meshes.AIAA J2002;40(6):1155–63.

    7.Elliot J,Peraire J.Practical three-dimensional aerodynamic design and optimization using unstructured meshes.AIAA J1997;35(9):1479–85.

    8.Kim HJ,Sasaki D,Obayashi S,Nakahashi K.Aerodynamic optimization of supersonic transport wing using unstructured adjoint method.AIAA J2001;39(6):1011–20.

    9.Nadarajah SK.The discrete adjoint approach to aerodynamic shape optimization [dissertation].Stanford (USA):Stanford University;2003.

    10.Carpentieri G.An adjoint-based shape-optimization method for aerodynamic design [dissertation].Delft(Netherlands):Delft University of Technology;2009.

    11.Martins JRRA,Sturdza P,Alonso JJ.The complex-step derivative approximation.ACM Trans Math Software2003;29(3):245–62.

    12.Yu W,Blair M.DNAD,a simple tool for automatic differentiation of Fortran codes using dual numbers.Comput Phys Commun2013;184(5):1446–52.

    13.Dwight RP,Brezillon J.Effect of approximations of the discrete adjointon gradient-based optimization.AIAAJ2006;44(12):3022–31.

    14.Griewank A,Walther A.Evaluating derivatives:principles and techniques of algorithmic differentiation.2nd ed.Philadelphia:Society for Industrial and Applied Mathematics;2008.

    15.Giles MB,Ghate D,Duta MC.Using automatic differentiation for adjoint CFD code development.Oxford:Oxford University Computing Laboratory;2005.Report No.:NA-05/25.

    16.Mader CA,Martins JRRA,Alonso JJ,van der Weide E.ADjoint:an approach for the rapid development of discrete adjoint solvers.AIAA J2008;46(4):863–73.

    17.Christakopoulos F,Jones D,Mu¨ller JD.Pseudo-timestepping and verification for automatic differentiation derived CFD codes.Comput Fluids2011;46(1):174–9.

    18.Lyu Z,Kenway GKW,Paige C,Martins JRRA.Automatic differentiation adjoint of the Reynolds-Averaged Navier-Stokes equations with a turbulence model.Reston:AIAA;2013.Report No.:AIAA-2013-2581.

    19.Biava M,Woodgate M,Barakos GN.Fully implicit discreteadjoint methods for rotorcraft applications.AIAA J2016;54(2):735–49.

    20.Mavriplis DJ.Discrete adjoint-based approach for optimization problems on three-dimensional unstructured meshes.AIAA J2007;45(4):740–50.

    21.Dwight RP,Brezillon J.Efficient and robust algorithms for solution of the adjoint compressible Navier-Stokes equations with applications.Int J Numer Meth Fluids2009;60(4):365–89.

    22.Nielsen EJ,Lu J,Park MA,Darmofal DL.An implicit,exact dual adjoint solution method for turbulent flows on unstructured grids.Comput Fluids2004;33(9):1131–55.

    23.Economon TD,Palacios F,Copeland SR,Lukaczyk TW,Alonso JJ.SU2:an open-source suite for multiphysics simulation and design.AIAA J2016;54(3):828–46.

    24.Albring T,Sagebaum M,Gauger NR.Efficient aerodynamic design using the discrete adjoint method in SU2.Reston:AIAA;2016.Report No.:AIAA-2016-3518.

    25.Auvinen MJS.A modular framework for generation and maintenance of adjoint solvers assisted by algorithmic differentiation[dissertation].Helsinki(Finland):Aalto University;2014.

    26.Giles MB,Pierce NA.An introduction to the adjoint approach to design.Flow Turbul Combust2000;65(3):393–415.

    27.Batina JT.Unsteady Euler airfoil solution using unstructured dynamic meshes.AIAA J1990;28(8):1381–8.

    28.Dwight R.Robust mesh deformation using the linear elasticity equations.In:Deconinck H,Dick E,editors.Computational fluid dynamics 2006:proceedings of the fourth international conference on computational fluid dynamics.Berlin:Springer;2009.p.401–6.29.Amoignon O.Adjoint of a median-dual finite-volume scheme:application to transonic aerodynamic shape optimization.Uppsala:Uppsala University;2006.Report No.:Technical Report 2006–013.

    30.Jameson A,Schmidt W,Turkel E.Numerical solution of the Euler equations by finite volume methods using Runge-Kutta timestepping schemes.Reston:AIAA;1981.Report No.:AIAA-1981-1259.

    31.Haselbacher A,Blazek J.Accurate and efficient discretization of Navier-Stokesequationsonmixed grids.AIAAJ2000;38(11):2094–102.

    32.Thomas JL,Diskin B,Nishikawa H.A critical study of agglomerated multigrid methods for diffusion on highly-stretched grids.Comput Fluids2011;41(1):82–93.

    33.Stuck A.An adjoint view on flux consistency and strong wall boundary conditions to the Navier-Stokes equations.J Comput Phys2015;301:247–64.

    34.Spalart P,Allmaras S.A one-equation turbulence model for aerodynamic flows.Reston:AIAA;1992.Report No.:AIAA-1992-0439.

    35.Giles MB,Duta MC,Mu¨ller JD,Pierce NA.Algorithm developments for discrete adjoint methods.AIAA J2003;41(2):198–205.

    36.Hascoet L,Pascual V.The Tapenade automatic differentiation tool:principles,model,and specification.ACM Trans Math Software2013;39(3):1–43.

    37.TAPENADE[Internet].[cited 2016 Jun 4].Available from:http://www-tapenade.inria.fr:8080/tapenade/index.jsp.

    38.Koren B.Defect correction and multigrid for an efficient and accurate computation of airfoil flows.J Comput Phys1988;77(1):183–206.

    39.Sato Y,Hino T,Ohashi K.Parallelization of an unstructured Navier-Stokes solver using a multi-color ordering method for OpenMP.Comput Fluids2013;88:496–509.

    40.Yang Z,Mavriplis DJ.Unstructured dynamic meshes with higherorder time integration schemes for the unsteady Navier-Stokes equations.Reston:AIAA;2005.Report No.:AIAA-2005-1222.

    41.Saad Y.Iterativemethodsforsparselinearsystems.2nd ed.Philadelphia:Society for Industrial and Applied Mathematics;2003.

    42.Nielsen E,Kleb W.Efficient construction of discrete adjoint operators on unstructured grids using complex variables.AIAA J2006;44(4):827–36.

    43.Martins J,Sturdza P,Alonso J.The connection between the complex-step derivative approximation and algorithmic differentiation.Reston:AIAA;2001.Report No.:AIAA-2001-0921.

    44.Sederberg T,Parry S.Free-form deformation of solid geometric models.Comp Graph1986;20(4):151–60.

    45.Schmitt V,Charpin F.Pressure distributions on the ONERA-M6-Wing at transonic Mach number.Paris:AGARD;1979.Report No.:AGARD AR 138.

    46.2nd AIAA CFD Drag Prediction Workshop[Internet].[cited 2016 Jun 4].Availablefrom:https://aiaa-dpw.larc.nasa.gov/Workshop2/workshop2.html.

    47.Gill PE,Murray W,Saunders MA,Wright MH.User’s guide for NPSOL 5.0:a Fortran package for nonlinear programming.California:SOL;1986.Report No.:Technical Report SOL 86–1.

    48.Liu Q,Go′mez F,Pe′rez JM,Theofilis V.Instability and sensitivity analysis of flows using OpenFOAM?.Chin J Aeronaut2016;29(2):316–25.

    49.Gu¨nther S,Gauger NR,Wang Q.Simultaneous single-step oneshot optimization with unsteady PDEs.J Comput Appl Math2016;294:12–22.

    4 July 2016;revised 1 September 2016;accepted 30 November 2016

    Available online 14 February 2017

    *Corresponding author.

    E-mail addresses:gaoyisheng@nuaa.edu.cn(Y.Gao),wyzao@nuaa.edu.cn(Y.Wu),jxia@nuaa.edu.cn(J.Xia).

    Peer review under responsibility of Editorial Committee of CJA.

    久久久久久亚洲精品国产蜜桃av| 色尼玛亚洲综合影院| 99久久精品国产亚洲精品| 亚洲人成伊人成综合网2020| 欧美一级a爱片免费观看看 | 久久香蕉精品热| 男女午夜视频在线观看| 国产午夜精品久久久久久| 亚洲精华国产精华精| 老司机午夜福利在线观看视频| 精品国内亚洲2022精品成人| 午夜两性在线视频| 少妇被粗大的猛进出69影院| www.www免费av| 亚洲男人的天堂狠狠| 无限看片的www在线观看| www.自偷自拍.com| 久久久精品欧美日韩精品| 欧美人与性动交α欧美精品济南到| 国产aⅴ精品一区二区三区波| 免费在线观看日本一区| 亚洲成人久久性| 国产精品免费一区二区三区在线| 丝袜人妻中文字幕| 人人澡人人妻人| 国产视频一区二区在线看| 日本 av在线| 男女之事视频高清在线观看| 成人三级做爰电影| 日韩精品中文字幕看吧| 午夜福利一区二区在线看| 满18在线观看网站| 色综合欧美亚洲国产小说| 搡老熟女国产l中国老女人| 精品电影一区二区在线| 成在线人永久免费视频| 最新在线观看一区二区三区| 欧美日本视频| 91成人精品电影| 美女高潮到喷水免费观看| 欧美色视频一区免费| 黑人欧美特级aaaaaa片| 国产一区二区三区视频了| 欧美激情 高清一区二区三区| 亚洲精华国产精华精| 午夜成年电影在线免费观看| 岛国在线观看网站| 午夜福利一区二区在线看| 亚洲精华国产精华精| 日本在线视频免费播放| 亚洲 欧美 日韩 在线 免费| 19禁男女啪啪无遮挡网站| 亚洲一卡2卡3卡4卡5卡精品中文| 在线国产一区二区在线| 亚洲自拍偷在线| 99国产综合亚洲精品| 日本撒尿小便嘘嘘汇集6| 亚洲国产欧美网| 国产精品久久久久久亚洲av鲁大| 欧美日韩乱码在线| 法律面前人人平等表现在哪些方面| 美女国产高潮福利片在线看| 91麻豆精品激情在线观看国产| 18美女黄网站色大片免费观看| 国产久久久一区二区三区| 精品福利观看| 男女床上黄色一级片免费看| 热99re8久久精品国产| 亚洲av中文字字幕乱码综合 | 十分钟在线观看高清视频www| 好看av亚洲va欧美ⅴa在| 人人妻人人澡欧美一区二区| 性色av乱码一区二区三区2| 日本 欧美在线| 免费在线观看亚洲国产| 一本大道久久a久久精品| 色在线成人网| 免费搜索国产男女视频| √禁漫天堂资源中文www| 婷婷亚洲欧美| 亚洲久久久国产精品| 99精品久久久久人妻精品| 日日夜夜操网爽| 精品国产超薄肉色丝袜足j| 亚洲久久久国产精品| 久久香蕉激情| 搞女人的毛片| 他把我摸到了高潮在线观看| 亚洲成人久久爱视频| 看片在线看免费视频| 久久久久久九九精品二区国产 | 精品熟女少妇八av免费久了| 在线国产一区二区在线| 亚洲第一av免费看| 黄片大片在线免费观看| 一级毛片高清免费大全| 亚洲第一av免费看| 免费人成视频x8x8入口观看| 高潮久久久久久久久久久不卡| 动漫黄色视频在线观看| 国产精品精品国产色婷婷| 无人区码免费观看不卡| www日本在线高清视频| 波多野结衣av一区二区av| 狠狠狠狠99中文字幕| 国产激情久久老熟女| 亚洲精品一卡2卡三卡4卡5卡| 他把我摸到了高潮在线观看| 国产精品美女特级片免费视频播放器 | 亚洲av第一区精品v没综合| 老司机福利观看| 亚洲色图av天堂| 欧美午夜高清在线| 黄色片一级片一级黄色片| 亚洲国产日韩欧美精品在线观看 | 日韩欧美国产在线观看| 在线观看www视频免费| 亚洲国产欧洲综合997久久, | 99re在线观看精品视频| 色精品久久人妻99蜜桃| 波多野结衣巨乳人妻| 午夜免费成人在线视频| 最近最新免费中文字幕在线| 亚洲精品av麻豆狂野| 亚洲精品在线观看二区| 免费观看人在逋| 国产精品亚洲av一区麻豆| 美国免费a级毛片| 搡老岳熟女国产| 色精品久久人妻99蜜桃| 亚洲精品av麻豆狂野| 最好的美女福利视频网| 视频在线观看一区二区三区| 男男h啪啪无遮挡| 亚洲国产精品sss在线观看| 亚洲一码二码三码区别大吗| xxx96com| 最好的美女福利视频网| 视频在线观看一区二区三区| 9191精品国产免费久久| 精品国产美女av久久久久小说| 99在线视频只有这里精品首页| 色播在线永久视频| 18禁国产床啪视频网站| 成年免费大片在线观看| 日本黄色视频三级网站网址| 香蕉丝袜av| 熟女少妇亚洲综合色aaa.| 午夜两性在线视频| 国产亚洲精品久久久久5区| 亚洲国产精品久久男人天堂| 韩国精品一区二区三区| 这个男人来自地球电影免费观看| 亚洲av片天天在线观看| 国产精品久久久久久精品电影 | 巨乳人妻的诱惑在线观看| 这个男人来自地球电影免费观看| 久久久久免费精品人妻一区二区 | 成年免费大片在线观看| 精品一区二区三区视频在线观看免费| 国产精品av久久久久免费| 午夜久久久在线观看| 国产99白浆流出| or卡值多少钱| 国产精品永久免费网站| 999久久久国产精品视频| 亚洲精品中文字幕一二三四区| 丰满人妻熟妇乱又伦精品不卡| 999精品在线视频| 国产精品自产拍在线观看55亚洲| 精品久久蜜臀av无| 久久婷婷成人综合色麻豆| 久久久精品欧美日韩精品| 国产激情久久老熟女| 老司机靠b影院| 亚洲无线在线观看| 一本精品99久久精品77| 村上凉子中文字幕在线| 亚洲精品久久国产高清桃花| 人人妻人人看人人澡| 国产不卡一卡二| 国产色视频综合| 中文资源天堂在线| 男女床上黄色一级片免费看| 国产亚洲欧美精品永久| www.自偷自拍.com| 嫁个100分男人电影在线观看| 亚洲av中文字字幕乱码综合 | 免费在线观看日本一区| 久久精品国产亚洲av香蕉五月| 亚洲五月婷婷丁香| 欧美激情久久久久久爽电影| 久久久国产精品麻豆| 精品久久蜜臀av无| 国产99白浆流出| 91av网站免费观看| 日韩欧美国产在线观看| 精华霜和精华液先用哪个| 欧美成狂野欧美在线观看| 韩国av一区二区三区四区| 少妇被粗大的猛进出69影院| 在线看三级毛片| 亚洲五月色婷婷综合| 国产午夜精品久久久久久| 午夜福利成人在线免费观看| 久久精品人妻少妇| 禁无遮挡网站| 美国免费a级毛片| 欧美黄色片欧美黄色片| 成熟少妇高潮喷水视频| 此物有八面人人有两片| 午夜精品在线福利| 一本大道久久a久久精品| 久久国产精品男人的天堂亚洲| 亚洲av电影在线进入| 精品久久久久久成人av| x7x7x7水蜜桃| 国内精品久久久久精免费| 在线观看免费视频日本深夜| 久久亚洲精品不卡| 午夜福利免费观看在线| 久久精品成人免费网站| 成人三级做爰电影| 99精品在免费线老司机午夜| 国产99白浆流出| 少妇粗大呻吟视频| 久久精品aⅴ一区二区三区四区| or卡值多少钱| 在线看三级毛片| 欧美乱码精品一区二区三区| 久久精品人妻少妇| АⅤ资源中文在线天堂| 真人一进一出gif抽搐免费| 国产高清videossex| 国产黄片美女视频| 国产精品av久久久久免费| 九色国产91popny在线| 午夜影院日韩av| 又大又爽又粗| 国产乱人伦免费视频| 久久久久久久午夜电影| 黑人欧美特级aaaaaa片| 在线永久观看黄色视频| 中出人妻视频一区二区| 女人高潮潮喷娇喘18禁视频| 在线观看日韩欧美| 亚洲三区欧美一区| 一个人观看的视频www高清免费观看 | 国产精品一区二区三区四区久久 | 久久久久亚洲av毛片大全| 麻豆av在线久日| 女人爽到高潮嗷嗷叫在线视频| 亚洲第一青青草原| 欧美中文综合在线视频| 丁香欧美五月| 午夜老司机福利片| 丝袜在线中文字幕| 国产色视频综合| 欧美不卡视频在线免费观看 | 日本撒尿小便嘘嘘汇集6| 精品国产超薄肉色丝袜足j| 满18在线观看网站| 国产免费男女视频| 国产精品日韩av在线免费观看| 久久伊人香网站| 午夜免费成人在线视频| 欧美人与性动交α欧美精品济南到| 国产精品一区二区精品视频观看| 亚洲精品中文字幕一二三四区| 亚洲av中文字字幕乱码综合 | 国产亚洲精品av在线| 亚洲av美国av| 欧美大码av| 国产成人系列免费观看| 国产精品美女特级片免费视频播放器 | 一卡2卡三卡四卡精品乱码亚洲| 欧美一区二区精品小视频在线| 视频在线观看一区二区三区| 欧美日韩精品网址| 欧美日韩亚洲综合一区二区三区_| 怎么达到女性高潮| 国产精品免费一区二区三区在线| 精品日产1卡2卡| 97碰自拍视频| 人人妻人人澡人人看| 精品一区二区三区视频在线观看免费| 母亲3免费完整高清在线观看| 亚洲国产日韩欧美精品在线观看 | 亚洲最大成人中文| av在线天堂中文字幕| 可以在线观看毛片的网站| 黄色女人牲交| 亚洲avbb在线观看| 国产又色又爽无遮挡免费看| 十分钟在线观看高清视频www| 99久久久亚洲精品蜜臀av| 1024视频免费在线观看| 777久久人妻少妇嫩草av网站| 香蕉丝袜av| 精品高清国产在线一区| av有码第一页| 日日摸夜夜添夜夜添小说| 18禁国产床啪视频网站| 制服人妻中文乱码| 无遮挡黄片免费观看| 国产极品粉嫩免费观看在线| 日韩免费av在线播放| 成年人黄色毛片网站| 日本成人三级电影网站| 99久久无色码亚洲精品果冻| 老司机深夜福利视频在线观看| 亚洲久久久国产精品| 亚洲欧洲精品一区二区精品久久久| 亚洲国产精品999在线| 免费在线观看成人毛片| 久久精品人妻少妇| 久久这里只有精品19| 夜夜看夜夜爽夜夜摸| 亚洲黑人精品在线| 搞女人的毛片| 18禁美女被吸乳视频| 日日摸夜夜添夜夜添小说| www.999成人在线观看| 高清在线国产一区| 黄色女人牲交| 欧美成人免费av一区二区三区| 日韩欧美国产一区二区入口| 午夜老司机福利片| 嫩草影视91久久| 一级作爱视频免费观看| 黄色 视频免费看| 99riav亚洲国产免费| 国产精品亚洲美女久久久| 久久久久久久午夜电影| 亚洲av片天天在线观看| 成在线人永久免费视频| 国产精品亚洲美女久久久| 久久久精品欧美日韩精品| 男男h啪啪无遮挡| av有码第一页| 亚洲av成人一区二区三| 久久久久久大精品| 日日摸夜夜添夜夜添小说| 亚洲av成人av| 制服人妻中文乱码| 欧美黑人欧美精品刺激| 亚洲欧美日韩高清在线视频| АⅤ资源中文在线天堂| 国产精品野战在线观看| 琪琪午夜伦伦电影理论片6080| 精品国产乱子伦一区二区三区| 精品乱码久久久久久99久播| 91大片在线观看| 久久精品aⅴ一区二区三区四区| 欧美日韩亚洲国产一区二区在线观看| 久久狼人影院| 午夜久久久在线观看| 午夜a级毛片| 一卡2卡三卡四卡精品乱码亚洲| 欧美在线黄色| 亚洲国产中文字幕在线视频| 午夜福利一区二区在线看| 欧美国产日韩亚洲一区| 亚洲第一青青草原| 免费在线观看日本一区| videosex国产| 欧美日本视频| 搡老妇女老女人老熟妇| 白带黄色成豆腐渣| 亚洲aⅴ乱码一区二区在线播放 | 欧美av亚洲av综合av国产av| 欧美一级毛片孕妇| 婷婷六月久久综合丁香| 国产片内射在线| 国产精品久久久久久精品电影 | 一个人免费在线观看的高清视频| 99热这里只有精品一区 | 日本成人三级电影网站| 青草久久国产| 国产99白浆流出| 后天国语完整版免费观看| 亚洲国产欧美日韩在线播放| 可以在线观看的亚洲视频| 精品电影一区二区在线| 桃色一区二区三区在线观看| 亚洲成人精品中文字幕电影| 色综合欧美亚洲国产小说| 午夜福利欧美成人| 久久伊人香网站| 精品国产美女av久久久久小说| 级片在线观看| 国产精品二区激情视频| 成人欧美大片| 久久中文字幕人妻熟女| 日韩精品中文字幕看吧| 日韩大码丰满熟妇| 少妇粗大呻吟视频| 日本撒尿小便嘘嘘汇集6| 亚洲自拍偷在线| 中出人妻视频一区二区| 黄色女人牲交| 啦啦啦观看免费观看视频高清| 久久精品影院6| 久久国产亚洲av麻豆专区| 国产一区二区三区在线臀色熟女| 9191精品国产免费久久| 最近最新中文字幕大全免费视频| 黄色成人免费大全| 国产精华一区二区三区| 亚洲 国产 在线| 99热6这里只有精品| 少妇粗大呻吟视频| 两人在一起打扑克的视频| 久久欧美精品欧美久久欧美| 一级作爱视频免费观看| 一本综合久久免费| 成人国产综合亚洲| 丝袜美腿诱惑在线| 精品久久久久久久人妻蜜臀av| 一区二区日韩欧美中文字幕| 日本撒尿小便嘘嘘汇集6| 亚洲中文字幕日韩| 变态另类丝袜制服| 美女高潮喷水抽搐中文字幕| 国产伦人伦偷精品视频| 波多野结衣巨乳人妻| 国产av不卡久久| 法律面前人人平等表现在哪些方面| 无遮挡黄片免费观看| 高清毛片免费观看视频网站| 女性被躁到高潮视频| 日韩欧美免费精品| 国产伦在线观看视频一区| 露出奶头的视频| 国内久久婷婷六月综合欲色啪| av在线播放免费不卡| 亚洲欧美精品综合久久99| 成人三级黄色视频| 无人区码免费观看不卡| 18禁观看日本| 午夜福利在线观看吧| 久久国产精品影院| 搡老妇女老女人老熟妇| 国产伦一二天堂av在线观看| 国产精品精品国产色婷婷| 欧美一级毛片孕妇| 天天躁狠狠躁夜夜躁狠狠躁| 三级毛片av免费| 久久香蕉精品热| 久久久久久久午夜电影| 午夜久久久久精精品| 搡老岳熟女国产| 99热6这里只有精品| 不卡av一区二区三区| 一二三四社区在线视频社区8| 校园春色视频在线观看| 日韩成人在线观看一区二区三区| 国产极品粉嫩免费观看在线| 久久久久久免费高清国产稀缺| 欧美日本视频| 国产一级毛片七仙女欲春2 | 午夜亚洲福利在线播放| 精品国产乱子伦一区二区三区| 亚洲国产看品久久| 黄色片一级片一级黄色片| 成人av一区二区三区在线看| 色精品久久人妻99蜜桃| 亚洲精品av麻豆狂野| 免费av毛片视频| 日本撒尿小便嘘嘘汇集6| 麻豆成人av在线观看| 国产私拍福利视频在线观看| 亚洲成a人片在线一区二区| 亚洲中文字幕日韩| 69av精品久久久久久| 国产精品亚洲美女久久久| 黄片小视频在线播放| 午夜老司机福利片| 国产精品综合久久久久久久免费| 久久久久国内视频| 中文亚洲av片在线观看爽| 国产精品久久久久久人妻精品电影| 日日摸夜夜添夜夜添小说| 亚洲精品粉嫩美女一区| 国产精品一区二区免费欧美| 国产精品一区二区三区四区久久 | 亚洲中文字幕一区二区三区有码在线看 | 50天的宝宝边吃奶边哭怎么回事| 亚洲成av片中文字幕在线观看| 我的亚洲天堂| 亚洲激情在线av| 精品久久久久久久久久久久久 | 国产精品免费视频内射| 亚洲国产欧美一区二区综合| 老熟妇乱子伦视频在线观看| 色播亚洲综合网| 老司机在亚洲福利影院| 久久亚洲真实| 手机成人av网站| 国产高清有码在线观看视频 | 亚洲 欧美一区二区三区| 视频区欧美日本亚洲| 中文资源天堂在线| 免费观看人在逋| 搞女人的毛片| 99国产精品一区二区蜜桃av| 国产精品乱码一区二三区的特点| 国产精品自产拍在线观看55亚洲| 99久久综合精品五月天人人| 成人欧美大片| 女性生殖器流出的白浆| 午夜日韩欧美国产| 亚洲中文av在线| 淫妇啪啪啪对白视频| 免费av毛片视频| 国产aⅴ精品一区二区三区波| АⅤ资源中文在线天堂| 在线国产一区二区在线| 天天添夜夜摸| 日韩精品中文字幕看吧| 十八禁人妻一区二区| 黄色 视频免费看| 精品一区二区三区四区五区乱码| 女人高潮潮喷娇喘18禁视频| 在线av久久热| avwww免费| 高清在线国产一区| 天堂√8在线中文| 麻豆一二三区av精品| av在线天堂中文字幕| 天天添夜夜摸| 亚洲午夜理论影院| 叶爱在线成人免费视频播放| 无限看片的www在线观看| 国产成人精品无人区| 亚洲精品一卡2卡三卡4卡5卡| 嫁个100分男人电影在线观看| 中文亚洲av片在线观看爽| 成年人黄色毛片网站| 成人特级黄色片久久久久久久| 青草久久国产| 亚洲成人久久性| 亚洲成人久久爱视频| 91字幕亚洲| 午夜激情福利司机影院| 午夜视频精品福利| 人成视频在线观看免费观看| 搡老熟女国产l中国老女人| 免费观看人在逋| 欧美精品啪啪一区二区三区| 男女视频在线观看网站免费 | 天天一区二区日本电影三级| 亚洲狠狠婷婷综合久久图片| 天堂影院成人在线观看| 精品一区二区三区av网在线观看| 黄色女人牲交| 精品久久久久久久久久免费视频| 亚洲久久久国产精品| 一级毛片高清免费大全| 丝袜美腿诱惑在线| 国产伦在线观看视频一区| 狠狠狠狠99中文字幕| 国产乱人伦免费视频| 午夜免费激情av| 日韩中文字幕欧美一区二区| 中文字幕人妻熟女乱码| 成人国产一区最新在线观看| 成人三级做爰电影| 国产蜜桃级精品一区二区三区| 黄色a级毛片大全视频| 嫩草影院精品99| 亚洲一区中文字幕在线| 大香蕉久久成人网| 亚洲精品在线观看二区| 欧美日韩亚洲国产一区二区在线观看| 色综合亚洲欧美另类图片| 看免费av毛片| 国产精品九九99| 少妇熟女aⅴ在线视频| 18美女黄网站色大片免费观看| 亚洲一区二区三区色噜噜| 99久久精品国产亚洲精品| 亚洲精品久久成人aⅴ小说| 最新美女视频免费是黄的| 日本精品一区二区三区蜜桃| 欧美国产日韩亚洲一区| 日本精品一区二区三区蜜桃| 麻豆一二三区av精品| 51午夜福利影视在线观看| 黄色成人免费大全| 天堂√8在线中文| а√天堂www在线а√下载| 超碰成人久久| 亚洲五月婷婷丁香| 亚洲全国av大片| 桃色一区二区三区在线观看| 国产不卡一卡二| 久久人妻av系列| 欧美激情极品国产一区二区三区| 日本熟妇午夜| 男人操女人黄网站| 2021天堂中文幕一二区在线观 | 日韩免费av在线播放| 精品午夜福利视频在线观看一区| 99精品欧美一区二区三区四区| 香蕉久久夜色| 中亚洲国语对白在线视频| 大型黄色视频在线免费观看| 女人被狂操c到高潮| 宅男免费午夜| 看片在线看免费视频| 欧美日韩乱码在线| 夜夜看夜夜爽夜夜摸| 欧美日韩福利视频一区二区| 亚洲第一av免费看|