Engineering Papers⌕ Search

SEARCH · Engineering Papers

Results for “Data refactoring”

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.

45 records · Page 3

Evaluation of Portable Programming Models to Accelerate LArTPC Detector Simulations

The Liquid Argon Time Projection Chamber (LArTPC) technology is widely used in high energy physics experiments, including the upcoming Deep Underground Neutrino Experiment (DUNE). Accurately simulating LArTPC detector responses is essential for analysis algorithm development and physics model interpretations. Accurate LArTPC detector response simulations are computationally demanding, and can become a bottleneck in the analysis workflow. Compute devices such as General-Purpose Graphics Processing Units (GPGPUs) have the potential to substantially accelerate simulations compared to traditional CPU-only processing. The software development that requires often carries the cost of specialized code refactorization and porting to match the target hardware architecture. With the rapid evolution and increased diversity of the computer architecture landscape, it is highly desirable to have a portable solution that also maintains reasonable performance. We report our ongoing effort in evaluating Kokkos as a basis for this portable programming model using LArTPC simulations in the context of the Wire-Cell Toolkit, a C++ library for LArTPC simulations, data analysis, reconstruction and visualization.

46 INSTRUMENTATION RELATED TO NUCLEAR SCIENCE AND ↗

Recent Developments to the Porous Microstructure Analysis (PuMA) Software

The Porous Microstructure Analysis (PuMA) software is a suite of tools for the analysis of porous materials and generation of material microstructures. From microstructural data, often obtained through X-ray microtomography, PuMA can determine a number of effective material properties and perform material response simulations. Version 2.2 includes capabilities for computing volume fractions, porosity, specific surface area, effective thermal and electrical conductivities, and continuum and rarefied diffusive tortuosity. PuMA can also simulate competitive diffusion/reaction processes at the micro-scale, such as surface oxidation. In this poster, recent advancements to the PuMA software are detailed, including the full refactoring of PuMA into v3.0, a new module to compute heat conduction in anisotropic materials, a particle method for simulating molecular beam experiments, a new finite-volume Laplace solver, complex fibrous material generation, woven material generation, and a coupling of PuMA with the DAKOTA software for advanced statistics.

PuMA↗

High Fidelity CFD Simulations Supporting the KP-FHR

Kairos Power, LLC, is developing its version of the Fluoride-cooled High-temperature Reactor, the KP-FHR. The design uses a pebble bed core with fluoride salt as a coolant. The pebbles used in the KP-FHR have a diameter of 4 cm, with a shell fuel region where TRISO particles are embedded. A Pebble bed core design is adopted by several Gen IV reactors, They boast many benefits, such as fuel integrity, highly efficient heat transfer, and passive safety. However, it is challenging to accurately predict temperature and flow inside a pebble bed. Traditional approaches use the porous media model, which regards the pebble bed as a continuous medium, but with different temperature fields representing different levels, such as the fluid temperature, pebble surface temperature, and pebble center temperature. Empirical heat transfer correlations are adopted to calculate the heat transfer coefficient between different phases. However, empirical correlations are usually validated with experimental data, which usually lacks detail inside the pebble bed. The available experimental data is also generally at a high Reynolds number, which falls outside of the conditions of KP-FHR. Explicit computational fluid dynamics (CFD) simulations of randomly packed pebble beds have only become feasible recently. This is thanks to the rapid development of computational power and scalable algorithms. In this work, we used the Spectral Element Method (SEM) CFD code NekRS to simulate the randomly packed pebble bed in a cylindrical container. NekRS, which is the GPU variant of Nek5000, but refactored to utilize the computational power of GPUs using the OCCA library to run on hybrid architecture high performance computing systems. It was initially developed with the libParamunal library, but truncated and tuned for large-scale turbulence simulation. As a result, the SEM reaches higher precision with the same degrees of freedom by using a high-order Lagrange polynomial basis distributed on Gauss-Lobatto-Legendre quadrature inside each element, compared to lower-order methods, such the Finite Volume Method and Finite Element Method. The report is divided into five parts. We start with a general discussion of the pebble bed reactor, along with a specific investigation into the KP-FHR. The second part presents the numerical methodology. In the third part, we study a modular pebble bed with 1741 pebbles in a container of 7 pebble-diameter radius. Beyond LES simulations done by NekRS, we also leveraged the thermal radiation model in OpenFOAM to study heat transfer under no-forced-flow scenarios. Then, in the fourth part we simulated a pebble bed similar to the size of the Hermes Test Reactor. The total number of pebbles is in these simulations is 34,374. The container radius is 14 pebble-diameters. Finally, the report concludes in part five, with a discussion of future work.

