Singe Library Review: XCAP Review Report
Singe is a computational library for simulating thermonuclear reactions written in C++14. It was inspired by the earlier Singe library, developed by Joann Campbell. From the beginning of the Singe project, the goal has been to create a library that provides the necessary functionality, runs efficiently, and is flexible enough to connect to a variety of multi-physics host codes. Such a library allows subject-matter experts to focus on development within the library, while library staff can support host-code staff in integrating Singe into their multi-physics codes. A common library used across multiple multi-physics codes allows those subject-matter experts to roll out new features to all host codes simultaneously, and eases the process of code-to-code comparison between codes that are leveraging the same physics in different ways. The Singe effort was established by Joann Campbell, who provided significant guidance on the goals, requirements, and philosophy of the library. It has been developed by Brendan K. Krueger, CJ Solomon, Jesse Canfield, and Terry Adams, with computer science support from Tyler Reddy and Karen Tsai. Discussions with multiple potential stakeholders have been critical to the planning of such a cross-cutting project, including representatives from multiple host codes and Brian Haines who helped define usage and needs for the inertial confinement fusion (ICF) program. This document is based on the XCAP review process. It is an updated version of the initial document distributed to the reviewers, memo XCP-2:21-005. We want to acknowledge the time and effort of the reviewers who participated in this process: Philipp Edelmann, Alan Harrison, Christopher Malone, Edward Norris, Ryosuke Park, Galen Shipman, CJ Solomon, and any others who may have contributed to the feedback that was provided to us.