Search NASA⌕ Search

SEARCH · Search NASA

Results for “Test Driven Development”

Search indexed NASA NTRS and DOE OSTI research on propulsion, heat transfer, battery materials and energy systems. Follow report and document links to the original sources.

Quote a phrase for an exact phrase match. Source license links do not imply unrestricted reuse.

At least 19 records

User input verification and test driven development in the NJOY21 nuclear data processing code

Before physically-meaningful data can be used in nuclear simulation codes, the data must be interpreted and manipulated by a nuclear data processing code so as to extract the relevant quantities (e.g. cross sections and angular distributions). Perhaps the most popular and widely-trusted of these processing codes is NJOY, which has been developed and improved over the course of 10 major releases since its creation at Los Alamos National Laboratory in the mid-1970’s. The current phase of NJOY development is the creation of NJOY21, which will be a vast improvement from its predecessor, NJOY2016. Designed to be fast, intuitive, accessible, and capable of handling both established and modern formats of nuclear data, NJOY21 will address many issues that many NJOY users face, while remaining functional for those who prefer the existing format. Although early in its development, NJOY21 is quickly providing input validation to check user input. By providing rapid and helpful responses to users while writing input files, NJOY21 will prove to be more intuitive and easy to use than any of its predecessors. Furthermore, during its development, NJOY21 is subject to regular testing, such that its test coverage must strictly increase with the addition of any production code. This thorough testing will allow developers and NJOY users to establish confidence in NJOY21 as it gains functionality. This document serves as a discussion regarding the current state input checking and testing practices of NJOY21.

73 NUCLEAR PHYSICS AND RADIATION PHYSICS↗

kynema-fmb [SWR-23-07]

Kynema-FMB (FKA: Kynema) is an open-source performance portable flexible multibody (FMB) dynamics solver designed for time-domain simulations. While originally tailored for wind turbine structural dynamics, the formulation and implementation are those of a general flexible-multidbody dynamics solver that can readily be applied to a wide range of systems. Kynema was designed with a narrow focus, namely to provide a lightweight, fast, accurate FMD solver for coupling to computational-fluid-dynamics (CFD) codes, especially the CFD codes in the Kynema suite, for fluid-structure-interaction (FSI) simulations. Kynema-FMB is equipped to model systems that can be represented as a collection of beams and rigid bodies that are connected through constraints. Degrees of freedom are defined in the inertial/global frame of reference and include displacements and rotations (formally as rotation matrices, but stored as quaternions). The underlying formulation is built on a Lie-group time integrator designed for index-3 differential-algebraic equations, which is second-order accurate in time (Bruls et al., 2012). Beam models are based on geometrically exact beam theory and are discretized as high-order spectral finite elements similar to those in BeamDyn (Wang et al., 2017). The governing equations for a FMD system like a wind turbine constitute a highly nonlinear system of constrained partial-differential equations. Kynema-FMB uses analytical Jacobians in the nonlinear-system solves in each time step. Linear systems use sparse storage and several third-party sparse-linear-system solvers are enabled. Ill conditioning of linear systems is mitigated with preconditioning described in Bottasso et al, 2008. Kynema-FMB is integrated with a simple open-source controller (ROSCO). There is an application programming interface (API) for coupling to geometry-resolved CFD (like that in Sharma et al., 2023) and actuator-force CFD (like that in Kuhn et al., 2025). In the latter, for actuator-line models, Kynema-FMB includes an internal blade-element solver that depends on user-provided lookup tables for coefficients of lift and drag, i.e., aerodynamic polars. Kynema-FMB is written in C++ and leverages Kokkos and Kokkos-Kernels (KokkosEcosystem) as its performance portability layer enabling simulations on both CPU and GPU systems. The repository is equipped with extensive automated testing at the unit and regression/system levels. The following describes the high-level development objectives conceived for Kynema: *Kynema will follow modern software development best practices, including test-driven development (TDD), version control, hierarchical automated testing, and continuous integration (CI) for a robust development environment. *The core data structures are memory efficient and enable vectorization and parallelization at multiple levels. *Data structures are data-oriented to exploit methods for accelerated computing including high utilization of chip resources (e.g., single instruction multiple data (SIMD) instruction sets) and parallelization using GP-GPUs. *The computational algorithms incorporate robust open-source libraries for mathematical operations, resource allocation, and data management. *The API design considers multiple stakeholder needs and ensure integration with existing and future ecosystems for data science, machine learning, and AI. *Kynema-FMB is written in modern C++ and leverages Kokkos as its performance-portability library with inspiration from the kynema stack.

