Engineering Papers⌕ Search

SEARCH · Engineering Papers

Results for “Python interface”

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 343 records · Page 19

The SENSEI Generic In Situ Interface: Tool and Processing Portability at Scale [Book Chapter]

One key challenge when doing in situ processing is the investment required to add code to numerical simulations needed to take advantage of in situ processing. Such instrumentation code is often specialized, and tailored to a specific in situ method or infrastructure. Then, if a simulation wants to use other in situ tools, each of which has its own bespoke API [4], then the simulation code team will quickly become overwhelmed with having a different set of instrumentation APIs, one per in situ tool or method. In an ideal situation, such instrumentation need happen only once, and then the instrumentation API provides access to a large diversity of tools. In this way, a data producer’s instrumentation need not be modified if the user desires to take advantage of a different set of in situ tools. The SENSEI generic in situ interface addresses this challenge, which means that SENSEI-instrumented codes enjoy the benefit of being able to use a diversity of tools at scale, tools that include Libsim, Catalyst, Ascent, as well as user-defined methods written in C++ or Python. SENSEI has been shown to scale to greater than 1M-way concurrency on HPC platforms, and provides support for a rich and diverse collection of common scientific data models. Furthermore, this chapter presents the key design challenges that enable tool and processing portability at scale, some performance analysis, and example science applications of the methods.

Bethel, E. Wes↗

High Performance Computing Innovation Center Open Source Developer Tools

The High Performance Computing Innovation Center (HPCIC) aims to ease the transition for developers to use open source software provided by the lab. HPCIC Developer Tools is a collection of software, containers, cloud configurations, and associated documentation that make it easy to deploy tutorials or small apps to demonstrate lab-developed software. For example, building a tutorial container that includes lab software and interactive interfaces; a command line or web-based tool that accepts user preferences for the tutorial; supporting tools and software development kits (SDKs) for developer interactions or productivity in different languages embraced by the larger developer community such as Go, Rust, and Python; and automation in version control to support continued update of software and associated resources. These tools are best developed in an open source environment such as GitHub, not only to champion the lab's open source software, but for purposes of branding and demonstrating the lab's leadership in open source. Such an effort that brings in more developers to use and contribute to lab software can further improve the quality of the software, and developer experience at the lab.

Beckingsale, DavidA↗

The Blending ToolKit: A simulation framework for evaluation of galaxy detection and deblending

We present an open source Python library for simulating overlapping (i.e., blended) images of galaxies and performing self-consistent comparisons of detection and deblending algorithms based on a suite of metrics. The package, named Blending Toolkit (BTK), serves as a modular, flexible, easy-to-install, and simple-to-use interface for exploring and analyzing systematic effects related to blended galaxies in cosmological surveys such as the Vera Rubin Observatory Legacy Survey of Space and Time (LSST). BTK has three main components: (1) a set of modules that perform fast image simulations of blended galaxies, using the open source image simulation package GalSim; (2) a module that standardizes the inputs and outputs of existing deblending algorithms; (3) a library of deblending metrics commonly defined in the galaxy deblending literature. In combination, these modules allow researchers to explore the impacts of galaxy blending in cosmological surveys. Additionally, BTK provides researchers who are developing a new deblending algorithm a framework to evaluate algorithm performance and make principled comparisons with existing deblenders. BTK includes a suite of tutorials and comprehensive documentation. The source code is publicly available on GitHub at https://github.com/LSSTDESC/BlendingToolKit.

79 ASTRONOMY AND ASTROPHYSICS↗

Software Development: 3D Animations and Creating User Interfaces for Realistic Simulations

