Target Functional-based Adaptation > Daniel Vollmer > Folie 1 Target Functional-based Adaptation Daniel Vollmer TAU Grid Adaptation Workshop 21 / 22 June 2006, DLR Göttingen
Target Functional-based Adaptation > Daniel Vollmer > Folie 2 Outline The Introduction – or what we are doing now… Our Aim – or where we would rather be… A Plan – or how we intend to get there… Some Examples – or what has already been done… The Future – or where do we go from here…
Target Functional-based Adaptation > Daniel Vollmer > Folie 3 The Introduction What we are doing now The TAU Adaptation consists of two main parts: Figuring out where to refine the mesh (using an indicator) Constructing a new mesh where the regions selected by the indicator are better resolved The current indicators select regions where the gradient of the flow variables (or values computed from them) is large, e.g. shocks, discontinuities, … total pressure loss Does not necessarily converge to the correct (i.e. globally refined) solution, although it works fine in most non-contrived cases
Target Functional-based Adaptation > Daniel Vollmer > Folie 4 Our Aim Where we would rather be Adapt the mesh until it is “accurate enough” What is “accurate enough”? Users are often interested in the aerodynamic coefficients to estimate performance These coefficients are functionals of the flow solution They don’t care whether discontinuities are well-resolved, as long as drag / lift / … are accurate For example, we would like to be able to specify “adapt until the error in drag is smaller than 0.5 drag counts” Not a solution for every problem (e.g. BVI), but appropriate for when functionals of the solution are of interest
Target Functional-based Adaptation > Daniel Vollmer > Folie 5 A Plan How we intend to get there Use the adjoint solution to correlate the local truncation error (due to insufficient mesh resolution) with the error in the target functional Also known as “Dual-Weighted Residual” approach in the Finite- Element (Rannacher) or Discontinuous-Galerkin (Hartmann, Houston) realm Has been popularized in the Finite-Volume context by Venditti & Darmofal Only changes the indicator, the TAU Adaptation constructs the refined meshes exactly as it did before
Target Functional-based Adaptation > Daniel Vollmer > Folie 6 A Plan How we intend to get there Need two additional bits of information Adjoint solution, computed based on the flow solution and the given target functional Tells us where the flow solution influences the functional An estimate of the mesh-induced error (residual) Tells us where a finer mesh would improve the flow solution Multiply the two together to get an idea where a finer mesh is needed to improve the accuracy of the target functional The above is an “intuitive” explanation, but there is real maths behind it
Target Functional-based Adaptation > Daniel Vollmer > Folie 7 A Plan How we intend to get there We can compute the adjoint solution with TAU’s adjoint module But what about the mesh-induced error? Difficult problem for Finite Volume methods FE / DG can simply increase the order of approximation to compute a non-zero residual from a lower order solution Finite Volume methods can increase the order, too – by halving the mesh spacing h Globally refine the original mesh Interpolate the original (converged) flow solution onto it Evaluate the residual Interpolate residuals back to the original mesh
Target Functional-based Adaptation > Daniel Vollmer > Folie 8 A Plan How we intend to get there Initial GridFlow Solution Adaptation Adapted Grid
Target Functional-based Adaptation > Daniel Vollmer > Folie 9 A Plan How we intend to get there TAU Adjoint Adjoint Solution Globally Refined Grid TAU Residual Fine Residual Adaptation Residual Adaptation Initial GridFlow Solution Adaptation Adapted Grid
Target Functional-based Adaptation > Daniel Vollmer > Folie 10 Some Examples What has already been done… Tested a lot of the ideas in the structured FLOWer code Is less complicated Adjoint solver was working Implemented the process in a TAU development version Relies on available TAU functionality, such as Continuous Adjoint Solver for Euler problems (M. Widhalm, N. Gauger) Discrete Adjoint Solver for Navier-Stokes problems (R. Dwight) (Modified) Adaptation Module for global (de-)refinement Currently, the indicator is computed with an external Python script that processes TAU restart-files of the adjoint solution and the residual
Target Functional-based Adaptation > Daniel Vollmer > Folie 11 Some Examples What has already been done… Example: NACA0012, Euler, M=1.5, α=1.0°, target functional = pressure at tip
Target Functional-based Adaptation > Daniel Vollmer > Folie 12 Some Examples What has already been done… Example: NACA0012, Euler, M=1.5, α=1.0°, target functional = pressure at tip
Target Functional-based Adaptation > Daniel Vollmer > Folie 13 Some Examples What has already been done… Example: NACA0012, Euler, M=0.85, α=2.0°, target functional = lift
Target Functional-based Adaptation > Daniel Vollmer > Folie 14 Some Examples What has already been done… Example: NACA0012, Euler, M=0.85, α=2.0°, target functional = lift Adapted 4 times
Target Functional-based Adaptation > Daniel Vollmer > Folie 15 Some Examples What has already been done… Example: RAE2822, NS/SAE, M=0.73, α=2.76°, target functional = drag
Target Functional-based Adaptation > Daniel Vollmer > Folie 16 Some Examples What has already been done… Example: RAE2822, NS/SAE, M=0.73, α=2.76°, target functional = drag
Target Functional-based Adaptation > Daniel Vollmer > Folie 17 Some Examples What has already been done… Example: RAE2822, NS/SAE, M=0.73, α=2.76°, target functional = drag
Target Functional-based Adaptation > Daniel Vollmer > Folie 18 The Future Where do we go from here… Currently, a given percentage of elements is added Want to refine all edges exceeding a certain threshold Some code for this is already there Determine a good threshold to use for the edges, so that the global error in the target functional is smaller than some prescribed maximum More testing on selected test-cases Convergence to the correct (globally refined) solution? Comparison to normal adaptation Accuracy in the target functional
Target Functional-based Adaptation > Daniel Vollmer > Folie 19 The Future Where do we go from here… Seek an alternative to the residual computation on the fine mesh Global (de-)refinement is expensive, especially on large meshes Makes the process complicated and cumbersome Globally Refined Grid TAU Residual Fine Residual Adaptation Residual Adaptation Flow Solution
Target Functional-based Adaptation > Daniel Vollmer > Folie 20 The Future Where do we go from here… Seek an alternative to the residual computation on the fine mesh Global (de-)refinement is expensive, especially on large meshes Makes the process complicated and cumbersome Globally Refined Grid TAU Residual Fine Residual Adaptation Residual Adaptation Flow Solution ??????? Residual Flow Solution
Target Functional-based Adaptation > Daniel Vollmer > Folie 21 The Future Where do we go from here… Try to streamline / simplify the process Integrate the changes back into Mainline-TAU... Give it to users Questions?