Sprague, MichaelA.↗

Event-driven readout development: testing of the EDWARD65P1 chip with integrated event generators

Building on a prototype readout integrated circuit for segmented silicon sensors with the EDWARD event-driven readout architecture, the front-end in each pixel was replaced by a hardware generator to verify readout performance, ensuring no data loss, consistent priority handling, and speed verification. Here, this generator produces Poisson-distributed readout requests with individually tunable rates per pixel via a digitally controlled oscillator. The resulting EDWARD65P1 test ASIC is a 32×32 pixel matrix with a 100 μm pitch, equipped with digital event generators simulating radiation hits at user-defined rates. Test results for this new design are presented.

47 OTHER INSTRUMENTATION↗

Agile Acceleration of LLVM Flang Support for Fortran 2018 Parallel Programming

The LLVM Flang compiler ("Flang") is currently Fortran 95 compliant, and the frontend can parse Fortran 2018. However, Flang does not have a comprehensive 2018 test suite and does not fully implement the static semantics of the 2018 standard. We are investigating whether agile software development techniques, such as pair programming and test-driven development (TDD), can help Flang to rapidly progress to Fortran 2018 compliance. Because of the paramount importance of parallelism in high-performance computing, we are focusing on Fortran’s parallel features, commonly denoted “Coarray Fortran.” We are developing what we believe are the first exhaustive, open-source tests for the static semantics of Fortran 2018 parallel features, and contributing them to the LLVM project. A related effort involves writing runtime tests for parallel 2018 features and supporting those tests by developing a new parallel runtime library: the CoArray Fortran Framework of Efficient Interfaces to Network Environments (Caffeine).

Rasmussen, Katherine↗

DCA++: A software framework to solve correlated electron problems with modern quantum cluster methods

We present the first open release of the DCA++ project, a high-performance research software framework to solve quantum many-body problems with cutting edge quantum cluster algorithms. DCA++ implements the dynamical cluster approximation (DCA) and its DCA extension with a continuous self-energy. The algorithms capture nonlocal correlations in strongly correlated electron systems, thereby giving insight into high-$T_c$ superconductivity. The code’s scalability allows efficient usage of systems at all scales, from workstations to leadership computers. With regard to the increasing heterogeneity of modern computing machines, DCA++ provides portable performance on conventional and emerging new architectures, such as hybrid CPU–GPU, sustaining multiple petaflops on ORNL’s Titan and CSCS’ Piz Daint supercomputers. Moreover, we show how sustainable and scalable development of the code base has been achieved by adopting standard techniques of the software industry. These include employing a distributed version control system, applying test-driven development and following continuous integration.

97 MATHEMATICS AND COMPUTING↗

Port scanner and Testing Suite

This project addresses the challenge of identifying and managing open network ports across physical and virtual hosts. The current form of verifying ports in use required manually searching individual ports - a process that was both time- consuming and a potential bottleneck for deployment timelines. To resolve this, an automated port scanning tool was developed in Python. The tool supports simultaneous multiple port scans. To ensure functionality and long-term maintainability, a comprehensive testing suite was implemented using Python’s unittest framework. Edge cases, including valid port numbers, reversed ranges, and closed ports, were explicitly tested to ensure robust handling of real-world scenarios. The resulting tool reduces the time required to verify port security across a network, supporting both targeted and host checks and broader Classless Inter-Domain Routing (CIDR) -based network scans. This work demonstrates the value of automation and test-driven development in strengthening network security practices, and provides a foundation for future enhancements.

Rivera, Linda [Fermilab]↗

Data-Driven Understanding of Low-to-Moderate Income Customers’ Adoption and Financial Qualification in Community Solar (Final Technical Report)

