Engineering Papers⌕ Search

SEARCH · Engineering Papers

Results for “Python codes”

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 145 records · Page 8

MLtool++ package for machine learning and its applications to materials data

We are developing Mltool++ package of software programs for machine learning (ML). Given the MLtool Python code, we create a faster C++ code with the potential for parallelization. We have extracted materials data from the literature. One dataset contains melting temperatures of stoichiometric 1:1 metallic compounds XZ, composed by elements X={Al, Ti, V, Cr, Zr, Nb, Mo, Hf, Ta, W} and Z={Co, Ni, Cu, Rh, Pd, Ag, Ir, Pt, Au}, and another contains solid-solid symmetry-breaking phase transition temperatures. We studied dependences of temperatures on composition, found several correlations, and parametrized them by analytical functions. Mltool++ package is generic and applicable to any tabulated numeric data.

Pierce M. Pettit↗

Open Source Application of Fusing Aerosol Products from GEO and LEO Satellites

Retrieving aerosol optical depths (AODs) from sun-synchronous polar orbiting (aka low earth orbit, LEO) satellites, such as MODISs, and VIIRSs, OMI, TROPOMI, etc, has become well-established as a tool for extracting information on particulate matter (PM) and related processes in the atmosphere. However, with recently launched geostationary satellites (GEO), such as GOES-16/17/18, and Himawari-8/9, and Meteosat Third Generation (MTG) they provide a much higher temporal resolution (order of 10 minutes), typically an image once or more per hour during daylight compared to LEO once per day. By combining these observations, we may be able to characterize the diurnal cycle of global AOD at the local, regional and global scale. While the science community is still exploring the new data from GEO observations, we have been thinking about how to properly combine/merge/fuse those data considering differences in their spatial and temporal resolutions. However, this poses a “Big Data” challenge. The big data challenge is not just about data storage, but also about data discoverability, and accessibility, and even more, about data migration/mirroring in the cloud-computing environment. This paper is merely showing some of the efforts and approaches we have attempted in fusing six satellites’ Level 2 aerosol data (three are from GEO (GOES-16/17 and Himawari-8), and the other three are from LEO (TERRA/MODIS, AQUA/MODIS, SNPP-VIIRS) from Dark Target (DT) aerosol retrieval algorithm. Having the on-demand capability of fusing remote sensing products onto the desired temporal and spatial domain enables researchers and application practitioners to better manipulate and work with satellite and sensor data. It is our hopeWe hope that by making such an open-source package, and the accompanying functionality, the scientific community will be granted easier access to aerosol data processing resources. The MEaSUREs Program (Making Earth System Data Records for Use in Research Environments) expands our understanding of the Earth's current system through atmospheric and surface measurements. In an effort to aid the scientific research component and improve open source methods, this project developed Python code for fusing six satellite Level 2 aerosol data (three are from geostationary satellites (GEO), and the other three are from low earth orbital satellites (LEO)) from Dark Target Aerosol Retrieval Algorithm.

Jennifer Wei↗

Monte Carlo Tree Search for Integrated Planning, Learning, and Execution in Nondeterministic Python

We present a novel use of Monte Carlo Tree Search (MCTS),adapted to explore a search space produced by the choice points embedded in Python code. The choice points are non-deterministic assignment statements and subroutine calls. We present MCTS extensions required for doing tree search in this context which includes control constructs like hierarchical decomposition (subroutine calls), iterative while loops and conditional statements. We demonstrate how the system works in a simulated rideshare scenario in an urban setting, and present preliminary experiments as a proof of concept.

Automatic planning↗

Expansion of Check-Cases for 6DOF Simulation

This is the Appendix containing a description of the solution for Case 1 in the assessment, “Expansion of Check-Cases for 6DOF Simulation”. For cases of spherical gravity, it is possible to provide a two-body solution without recourse to numerical integration and thus it is accurate to machine precision. Python code for a Keplerian Propagator (propagate.py) which produced a reference trajectory for Case 1 is provided in this appendix. There is also code for generating test cases which was used as an independent verification of the propagator. This is a high-level description of the algorithm employed. The documentation of each function includes implementation details, including equations for each task.

Modeling↗

Deep learning for lipid droplet recognition in quantitative phase images

This library of Python code is used for performing semantic segmentation of images using 6 different machine learning methods. Five of the methods are implemented entirely within the scikit-learn framework. The Convolutional Neural Network (CNN) method requires Keras with a TensorFlow backend and generally uses a different set of scripts in order to perform the complete training and evaluation.

Sheneman, Lucas↗

In-line, High-Throughput Quality Monitoring for Fuel Cell and Electrolyzer Components Based on Transmission and Reflection Imaging

During the manufacturing of fuel cell and electrolyzer membranes and membrane electrode assemblies (MEAs), real-time, in-line, high-throughput optical-based quality monitoring methods are essential for detecting defects and monitoring thickness variations, thus improving the performance and increasing the durability of fuel cell and electrolyzer in the hydrogen industry. For the MEAs with very opaque coatings, optical transmission-based imaging has been developed and applied in the Roll-to-Roll system using a flashlight and a high-sensitivity CCD camera. We observed high signal-to-noise ratio images while the Roll-to-Roll system ran at 5 ft/min. The entire sample image could quickly be recovered from the discrete frames using customized Python codes for automatic frame cropping and stitching. We detected significant non-uniformities in our experimental MEAs specimen. For fuel cell and low-temperature electrolysis (LTE) transparent membranes, we used optical reflectance hyperspectral imaging with interference fringe-based thickness mapping. We set up a hyperspectral camera to measure various rolls of commercial membranes. The measurement results are analyzed to find the thickness distribution of each roll and to check for defects. Transmission and reflection imaging-based quality monitoring techniques demonstrated in this project can be widely used in the mass production environment to improve the production yield and performance of hydrogen devices.

DIRECT ENERGY CONVERSION,ENGINEERING↗

Unsupervised Clustering and Supervised Regression Learning to Select High Temperature Oxidation-Resistant Materials

High temperature oxidation and corrosion degradation mechanisms dictate the lifetime of materials critical to energy production. The combination of modeling and experimental approaches such as machine learning (ML) and data analytics, with sufficient experimental data, can accelerate the development of new materials while limiting its cost. In the present work, ML will be applied to two high temperature oxidation data libraries (Oak Ridge National Laboratory and National Air and Space Administration) that comprised of about 5000 mass change sample datasheets for a variety of materials and temperatures in dry air and air + 10 % H2O. A python code was developed to prepare the data for machine learning by collecting and formatting oxidation rate constants, alloy compositions and environment of exposure into a single data frame. Scikit-learn library and Statistics and Machine Learning Toolbox within MathWorks were then used to perform unsupervised clustering and supervised regression learning. The impact of dataset distribution on the performance of the developed ML models was evaluated. Potential strategies to improve the predictions and enhance extrapolative capability of the previously trained model were investigated.

Romedenne, Marie [ORNL] (ORCID:0000000317936561)↗

Decomposition Algorithms for Scalable Quantum Annealing

The presented python code provides wrapper functions for two decomposition algorithms: One algorithm to decompose Maximum Clique problems and one to decompose Minimum Vertex Cover problems. The functions take as input a networkx graph object, and decompose either problem on the input graph recursively into subproblems such that the optimal solution can be constructed from the optimal solutions of both subproblems. The recursion ends as soon as the subproblems reach a pre-specified size limit by the user, and they can be solved using any method provided in advance by the user as external function. This includes exact solvers or an adiabatic quantum annealer.

Pelofske, Elijah↗

MOOSE-Python Binder

This code is a wrapper for Python code so that it can be accessed by MOOSE and the two can pass variables back and forth. Since this code was developed by ORNL, it must be independently approved before being added to the MOOSE repository.

Cheniour, Amani↗

Peregrine Software Development: Report on the Code Conversion From Python to C++

This work package seeks to convert the Peregrine software tool from its original Python implementation to a production version based on the C++ language. Peregrine is a powerful research platform with a multitude of advanced data analytics and data visualization functionalities. Developed by scientists to explore multimodal and multidimensional data related to the production of components using powder bed additive manufacturing processes, the tool implements state-of-the-art algorithms to assist machine users in making build or part quality determinations. Given that Peregrine is data-intensive, the goal of this conversion is to enhance the tool’s flexibility and interactivity and reduce the number of code dependencies to facilitate its deployment as part of the ongoing technology transfer campaign. This brief document provides an overview of Peregrine’s functionalities and capabilities, along with a detailed description of the core functionalities that have been implemented to date in the new C++ version. This document serves as a development update at the end of the first year of the ongoing conversion and will be regularly updated as progress continues.

97 MATHEMATICS AND COMPUTING↗

Libpanda: A High Performance Library for Vehicle Data Collection

Cyber-Physical Systems (CPS) generally involve time-critical components due to physical dynamics, therefore necessitating high-performance subsystems. This is also true in data collection scenarios to infer physical phenomena. This paper covers Libpanda as an example of a component that has been designed to address performance issues in CPS implementations. Libpanda is a C++ library that interfaces software with a Comma.ai Panda device. Pandas are used for installation in modern vehicles to read the vehicle CAN bus, providing rich sensor data and limited vehicle control through message injection. The motivation to design lib-panda stems from the lack of performance in Python-based code that runs on inexpensive hardware like a Raspberry Pi. In such situations, Python code would result in utilizing 92% CPU while also dropping around 40% of the CAN packet due to bottlenecks. Without using different tools, inconsistent data collection means a loss of time-based vehicle state interpretation. Libpanda addresses these issues through implementation in a different language and implementation of different design paradigms involving asynchronous calls and multithreading. The Panda also features a GPS module that allows multiple instances to synchronize clocks for large-scale data collection scenarios. Libpanda has been designed with time-synchronization in mind to aid in the measurement of inter-vehicle dynamics. The performance improvements of libpanda have resulted in it becoming an important component in automotive dynamics research that requires a higher technical performance in large-scale experiments.

Bunting, Matthew↗

SALSA_python (SALSython) v1

SALSA_python (Semi-Analytical Leakage Solutions for Aquifers) is a software that computed semi-analytical solutions for hydraulic head and brine leakage in multilayered aquifer–aquitard systems with geologic pressure forcing. It can simulate brine leakage into aquifers in a multi-aquifer-aquitard system with multiple injection and leaky wells. This situation is encountered in underground CO2 storage wherein brine leakage from pressurized reservoirs into aquifers is of concern. SALSA_python calls the original SALSA[1] subroutines in python by using the salsa2.so library. This enables the incorporation and coupling of SALSA computations into existing python-based codes and tools. SALSA_python is available for Linux and Mac operating systems. [1] Cihan, A., Oldenburg, C. M., & Birkholzer, J. T. (2022). Leakage from coexisting geologic forcing and injection-induced pressurization: A semi-analytical solution for multilayered aquifers with multiple wells. Water Resources Research, 58, e2022WR032343.

Bhuvankar, Pramod↗

stor4build

The EnergyPlus simulation engine supports modeling and simulation of thermal energy storage (TES) systems in several ways, including using the Python-EMS feature, which extends the operation of the engine with custom code written in Python. Creation of models using this feature can be tedious and error prone, with the connection of the model components to the Python code a particularly troublesome area. The stor4build Python package simplifies this process by modifying an input model to add a selected TES technology (implemented with the Python-EMS feature) and runs the simulation. The package leverages the OpenStudio middleware software development kit to automate this process as much as possible, eliminating potential errors and simplifying usage of EnergyPlus. The package provides objects, functions, and OpenStudio measures that implement the necessary operations to automate the creation of EnergyPlus models that integrate TES technologies with building systems. In addition, two user interfaces are provided: a command line interface and a web application programming interface. The automated process implemented by the package greatly simplifies the modeling and simulation process, allowing for parametric studies to be executed much more efficiently and effectively. The OpenStudio-based workflow is also very flexible and will allow for future additions of new technologies.

DeGraw, JasonWilliam [Oak Ridge National Laborator↗

\texttt{qec\_code\_sim}: An open-source Python framework for estimating the effectiveness of quantum-error correcting codes on superconducting qubits

Quantum computers are highly susceptible to errors due to unintended interactions with their environment. It is crucial to correct these errors without gaining information about the quantum state, which would result in its destruction through back-action. Quantum Error Correction (QEC) provides information about occurred errors without compromising the quantum state of the system. However, the implementation of QEC has proven to be challenging due to the current performance levels of qubits -- break-even requires fabrication and operation quality that is beyond the state-of-the-art. Understanding how qubit performance factors into the success of a QEC code is a valuable exercise for tracking progress towards fault-tolerant quantum computing. Here we present \texttt{qec\_code\_sim}, an open-source, lightweight Python framework for studying the performance of small quantum error correcting codes under the influence of a realistic error model appropriate for superconducting transmon qubits, with the goal of enabling useful hardware studies and experiments. \texttt{qec\_code\_sim} requires minimal software dependencies and prioritizes ease of use, ease of change, and pedagogy over execution speed. As such, it is a tool well-suited to small teams studying systems on the order of one dozen qubits.

Lopez, Santiago↗

Conceptual Spacer Design for the ATR GEN I Target for Pu-238 Production in the Advanced Test Reactor at Idaho National Laboratory

The initial target design used for Pu-238 production at Idaho National Laboratory was designed by Oak Ridge National Laboratory to optimize the production of Pu-238 in the High Flux Isotope Reactor (HFIR) and are referred to as HFIR GEN II targets. To take advantage of the Advanced Test Reactor’s (ATR) taller active core region a redesign of the HFIR GEN II targets was needed. It was proposed to stack two HFIR GEN II targets nose to nose about the core center line; however, this resulted in excessive neutron and photon heating in the pellets located in the center. This peak heating was not desirable so three alternative designs were investigated for the ATR GEN I targets. The python-based code, MCNP to ORIGEN2 in Python (MOPY), was used to calculate the heating rates after 40 days of irradiation to capture the effects of each configuration. The purpose of this paper is to document the details of these conceptual design calculations and comparisons for the ATR GEN I targets.

07 ISOTOPE AND RADIATION SOURCES↗

Conceptual Spacer Design for the ATR GEN I Target for Pu-238 Production in the Advanced Test Reactor at Idaho National Laboratory

The initial target design used for Pu-238 production at Idaho National Laboratory was designed by Oak Ridge National Laboratory to optimize the production of Pu-238 in the High Flux Isotope Reactor (HFIR) and are referred to as HFIR GEN II targets. To take advantage of the Advanced Test Reactor’s (ATR) taller active core region a redesign of the HFIR GEN II targets was needed. It was proposed to stack two HFIR GEN II targets nose to nose about the core center line; however, this resulted in excessive neutron and photon heating in the pellets located in the center. This peak heating was not desirable so three alternative designs were investigated for the ATR GEN I targets. The python-based code, MCNP to ORIGEN2 in Python (MOPY), was used to calculate the heating rates after 40 days of irradiation to capture the effects of each configuration. The purpose of this paper is to document the details of these conceptual design calculations and comparisons for the ATR GEN I targets.

07 ISOTOPE AND RADIATION SOURCES↗

Efficient Space–Time Reduced Order Model for Linear Dynamical Systems in Python Using Less than 120 Lines of Code

A classical reduced order model (ROM) for dynamical problems typically involves only the spatial reduction of a given problem. Recently, a novel space–time ROM for linear dynamical problems has been developed [Choi et al., Space–tume reduced order model for large-scale linear dynamical systems with application to Boltzmann transport problems, Journal of Computational Physics, 2020], which further reduces the problem size by introducing a temporal reduction in addition to a spatial reduction without much loss in accuracy. The authors show an order of a thousand speed-up with a relative error of less than 10−5 for a large-scale Boltzmann transport problem. In this work, we present for the first time the derivation of the space–time least-squares Petrov–Galerkin (LSPG) projection for linear dynamical systems and its corresponding block structures. Utilizing these block structures, we demonstrate the ease of construction of the space–time ROM method with two model problems: 2D diffusion and 2D convection diffusion, with and without a linear source term. For each problem, we demonstrate the entire process of generating the full order model (FOM) data, constructing the space–time ROM, and predicting the reduced-order solutions, all in less than 120 lines of Python code. We compare our LSPG method with the traditional Galerkin method and show that the space–time ROMs can achieve O(10−3) to O(10−4) relative errors for these problems. Depending on parameter–separability, online speed-ups may or may not be achieved. For the FOMs with parameter–separability, the space–time ROMs can achieve O(10) online speed-ups. Finally, we present an error analysis for the space–time LSPG projection and derive an error bound, which shows an improvement compared to traditional spatial Galerkin ROM methods.

97 MATHEMATICS AND COMPUTING↗

Validation and Verification of Python based Neutron Spectrum Unfolding Software

To validate and verify the python-based code (PySL), designed to replicate the programs used by STAYSL for Beam Correction Factor (BCF) and Self-Shielding Factor (SHIELD), a series of tests were performed. To test BCF a python script was written to generate a random flux history file and both versions of the code processed the data. The test verified matching values up to at least one decimal place, approximately 10,000 tests where run and each one passed. Isotopes began to fail the tests once neutron saturation was reached. To verify this the total time of exposure was varied the isotopes that failed were compared to a list of their half-lives. The test process for SHIELD was very similar but, in this case, the code began by producing an input file with varying thickness and device type/environment for the SHIELD input. The failure condition for this test was if any of the data points for an isotope had a difference above 3%. Approximately 40 of these tests were run and there were only 3 isotopes that had reoccurring failures but only 2% of their points were above the 3% difference. A visual comparison was conducted by plotting the results from both programs. Although the test failed, the differences between their values were minuscule, and the self-shielding factor’s shape was preserved when plotted. Next steps for this project will be validating and verifying the python-based SigPhi code and then reproducing and testing the least squares unfolding performed by STAYSL.

73 - NUCLEAR PHYSICS AND RADIATION PHYSICS↗