My fall 2015 semester was spent at the Lyndon B. Johnson Space Center working in the Integrated Graphics, Operations, and Analysis Laboratory (IGOAL). My first project was to create a video animation that could tell the story of OMICS. OMICS is a term being used in the field of biomedical science to describe the collective technologies that study biological systems, such as what makes up a cell and how it functions with other systems. In the IGOAL I used a large 23 inch Wacom monitor to draw storyboards, graphics, and line art animations. I used Blender as the 3D environment to sculpt, shape, cut or modify the several scenes and models for the video. A challenge creating this video was to take a term used in biomedical science and describe it in such a way that an 8th grade student can understand. I used a line art style because it would visually set the tone for what we thought was an educational style. In order to get a handle on the perspective and overall feel for the animation without overloading my workspace, I split up the 2 minute animation into several scenes. I used Blender's python scripting capabilities which allowed for the addition of plugins to add or modify tools. The scripts can also directly interact with the objects to create naturalistic patterns or movements. After collecting the rendered scenes, I used Blender's built-in video editing workspace to output the animation. My second project was to write software that emulates a physical system's interface. The interface was to simulate a boat, ROV, and winch system. Simulations are a time and cost effective way to test complicated data and provide training for operators without having to use expensive hardware. We created the virtual controls with 3-D Blender models and 2-D graphics, and then add functionality in C# using the Unity game engine. The Unity engine provides several essential behaviors of a simulator, such as the start and update functions. A framework for Unity, which was developed in the lab, provided a way to place the different widgets on the virtual console dock and have them resize correctly based on the window dimensions.. My task in this project was to create the controls and visualizations for the data coming in from the simulator for the boat portion of the project. I wrote a class for each control window to handle the functionality of that widget. I implemented 11 widgets that make up the ship portion of the simulator. The members of the lab were each masters of their craft and I'm glad I had the opportunity to learn from them. I learned to plan strategically so I could finish this project on time. I allotted time for storyboarding, development, and refinement. In regards to animating I learned to use modifiers like lattice, boolean and build deformers. I also learned how to animate with drivers, how to use the dope sheet, and how to use the graph editor. In coding I learned to limit the chances for bugs by privatizing functions that should be exclusive to their class. I learned how to use the GIT repository to commit, stash and pull the latest build. I learned a bit of everything because I had the chance to see the entire application development process from the artwork, to the implementation.

Gordillo, Orlando Enrique↗

ALchemist (Active Learning Toolkit for Chemical and Materials Research) [SWR-25-102]

ALchemist is a modular Python toolkit that brings active learning and Bayesian optimization to experimental design in chemical and materials research. It is designed for scientists and engineers who want to efficiently explore or optimize high-dimensional variable spaces—without writing code—using an intuitive graphical interface.