When Solstice began working in the community solar industry, it quickly became clear that there was a wide disparity along race and class lines in terms of what kind of household traditional solar offerings benefited. Solstice is an organization that aligns itself to the principles of a Just Transition, or the concept that a transition to a green economy should benefit and prioritize historically marginalized groups of people. Given that low-income communities are disproportionately burdened by our current polluting fossil fuel economy, Solstice set out to investigate the root causes of the exclusion of low to moderate income (LMI) households in the community solar market. As we worked more and more with financiers, developers, and LMI households, we recognized that significant barriers to entry in a developer-owned project were credit threshold requirements. A FICO score of 750 and higher discriminates against LMI households that are not financially stable enough to take on multiple lines of credit (or who may not have been deemed credit worthy enough to access a line of credit) yet who may have been reliable utility customers. As Solstice began looking further into preliminary data and speaking to community-based organizations (CBOs) that serve LMI households, we found our hypothesis to be worth investigating; there was indeed a subset of LMI households with poor FICO scores (or no FICO score at all) that had perfect bill payment history. Though initially Solstice was intent on gathering a body of data to prove or disprove this hypothesis, we were also concerned that all this proof of a financially stable and reliable customer was not being incorporated into FICO, and wondered if such a score would be possible. After preliminary research into the existence of alternative scores, Solstice realized that many mission-driven lending institutions rely on alternative metrics that are formulated for their specific industry. However, we also realized that community solar did not have an alternative credit underwriting mechanism, though there was great need from solar financiers for one. We anticipated that the creation of an EnergyScore would contribute to financiers’ need to qualify more people, as these entities are desperately looking for ways to lower the cost of customer acquisition. FICO turns away nearly 50% of potential customers (according to our own acquisition experience), and much of the community solar industry is realizing that FICO is not the perfect qualifying mechanism. Additionally, with a grounding in energy justice, just transitions, and climate justice, Solstice recognizes the need for a solution that addresses a more urgent need for LMI households to access renewable energy savings and relieve energy burdens. With funding from the Department of Energy, we gathered the data necessary to build the EnergyScore, reached out to mission-driven developers willing to test the metric, and secured several demonstration projects to pilot the EnergyScore. After acquiring customers for these demo projects using the EnergyScore, we will be continuously collecting customer payment behavior data. Though it goes beyond the scope of this project, we plan to disseminate this de-identified data with the wider community solar industry, which includes not only financiers and developers, but other mission-driven nonprofits, solar cooperatives, community-based organizations, environmental justice activists, and academics. While we intend to disprove the notion that LMI households cannot be included in projects without acutely increasing the risk to project finances, we also hope the data can be used to negotiate better pricing of systems and terms of ownership for community groups seeking to build inclusive projects.

14 SOLAR ENERGY↗

Fast Reactor Methods Development Plan

Fast reactor design and safety analysis methods (computer codes) have been under development for approximately sixty years. During the first forty years, code development was driven by the immediate needs of operational facilities such as Experimental Breeder Reactors I and II and the Fast Flux Test Facility. Development was further driven by programmatic needs to support advanced reactor programs such as the Clinch River Breeder Reactor Project and the Advanced Liquid Metal Reactor Program. By the early 1990s, design and safety analysis codes had been well established to addressed the unique characteristics of fast reactors. During the subsequent twenty years, however, development was nearly stagnant as a result of U.S. Government policy changes that abruptly canceled nearly all of the fast reactor research in the United States. As a result, the state of fast reactor design and safety analysis methods has deteriorated.

22 GENERAL STUDIES OF NUCLEAR REACTORS↗

Deploy Nalu/Kokkos algorithmic infrastructure with performance benchmarking.

The former Nalu interior heterogeneous algorithm design, which was originally designed to manage matrix assembly operations over all elemental topology types, has been modified to operate over homogeneous collections of mesh entities. This newly templated kernel design allows for removal of workset variable resize operations that were formerly required at each loop over a Sierra ToolKit (STK) bucket (nominally, 512 entities in size). Extensive usage of the Standard Template Library (STL) std::vector has been removed in favor of intrinsic Kokkos memory views. In this milestone effort, the transition to Kokkos as the underlying infrastructure to support performance and portability on many-core architectures has been deployed for key matrix algorithmic kernels. A unit-test driven design effort has developed a homogeneous entity algorithm that employs a team-based thread parallelism construct. The STK Single Instruction Multiple Data (SIMD) infrastructure is used to interleave data for improved vectorization. The collective algorithm design, which allows for concurrent threading and SIMD management, has been deployed for the core low-Mach element- based algorithm. Several tests to ascertain SIMD performance on Intel KNL and Haswell architectures have been carried out. The performance test matrix includes evaluation of both low- and higher-order methods. The higher-order low-Mach methodology builds on polynomial promotion of the core low-order control volume nite element method (CVFEM). Performance testing of the Kokkos-view/SIMD design indicates low-order matrix assembly kernel speed-up ranging between two and four times depending on mesh loading and node count. Better speedups are observed for higher-order meshes (currently only P=2 has been tested) especially on KNL. The increased workload per element on higher-order meshes bene ts from the wide SIMD width on KNL machines. Combining multiple threads with SIMD on KNL achieves a 4.6x speedup over the baseline, with assembly timings faster than that observed on Haswell architecture. The computational workload of higher-order meshes, therefore, seems ideally suited for the many-core architecture and justi es further exploration of higher-order on NGP platforms. A Trilinos/Tpetra-based multi-threaded GMRES preconditioned by symmetric Gauss Seidel (SGS) represents the core solver infrastructure for the low-Mach advection/diffusion implicit solves. The threaded solver stack has been tested on small problems on NREL's Peregrine system using the newly developed and deployed Kokkos-view/SIMD kernels. fforts are underway to deploy the Tpetra-based solver stack on NERSC Cori system to benchmark its performance at scale on KNL machines.

