# High-order Accurate Solution of Problems in Computational Aerodynamics

The most important part of a numerical simulation program is the module that encodes the physics of the process being simulated. After all, if this module is incorrect or makes invalid assumptions, the results of the entire program will not be physically correct. Programming the physics modules is therefore clearly a task for problem-domain experts with a deep understanding of the physical phenomena being simulated.

The remainder of the simulation program is best written by experts in discretization methods and numerical techniques. A well-designed software toolkit can separate the physics and numerics modules of a simulation program. Using such a toolkit, developers with a strong knowledge of a physical problem but no knowledge of unstructured mesh discretization methods can write accurate, efficient numerical simulation software with comparatively modest effort. A side benefit of such a code is that a properly-written physics package can be used with both structured and unstructured meshes.

We have developed a research code (called the Advanced Numerical Simulation Library [!ANSLib]) that implements such a separation scheme. This solver requires as user input only the core physics of the problem --- physical fluxes, boundary conditions, source terms, and initial conditions. High-order accurate solution interpolation, flux integration, and time advance are done within a generic framework.

The basic infrastructure of this generic solver has been validated for unstructured meshes and high-order (up to fourth-order) accuracy for a variety of problems, including:

- Advection
- Advection-diffusion
- Poisson's equation
- Linear solid mechanics
- Incompressible laminar flow, including heat transfer
- Compressible inviscid flow, with and without shocks
- Compressible laminar flow

As this list suggests, both convective and diffusive terms can be modeled correctly to high-order accuracy.

Recent student theses have focused on applications of this generic solver to problems in computational aerodynamics. Our contributions to the field include:

- Efficient convergence for high-order methods. Two recent PhD students explored Newton-GMRES algorithms for high-order solution to transonic aerodynamic problems. Both matrix-free and matrix-explicit methods were developed. The latter is particularly noteworthy, because the ability to compute the full Jacobian matrix for the flow problem has applications in mesh adaptation, optimization, and accuracy analysis.

- High-order limiters. Many finite-volume schemes use limiters to prevent physical quantities like density and pressure from having overshoots near solution discontinuities, especially shock waves. Existing limiters had two problems for high-order schemes. First, existing approaches to applying a limiter to a high-order scheme still allow overshoots. Second, the way in which the limiter itself is computed degrades accuracy (typically to first order, actually, even for second-order schemes!). We have addressed both of these problems.

- High-order optimization. We have been able to show that our high-order schemes are more efficient in solving flow problems to a given level of accuracy than second-order schemes. Given that, we set out to develop a high-order optimization capability, reasoning that the optimization problem should also be quicker to solve to a given level of accuracy. This project is still ongoing.

The most important short-term goal for the flow solver is to extend it to also solve turbulent flow problems accurately and efficiently.