21 SPECIFIC NUCLEAR REACTORS AND ASSOCIATED PLANTS↗

Research Report: Progress on Building a File Observatory for Secure Parser Development

Parsing untrusted data is notoriously challenging.Failure to handle maliciously crafted data correctly can (anddoes) lead to a wide range of vulnerabilities. The Languagetheoretic security (LangSec) philosophy seeks to obviate the needfor developers to apply ad hoc solutions by, instead, offeringformally correct and verifiable input handling throughout thesoftware development lifecycle. One of the key components indeveloping secure parsers is a broad coverage corpus that enablesdevelopers to understand the problem space for a given formatand to use, potentially, as seeds for fuzzing and other automatedtesting. In this paper, we offer an update on work reportedat the LangSec 2021 conference on the development of a fileobservatory to gather and enable analysis on a diverse collectionof files at scale. The initial focus of the observatory is on PortableDocument Format (PDF) files and file formats typically embeddedin PDFs. In this paper, we report on refactoring the ingestprocess, applying new analytic methods, and improving the User Interface.

Stonebraker, Ryan↗

Compare predictions of transient fission gas release by empirical and mechanistic models to experiments in high burnup UO 2 fuel

Understanding and predicting fuel performance at high burnup require improving our understanding of transient fission gas release. High-burnup operations enable new mechanisms of fission gas release, which affect fuel performance. The Nuclear Regulatory Commission has recently published its interpretation of existing fuel fragmentation, relocation, and dispersal data in a research information letter. There, transient fission gas release was identified as one of the main factors that contributes to fuel fragmentation, relocation, and dispersal, and therefore limits fuel extension to high burnup. However, transient fission gas release is a complex phenomenon that cannot be fully described by simple empirical descriptions. This report summarizes the development of a mechanistic model for high-burnup transient fission gas release in the fuel performance code BISON. This research was supported by the Nuclear Energy Advanced Modeling and Simulation program during fiscal year 2023 to improve our understanding of high-burnup transient fission gas release and ability to predict it as a function of operation history. To support the development of a mechanistic transient fission gas release model, the existing Simple Integrated Fission Gas Release and Swelling (Sifgrs) model in BISON has been completely refactored to make it more modular and extensible. This effort supports the model's application to high-burnup conditions, its extension to other fuel forms, and the continuous improvement of its current features. Once refactoring was completed, models for high-burnup structure formation, fission gas transfer from non-restructured fuel to high-burnup structure, high-burnup structure intragranular and intergranular fission gas behavior, high-burnup structure bubble evolution, fuel pulverization, and the resulting transient fission gas release were tested and implemented in the Simple Integrated Fission Gas Release and Swelling (Sifgrs) model or tightly coupled to it. The new mechanistic model was then compared to an empirical model developed in parallel by a Nuclear Energy University Program project using a Studsvik high-burnup loss-of-coolant-accident assessment case. Finally, the report details the preliminary BISON results for a benchmark activity organized by the Nuclear Energy Agency to evaluate fuel performance codes' predictive capabilities for burst fission gas release. This work represents an important step toward a mechanistic understanding of fission gas release in high-burnup conditions.

11 NUCLEAR FUEL CYCLE AND FUEL MATERIALS↗

Reusability First: Toward FAIR Workflows

