Spinnaker is a high-performance computational fluid dynamics (CFD) code developed as part of the Advanced Simulation Initiative for Nonproliferation Applications (ASINA). This report documents the state of software quality assurance (SQA) within the Spinnaker code as of the end of FY 2023. The Spinnaker code base has had nearly 20 individual contributors over the span of its 2-year existence, during which a holistic quality code development strategy has been developed and implemented. This strategy includes deployment of version control and a continuous integration (CI) system of extensive unit testing, regression testing, and code reviews before changes being accepted into the main code repository. The unit testing methodology involves low-level, functional kernels tested individually, and approximately 90% of the code is covered under these tests. Regression testing is the ability of the code to integrate all elements into a simulation and reproduce expected results, enabling the remainder of the code components not covered under the unit test suite (e.g., driver-level code) to be fully tested. The CI infrastructure deploys code changes in real-time, giving feedback to developers and code reviewers on code correctness, test coverage, preliminary regression, portability to GPU architectures, and static analysis. More extensive regression testing is automated on a nightly and weekly basis. These tests check the results of larger simulations and additional simulations beyond the regressions used for initial correctness assessment during code changes is.A-1
APPENDIX A. LIST OF SPINNAKER REGRESSION TESTSA list of all regression tests is provided below: 1. Shock tube problem. Description: Sod shock tube problem. Mesh: quad mesh with two blocks. Initial conditions: uniform Constant on each block. Boundary conditions: Free-Slip and Isothermal No-Slip. Numerical method: Entropy viscosity method. Linear Algebra Type: Tpetra. Temporal integrator: Backward Euler. Coordinate type: Cartesian 2. Supersonic flow over a forward-facing step. Description: Mach 3 flow over a forward-facing step. Mesh: quad mesh and tri mesh. Initial conditions: uniform Constant. Boundary conditions: Free-Slip, Farfield and Dirichlet. Numerical method: Entropy viscosity method. Linear Algebra Type: Tpetra. Temporal integrator: SDIRK 5 Stage 4th order. Coordinate type: Cartesian 3. Supersonic flow over a circle. Description: Mach 5 flow over a circle in a circular computational domain. Mesh: quad mesh and tri mesh. Initial conditions: uniform Constant. Boundary conditions: Farfield and Free Slip. Numerical method: Entropy viscosity method. Linear Algebra Type: Tpetra. Temporal integrator: SDIRK 2 Stage 2nd order. Coordinate type: Cartesian 4. Supersonic flow over a square. Description: Mach 5 flow over a square in a circular computational domain. Mesh: quad mesh and tri mesh. Initial conditions: uniform Constant. Boundary conditions: Farfield and Free Slip. Numerical method: Entropy viscosity...