Code Verification and Solution Verification framework in pin-resolved neutron transport code MPACT. (1st December 2022) - Wang, Jipu; Martin, William R.; Downar, Thomas J.; Kochunas, Brendan; Andrews, Nathan C.; Gilkey, Lindsay; Walker, Erik D.; Collins, Benjamin S.; Pilch, Martin
Abstract: Program verification in scientific computing encompasses the application of formal and mathematical techniques to a scientific computing code for its credibility, accuracy, and validity. Code Verification identifies bugs and performance issues in the software development stage. Solution Verification assesses the applicability of the code and the accuracy of the solution to problems of interest. Both activities utilize application cases and quantify the error against prescribed acceptance criteria. However, simply executing more application cases does not guarantee stronger or more comprehensive credibility. In this work, we establish a verification framework that involves Code Verification and Solution Verification, both of which work together such that the overarching goal of "converge to the correct answer for the intended application" can be reasonably inferred. The application of such a verification framework is demonstrated using the pin-resolved neutron transport code MPACT, where standard unit tests and regression tests are covered, and where the Method of Exact Solutions and the Method of Manufactured Solutions are successfully used. Additionally, the applicability of Method of Manufactured Solutions is extended to the OECD/NEA C5G7 benchmark problems of practical material and geometric configurations. Solution Verification activities are demonstrated on a practical hierarchy of application models of increasing complexity ranging from 2D pin cell problems to 3D assembly problems. The convergence behavior and rate of convergence with respect to each individual variable are studied and provided. This framework can be adapted broadly to other fields involving scientific computing codes.