The FAIR principles of open science (Findable, Accessible, Interoperable, and Reusable) have had transformative effects on modern large-scale computational science. In particular, they have encouraged more open access to and use of data, an important consideration as collaboration among teams of researchers accelerates and the use of workflows by those teams to solve problems increases. How best to apply the FAIR principles to workflows themselves, and software more generally, is not yet well understood. We argue that the software engineering concept of technical debt management provides a useful guide for application of those principles to workflows, and in particular that it implies reusability should be considered as ‘first among equals’. Moreover, our approach recognizes a continuum of reusability where we can make explicit and selectable the tradeoffs required in workflows for both their users and developers.To this end, we propose a new abstraction approach for reusable workflows, with demonstrations for both synthetic workloads and real-world computational biology workflows. Through application of novel systems and tools that are based on this abstraction, these experimental workflows are refactored to rightsize the granularity of workflow components to efficiently fill the gap between end-user simplicity and general customizability. Our work makes it easier to selectively reason about and automate the connections between trade-offs across user and developer concerns when exposing degrees of freedom for reuse. Additionally, by exposing fine-grained reusability abstractions we enable performance optimizations, as we demonstrate on both institutional-scale and leadership-class HPC resources.

Wolf, Matthew↗

The Representation of Aerosols in GMAO’s Newest Reanalyses

Over the past few years, NASA’s Global Modelling and Assimilation Office has been working on the configuration and production of three new reanalysis products, GEOS-IT, GiOcean, and MERRA-21C. GEOS-IT, or the Goddard Earth Observing System for Instrument Teams, is a 3D variational data assimilation system that runs in a near real time framework however retrospectively provides data back through 1998 to deliver a consistent view of the Earth-atmosphere system for the production of observational NASA products. Retrospective production for GEOS-IT is complete and the meteorology has since been used to produce the one way weakly coupled GiOcean reanalysis. Due to differences in the atmospheric model, particularly related to scavenging, aerosols are not identical in GEOS-IT and GiOcean. MERRA-21C, or the Modern Era Restrospective analysis for Research and Applications in the 21st century, is a hybrid 4D ensemble variational system at a finer horizontal resolution of 0.25 degrees. Although different in their intended use, and therefore configuration, these systems prominently feature coupling between meteorology and aerosols. The differences and similarities in the aerosol configuration between the three systems will be discussed, covering biomass burning and anthropogenic emissions as well as observations used for the assimilation of aerosol optical depth. A large emphasis will be placed on the version of the underlying aerosol module, GOCART, which underwent a complete refactoring and the addition of radiatively active brown carbon between GEOS-IT and MERRA-21C. Independent observations will be used to evaluate the performance of aerosols in both reanalyses, focusing on aerosol optical depth, surface particulate matter, and vertical profiles of aerosol backscatter.

Allison Collow↗

Regression Verification Using Impact Summaries