97 MATHEMATICS AND COMPUTING↗

Real-time gross actinide monitoring in extreme (10 6 :1) beta-gamma background fluid streams using mini-ATMFDs

Real-time, trace alpha activity monitoring in extreme mixed radiation fields is a well-known challenge in fission product-rich streams containing mixtures of beta-gamma-alpha radiation-emitting isotopes, arising due to the extreme 10 6 :1 ratio of background beta-gamma vs. alpha radiation activity levels. This paper presents results from a novel approach to addressing this challenge, based on Tensioned Metastable Fluid Detector (TMFD) sensing technology. An acoustically driven technique was developed and tested at Purdue University (using dissolved Rn-Po and U-chain alpha emitters), and validated (with dissolved Pu) at Savannah River National Laboratory for real-time monitoring of alpha activity in the 100–10,000 dpm/mL range.

Environmental Monitoring↗

Greedy emulators for nuclear two-body scattering

Applications of reduced basis method emulators are increasing in low-energy nuclear physics because they enable fast and accurate sampling of high-fidelity calculations, enabling robust uncertainty quantification. Here, in this paper, we develop, implement, and test two model-driven emulators based on the (Petrov-)Galerkin projection using the prototypical test case of two-body scattering with the Minnesota potential and a more realistic local chiral potential. The high-fidelity scattering equations are solved with the matrix Numerov method, a reformulation of the popular Numerov recurrence relation for solving special second-order differential equations as a linear system of coupled equations. A novel error estimator based on reduced-space residuals is applied to an active learning approach (a greedy algorithm) to choosing training samples (“snapshots”) for the emulator and contrasted with a proper orthogonal decomposition (POD) approach. Both approaches allow for computationally efficient offline-online decompositions, but the greedy approach requires many fewer snapshot calculations. These developments set the groundwork for emulating scattering observables based on chiral nucleon-nucleon and three-nucleon interactions and optical models, where computational speed-ups are necessary for Bayesian uncertainty quantification. Our emulators and error estimators are widely applicable to linear systems.

Bayesian methods↗

Creep and Creep Fracture Modeling with Surrogate Creep Models and the Extended Finite Element Method

Alloy components in advanced nuclear reactors will be subjected to environmental conditions that could include high temperatures, irradiation, and exposure to corrosive salts. These conditions could lead to the formation of crack-like defects, which could grow over time in a mechanism known as creep crack growth (CCG). Predicting growth rates of these defects is important for assessing the safe operating life of advanced reactors. This project documents progress toward developing and testing next-generation data-driven constitutive models for deformation creep. It also documents the application of the extended finite element method in conjunction with surrogate creep models to predict CCG parameters under a variety of conditions. These important incremental developments contribute to the longer-term objective of developing microstructure-aware constitutive models that can be used for predicting creep deformation and CCG at the component scale with improved accuracy.

36 MATERIALS SCIENCE↗

Retention in porous layer pillar array planar separation platforms

Here, this work presents the retention capabilities and surface area enhancement of highly ordered, high-aspect-ratio, open-platform, two-dimensional (2D) pillar arrays when coated with a thin layer of porous silicon oxide (PSO). Photolithographically prepared pillar arrays were coated with 50–250 nm of PSO via plasma-enhanced chemical vapor deposition and then functionalized with either octadecyltrichlorosilane or n-butyldimethylchlorosilane. Theoretical calculations indicate that a 50 nm layer of PSO increases the surface area of a pillar nearly 120-fold. Retention capabilities were tested by observing capillary-action-driven development under various conditions, as well as by running one-dimensional separations on varying thicknesses of PSO. Increasing the thickness of PSO on an array clearly resulted in greater retention of the analyte(s) in question in both experiments. In culmination, a two-dimensional separation of fluorescently derivatized amines was performed to further demonstrate the capabilities of these fabricated platforms.

36 MATERIALS SCIENCE↗