This paper outlines the implementation and verification of the negative Spalart-Allmaras turbulence model into the SENSEI CFD code. The SA-neg turbulence model is implemented in a flexible, object-oriented framework where additional turbulence models can be easily added. In addition to outlining the new turbulence modeling framework in SENSEI, an overview of the other general improvements to SENSEI is provided. The results for four 2D test cases are compared to results from CFL3D and FUN3D to verify that the turbulence models are implemented properly. Several differences in the results from SENSEI, CFL3D, and FUN3D are identified and are attributed to differences in the implementation and discretization order of the boundary conditions as well as the order of discretization of the turbulence model. When a solid surface is located near or intersects an inflow or outflow boundary, higher order boundary conditions should be used to limit their effect on the forces on the surface. When the turbulence equations are discretized using second order spatial accuracy, the edge of the eddy viscosity profile seems to be sharper than when a first order discretization is used. However, the discretization order of the turbulence equation does not have a significant impact on output quantities of interest, such as pressure and viscous drag, for the cases studied.
Directive-based programming OpenACC Fortran Finite-difference method a b s t r a c t Directive-based programming of graphics processing units (GPUs) has recently appeared as a viable alternative to using specialized low-level languages such as CUDA C and OpenCL for general-purpose GPU programming. This technique, which uses ''directive'' or ''pragma'' statements to annotate source codes written in traditional high-level languages, is designed to permit a unified code base to serve multiple computational platforms. In this work we analyze the popular OpenACC programming standard, as implemented by the PGI compiler suite, in order to evaluate its utility and performance potential in computational fluid dynamics (CFD) applications. We examine the process of applying the OpenACC Fortran API to a test CFD code that serves as a proxy for a full-scale research code developed at Virginia Tech; this test code is used to asses the performance improvements attainable for our CFD algorithm on common GPU platforms, as well as to determine the modifications that must be made to the original source code in order to run efficiently on the GPU. Performance is measured on several recent GPU architectures from NVIDIA and AMD (using both double and single precision arithmetic) and the accelerator code is benchmarked against a multithreaded CPU version constructed from the same Fortran source code using OpenMP directives. A single NVIDIA Kepler GPU card is found to perform approximately 20Â faster than a single CPU core and more than 2Â faster than a 16-core Xeon server. An analysis of optimization techniques for OpenACC reveals cases in which manual intervention by the programmer can improve accelerator performance by up to 30% over the default compiler heuristics, although these optimizations are relevant only for specific platforms. Additionally, the use of multiple accelerators with OpenACC is investigated, including an experimental high-level interface for multi-GPU programming that automates scheduling tasks across multiple devices. While the overall performance of the OpenACC code is found to be satisfactory, we also observe some significant limitations and restrictions imposed by the OpenACC API regarding certain useful features of modern Fortran (2003/8); these are sufficient for us to conclude that it would not be practical to apply OpenACC to our full research code at this time due to the amount of refactoring required.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.