Regression verification techniques are used to prove equivalence of syntactically similar programs. Checking equivalence of large programs, however, can be computationally expensive. Existing regression verification techniques rely on abstraction and decomposition techniques to reduce the computational effort of checking equivalence of the entire program. These techniques are sound but not complete. In this work, we propose a novel approach to improve scalability of regression verification by classifying the program behaviors generated during symbolic execution as either impacted or unimpacted. Our technique uses a combination of static analysis and symbolic execution to generate summaries of impacted program behaviors. The impact summaries are then checked for equivalence using an o-the-shelf decision procedure. We prove that our approach is both sound and complete for sequential programs, with respect to the depth bound of symbolic execution. Our evaluation on a set of sequential C artifacts shows that reducing the size of the summaries can help reduce the cost of software equivalence checking. Various reduction, abstraction, and compositional techniques have been developed to help scale software verification techniques to industrial-sized systems. Although such techniques have greatly increased the size and complexity of systems that can be checked, analysis of large software systems remains costly. Regression analysis techniques, e.g., regression testing [16], regression model checking [22], and regression verification [19], restrict the scope of the analysis by leveraging the differences between program versions. These techniques are based on the idea that if code is checked early in development, then subsequent versions can be checked against a prior (checked) version, leveraging the results of the previous analysis to reduce analysis cost of the current version. Regression verification addresses the problem of proving equivalence of closely related program versions [19]. These techniques compare two programs with a large degree of syntactic similarity to prove that portions of one program version are equivalent to the other. Regression verification can be used for guaranteeing backward compatibility, and for showing behavioral equivalence in programs with syntactic differences, e.g., when a program is refactored to improve its performance, maintainability, or readability. Existing regression verification techniques leverage similarities between program versions by using abstraction and decomposition techniques to improve scalability of the analysis [10, 12, 19]. The abstractions and decomposition in the these techniques, e.g., summaries of unchanged code [12] or semantically equivalent methods [19], compute an over-approximation of the program behaviors. The equivalence checking results of these techniques are sound but not complete-they may characterize programs as not functionally equivalent when, in fact, they are equivalent. In this work we describe a novel approach that leverages the impact of the differences between two programs for scaling regression verification. We partition program behaviors of each version into (a) behaviors impacted by the changes and (b) behaviors not impacted (unimpacted) by the changes. Only the impacted program behaviors are used during equivalence checking. We then prove that checking equivalence of the impacted program behaviors is equivalent to checking equivalence of all program behaviors for a given depth bound. In this work we use symbolic execution to generate the program behaviors and leverage control- and data-dependence information to facilitate the partitioning of program behaviors. The impacted program behaviors are termed as impact summaries. The dependence analyses that facilitate the generation of the impact summaries, we believe, could be used in conjunction with other abstraction and decomposition based approaches, [10, 12], as a complementary reduction technique. An evaluation of our regression verification technique shows that our approach is capable of leveraging similarities between program versions to reduce the size of the queries and the time required to check for logical equivalence. The main contributions of this work are: - A regression verification technique to generate impact summaries that can be checked for functional equivalence using an off-the-shelf decision procedure. - A proof that our approach is sound and complete with respect to the depth bound of symbolic execution. - An implementation of our technique using the LLVMcompiler infrastructure, the klee Symbolic Virtual Machine [4], and a variety of Satisfiability Modulo Theory (SMT) solvers, e.g., STP [7] and Z3 [6]. - An empirical evaluation on a set of C artifacts which shows that the use of impact summaries can reduce the cost of regression verification.

Backes, John↗

Adoption of Test Driven Development and Continuous Integration for the Development of the Trick Simulation Toolkit

This paper describes the adoption of a Test Driven Development approach and a Continuous Integration System in the development of the Trick Simulation Toolkit, a generic simulation development environment for creating high fidelity training and engineering simulations at the NASA/Johnson Space Center and many other NASA facilities. It describes what was learned and the significant benefits seen, such as fast, thorough, and clear test feedback every time code is checked-in to the code repository. It also describes a system that encourages development of code that is much more flexible, maintainable, and reliable. The Trick Simulation Toolkit development environment provides a common architecture for user-defined simulations. Trick builds executable simulations using user-supplied simulation-definition files (S_define) and user supplied "model code". For each Trick-based simulation, Trick automatically provides job scheduling, checkpoint / restore, data-recording, interactive variable manipulation (variable server), and an input-processor. Also included are tools for plotting recorded data and various other supporting tools and libraries. Trick is written in C/C++ and Java and supports both Linux and MacOSX. Prior to adopting this new development approach, Trick testing consisted primarily of running a few large simulations, with the hope that their complexity and scale would exercise most of Trick's code and expose any recently introduced bugs. Unsurprising, this approach yielded inconsistent results. It was obvious that a more systematic, thorough approach was required. After seeing examples of some Java-based projects that used the JUnit test framework, similar test frameworks for C and C++ were sought. Several were found, all clearly inspired by JUnit. Googletest, a freely available Open source testing framework, was selected as the most appropriate and capable. The new approach was implemented while rewriting the Trick memory management component, to eliminate a fundamental design flaw. The benefits became obvious almost immediately, not just in the correctness of the individual functions and classes but also in the correctness and flexibility being added to the overall design. Creating code to be testable, and testing as it was created resulted not only in better working code, but also in better-organized, flexible, and readable (i.e., articulate) code. This was, in essence the Test-driven development (TDD) methodology created by Kent Beck. Seeing the benefits of Test Driven Development, other Trick components were refactored to make them more testable and tests were designed and implemented for them.

Penn, John M.↗