Coatney, Caleb [National Renewable Energy Laborato↗

Parallel Wavefront Analysis for a 4D Interferometer

This software provides a programming interface for automating data collection with a PhaseCam interferometer from 4D Technology, and distributing the image-processing algorithm across a cluster of general-purpose computers. Multiple instances of 4Sight (4D Technology s proprietary software) run on a networked cluster of computers. Each connects to a single server (the controller) and waits for instructions. The controller directs the interferometer to several images, then assigns each image to a different computer for processing. When the image processing is finished, the server directs one of the computers to collate and combine the processed images, saving the resulting measurement in a file on a disk. The available software captures approximately 100 images and analyzes them immediately. This software separates the capture and analysis processes, so that analysis can be done at a different time and faster by running the algorithm in parallel across several processors. The PhaseCam family of interferometers can measure an optical system in milliseconds, but it takes many seconds to process the data so that it is usable. In characterizing an adaptive optics system, like the next generation of astronomical observatories, thousands of measurements are required, and the processing time quickly becomes excessive. A programming interface distributes data processing for a PhaseCam interferometer across a Windows computing cluster. A scriptable controller program coordinates data acquisition from the interferometer, storage on networked hard disks, and parallel processing. Idle time of the interferometer is minimized. This architecture is implemented in Python and JavaScript, and may be altered to fit a customer s needs.

Rao, Shanti R.↗

ampworks: Battery analysis tools in Python [SWR-25-39]

Ampworks is a collection of tools designed to process experimental battery data with a focus on model-relevant analyses. It currently provides functions for incremental capacity analysis and GITT data processing, helping extract key properties for life and physics-based models (e.g., SPM and P2D). Some tools, like the incremental capacity analysis module, also include graphical user interfaces for ease of use. https://github.com/NREL/ampworks/ https://pypi.org/project/ampworks/

Randall, Corey [National Renewable Energy Laborato↗

Implementation of a Web Interface to Display Real-Time Statistics of a Dilution Refrigerator

The purpose of the project is to communicate with a Bluefors control unit and extract data. The Bluefors control unit is a piece of experimental equipment that measures various different data points in a dilution refrigerator and stores them. The goal was to access the control unit using the websockets library in Python. After accessing the control unit, the goal was to export the data to a web page in HTML/CSS. The tools that were used changed throughout the project. Python was used to communicate with the Bluefors unit via JSON requests and JSON objects, then the Python hosted its own websocket server to act as a proxy server to allow for the web page to access the data. This was done to bypass SSL verification. Then, the web page, which was created using JavaScript, React, Next.js, and NodeJS, accesses the proxy server to import the data from the dilution refrigerator and display the values in real time on the page.

Rasheed, Hammad↗

Sensitivity analysis of thermal contact conductance modeling to inform MiniFuel irradiation capsule designs

The MiniFuel irradiation platform has been developed by Oak Ridge National Laboratory as a flexible, high-throughput separate effects testing capability within the High Flux Isotope Reactor (HFIR). Finite element thermal models are relied upon to design MiniFuel experiments to achieve a specific time-averaged irradiation temperature for experimental objectives. A previous study identified that uncertainty in the component heat generation rates and thermal contact conductance (TCC) model are the most significant contributors to predicted fuel temperature variance. To address both sources of uncertainty, this work performs sensitivity analysis on the TCC model to identify high-impact, high-uncertainty parameters that contribute to fuel temperature variance. The TCC model is analyzed in increasing detail, first using a standalone Python code, then again after coupling Python to the BISON fuel performance code. Furthermore, the parameters with the largest contributions to fuel temperature variance which can be reduced through design changes are identified as the initial subcapsule gas pressure, contact pressure between the fuel and dish, and the effective surface roughness of the interface. A set of design recommendations for future capsule designs has been established and applied to reduce the previously quantified average fuel temperature uncertainty ranges of ± 40 °C in the HFIR vertical experiment facilities (VXF) and ± 80 °C in the removable beryllium (RB) reflector to approximately ± 32 °C and ± 53 °C, respectively. This equates to a 21 % and 33 % reduction in the uncertainty range of the average fuel temperature for VXF and RB, respectively.

BISON↗

PySAGES: flexible, advanced sampling methods accelerated with GPUs

Abstract Molecular simulations are an important tool for research in physics, chemistry, and biology. The capabilities of simulations can be greatly expanded by providing access to advanced sampling methods and techniques that permit calculation of the relevant underlying free energy landscapes. In this sense, software that can be seamlessly adapted to a broad range of complex systems is essential. Building on past efforts to provide open-source community-supported software for advanced sampling, we introduce PySAGES, a Python implementation of the Software Suite for Advanced General Ensemble Simulations (SSAGES) that provides full GPU support for massively parallel applications of enhanced sampling methods such as adaptive biasing forces, harmonic bias, or forward flux sampling in the context of molecular dynamics simulations. By providing an intuitive interface that facilitates the management of a system’s configuration, the inclusion of new collective variables, and the implementation of sophisticated free energy-based sampling methods, the PySAGES library serves as a general platform for the development and implementation of emerging simulation techniques. The capabilities, core features, and computational performance of this tool are demonstrated with clear and concise examples pertaining to different classes of molecular systems. We anticipate that PySAGES will provide the scientific community with a robust and easily accessible platform to accelerate simulations, improve sampling, and enable facile estimation of free energies for a wide range of materials and processes.

Chemistry↗

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↗

OptML

OptML is an open-source Python package that provides modeling and solution capabilities for optimization problems with embedded machine learning models. OptML is a collaborative open-source project that includes advanced algorithms from the academic community for efficient solution of these problems. Sandia contributions to this package include the development of interfaces between these algorithms and Pyomo. Sandia National Laboratories is a multimission laboratory managed and operated by National Technology & Engineering Solutions of Sandia, LLC, a wholly owned subsidiary of Honeywell International Inc., for the U.S. Department of Energy’s National Nuclear Security Administration under contract DE-NA0003525. SAND2021-10861 O

Jalving, Jordan↗

Wcomp (Wind Farm Wake Comparison Framework) [SWR-23-72]

The Wind Farm Wake Comparison Framework (Wcomp) is a software tool to facilitate the comparison of a specific collection of wind farm wake modeling tools: Python-based, steady-state, analytical wake modeling utilities. Wcomp integrates another software project, windIO, to create a consistent method for describing a wind farm flow control problem. Additionally, a data structure is included to represent the outputs a wind farm flow control simulation. Well-described interfaces allow existing wake modeling tools to plug into this framework.

Mudafort, Rafael↗

Status Report on the INL IES Plug-and-Play Framework

This report discusses the advancements and status of the flexible plug-and-play framework development currently ongoing that aims to integrate Modelica/Dymola with the Risk Analysis and Virtual ENvironment (RAVEN) software in terms of both Functional Mock-Up Interface (FMI)/Functional Mock-Up Unit (FMU) construction and usage, which aims to ease the sharing and simulation of complex dynamic models. This report discusses the FMI/FMU development advancements, overall focusing on the deployment of methodologies for RAVEN to export and use FMI/FMU of both Python-based models and advanced AI-constructed algorithms.

22 GENERAL STUDIES OF NUCLEAR REACTORS↗

Machine learning-driven descriptions of protein dynamics at solid-liquid interfaces

This chapter has described how ML has enabled quantitative analysis of HS-AFM data to discover the physical phenomena governing protein dynamics and ordering at solid-liquid interfaces. The research detailed in this chapter modeled the rotation models of protein nanorods, the discovery of which would otherwise not be possible. By tracking the trajectories of individual protein rods from frame to frame, it was possible to model Brownian type motion and behaviors and Levy-flight dynamics that had not previously been shown. We also described the application of the Python package AtomAI, which has been developed specifically to analyze and extract physical phenomena, providing exemplar code for training an ensemble of deep neural networks to produce the semantic segmentation of AFM data and functions for encoding and decoding local environments. We last described a combinatorial approach to analyze very noisy data with a densely covered substrate where the emergence of order for the protein liquid crystals could be elucidated. By combining the methods from Case 1 and 2, it was possible to obtain the center of mass and angle for each rod in the images and track the assembly of the rods over time into a 2D liquid crystal array on the surface of mica.

protein dynamics, solid-liquid interfaces, atomic ↗

Athena-I CUBIT Journal Files

The Monte Carlo N-Particle (MCNP)1 transport code version 6 (also known as MCNP6) has the capability for tracking particles on unstructured mesh (UM) geometry models embedded into con structive solid geometry (CSG) cells. This feature has been developed for performing calculations of complex geometry models because manually creating CSG models is a time-consuming and error prone process as the complexities of geometries increase. The UM capability was originally designed to work with UM models created with the Abaqus software and ASCII input files that it generates. The MCNP code version 6.0 and later can process UM models formatted as Abaqus input files. Starting with version 6.3, MCNP can also process HDF5 mesh input files. External codes must be used to generate Abaqus input files for MCNP UM calculations. CUBIT, the Sandia National Laboratory automated mesh generation toolkit, can generate a UM model formatted as an Abaqus input file. However, the Abaqus input files exported from CUBIT cannot be used for MCNP simulations because it lacks the proper syntax. A Python script was developed to convert an Abaqus file created by CUBIT to an Abaqus file format that MCNP can process. Creating UM models for complex geometries is not an easy task. The process of creating UM models in CUBIT for MCNP simulations is detailed in. CUBIT provides several user interface options including a graphical user interface (GUI) and a command line interface. A GUI provides an easy way to use CUBIT without learning the CUBIT command syntax. When using CUBIT with either interface option, command lines are written into an ASCII file known as a journal file; this journal file can be edited and archived so that it can be played back in CUBIT to automatically generate a UM model. This report describes the CUBIT journal files of the UM models developed for Athena-I. The Athena platform, an energy-tuning assembly, was developed to spectrally shape the National Ignition Facility (NIF) deuterium-tritium fusion neutron source to a thermonuclear (fusion) plus prompt fission neutron spectrum with capability to act as a short-pulse neutron source. MCNP6 was used for the Athena experiment design analysis.

73 NUCLEAR PHYSICS AND RADIATION PHYSICS↗

JetGP: A derivative enhanced Gaussian process library

Derivative enhanced Gaussian Processes (DEGPs) can significantly improve surrogate model accuracy over standard Gaussian Process (GP) formulations by incorporating derivative information. However, standard implementations scale poorly with dimension, limiting their use in high dimensional engineering problems. JetGP is a Python framework that unifies existing derivative enhanced GP methodologies into a single library and extends them to support arbitrary order derivative information. The library implements four complementary formulations: standard derivative enhanced Gaussian Processes (DEGP), directional DEGP (DDEGP), generalized directional DEGP (GDDEGP), and weighted DEGP (WDEGP). By unifying these approaches in a consistent interface with robust numerical implementations, JetGP enables practitioners to balance predictive accuracy and computational efficiency for high dimensional optimization, uncertainty quantification, and sensitivity analysis in engineering design.

Derivative enhanced Gaussian process↗

TEQUILA: a platform for rapid development of quantum algorithms

Variational quantum algorithms are currently the most promising class of algorithms for deployment on near-term quantum computers. In contrast to classical algorithms, there are almost no standardized methods in quantum algorithmic development yet, and the field continues to evolve rapidly. As in classical computing, heuristics play a crucial role in the development of new quantum algorithms, resulting in a high demand for flexible and reliable ways to implement, test, and share new ideas. In this paper, inspired by this demand, we introduce TEQUILA, a development package for quantum algorithms in PYTHON, designed for fast and flexible implementation, prototyping and deployment of novel quantum algorithms in electronic structure and other fields. TEQUILA operates with abstract expectation values which can be combined, transformed, differentiated, and optimized. On evaluation, the abstract data structures are compiled to run on state of the art quantum simulators or interfaces.

71 CLASSICAL AND QUANTUM MECHANICS, GENERAL PHYSIC↗