Previous work by the authors has demonstrated a high-order fully-automated output-error based mesh adaptation method suitable for solving the Reynolds-Averaged Navier-Stokes equations. The high-order of accuracy is achieved with a discontinuous Galerkin discretization. While the adaptation method has proven to provide significant reduction in computational cost relative to second-order methods, the authors are currently exploring alternate high-order finite element discretizations to further reduce the computational cost. However, the previously developed software framework is not suitable for all discretizations of interest. Hence, a new software framework is being developed with enhanced maintainability and flexibility relative to the previous framework. This paper focuses on strategies employed to accelerate the development of the new software framework. A software development environment that promotes a verification driven process for software development is presented. The development environment encourages developers to incorporate the verification principles of Verification and Validation as part of the software development process to promote maintainability and collaboration. The software development is further accelerated through the use of automatic differentiation, which is used here to automatically compute the linearization of a mathematical model. This paper outlines an implementation of automatic differentiation with minimal computational overhead relative to manually written linearizations.
6 February 2015
A Verification Driven Process for Rapid Development of CFD Software
Marshall Galbraith, PhD
Dept. of Aeronautics and Astronautics