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 271 records · Page 15

EVI-EnSitePy (Electric Vehicle Infrastructure – Energy Estimation and Site Optimization Tool in Python) [EVI-X Modeling Suite] [SWR-25-07]

EVI-EnSitePy is a comprehensive agent-based tool designed for the analysis and design of high-power charging sites, encompassing a wide array of site agents including Electric Vehicles (EVs), chargers, energy storage units (ESS), renewable energy resources (DER), and loads. This versatile tool offers diverse functionalities and a modular modeling approach, allowing detailed configuration of agents based on power ratings, port numbers, energy capacities, demand requirements, charger interfaces, and flexibility to customize the tool for project specific goals. By simulating agent interactions and employing various metrics, EVI-EnSitePy enables the assessment of site performance, exploration of energy management systems (EMS), and implementation of innovative EV charging policies. Utilizing EV charge schedules and arrival states, the tool performs thorough charging site simulations, with outputs consisting of agent and site-level power profiles and statistical metrics. Employing a tree graph structure, EVI-EnSitePy supports nested site structures and power distribution modeling. The tool's ability to generate charging schedules deterministically or via stochastic analysis further enhances its versatility. Through its features and capabilities, EVI-EnSitePy offers a powerful platform for informed decision-making in the realm of high-power charging site design and operation.

Jackson, Derek [National Renewable Energy Laborato↗

CRiSPPy: An advanced hydropower scheduling tool for the Colorado River Storage Project

The Western Area Power Administration (WAPA) plays a vital role in delivering reliable and cost-effective hydroelectric power to millions of customers across the western United States. The Colorado River Storage Project (CRSP) carries out WAPA’s mission in Arizona, Utah, Colorado, New Mexico, Nevada, Wyoming and Texas. Achieving this mission requires effective management of the Colorado River system, and depends on the use of advanced analytical tools and modeling methodologies. For many years, CRSP has relied on the Generation and Transmission Maximization Superlite (GTMax SL) model for its mid-term and long-term hydroscheduling needs. However, the evolving energy market, power system operations, environmental rules, and hydrology conditions, coupled with advancements in computational capabilities, have necessitated the development of a more modern and robust solution. This report introduces the Colorado River Storage Project Python-based (CRiSPPy) model, a new, advanced hydropower scheduling tool developed to address CRSP ever-evolving challenges. CRiSPPy represents a significant leap forward in our ability to model and optimize the operation of the Colorado River system. It incorporates state-of-the-art optimization algorithms, enhanced data management capabilities, and an advanced graphical user interface, providing WAPA CRSP personnel with unprecedented insights and decision-making support. This document details the development, capabilities, and implementation of CRiSPPy. It is intended to serve as a comprehensive resource for WAPA staff, stakeholders, and anyone interested in the future of hydropower scheduling in the Colorado River Basin. We are confident that CRiSPPy will enhance WAPA's mission while adapting to the challenges of a dynamic and increasingly complex environment. The version of CRiSPPy described in this report is the version 2.3. New versions of CRiSPPy will be developed as the tool keeps evolving to address CRSP challenges.

13 HYDRO ENERGY↗

PyMTensor 1.0.0

SAND2021-1654 O The Python Material Tensor code (PyMTensor) applies crystal symmetries to arbitrary material tensors. It uses symbolic algebra to exactly determine the zero tensor components and the relationships between the nonzero components for all crystallographic point groups. It is capable of computing components of higher-order material tensors needed when treating nonlinear effects. It has a simple and flexible interface for inputting tensor rank information and any known symmetries between tensor indices.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.

Jensen, DanielS↗

Performance Results on CPU/GPU Exascale Architectures for OMEGA: The Ocean Model for E3SM Global Applications

The US Department of Energy (DOE) conducts climate simulations on some of the world’s largest supercomputers. These exascale machines use heterogeneous architectures with both CPUs and GPUs, and scientific codes must adapt to make full use of this computing power. Los Alamos National Lab is developing Omega: The Ocean Model for E3SM Global Applications, which is specifically designed for modern exascale computers. It uses external libraries that have been optimized for a variety of architectures to run on different supercomputers. Omega is an unstructured-mesh ocean model based on TRiSK numerical methods. It will be the new ocean component of the DOE’s Energy Exascale Earth System Model (E3SM). The algorithms in Omega follow those of the current ocean component, MPAS-Ocean, but it will be written in C++ rather than Fortran to take advantage of the Kokkos performance portability library. Omega spatial operators are written as Kokkos kernels to run efficiently on both CPUs and GPUs. Work on Omega began in 2023 with a new C++ framework for unstructured mesh partitioning, halo exchanges, parallel IO, and Kokkos interfaces. The current version, Omega-0, is being developed to solve the shallow water equations and at present includes all of the tendency terms but not time stepping. Here we share the results of Omega-0 verification and performance testing. Verification includes unit tests implemented with CTest as well as convergence tests in Polaris, an in-house python package with a large suite of test problems. Performance tests compare simulations conducted on CPUs versus GPUs and across different architectures: tests are run on Frontier, which has AMD “Optimized 3rd Gen EPYC” CPUs and AMD MI250X GPUs, as well as Perlmutter, which is composed of AMD EPYC 7763 CPUs and NVIDIA A100 GPUs.

58 GEOSCIENCES↗

CiteSoft_Py

There is a need to provide a way for dev-users (Scientists, Engineers, and other Software Developers) to get credit (citations) when they contribute to an important software package - particularly a large package that is already established. Various solutions (including cross package) solutions do exist, but a simple standard format that can work between multiple packages and multiple languages in a modular way is not widely available. CiteSoft_py is a python implementation of CiteSoft. CiteSoft is a plain text standard consisting of a format and a protocol that exports the citations for the end-users for whichever softwares they have used. CiteSoft has been designed so that software dev-users can rely upon it regardless of coding language or platform, and even for cases where multiple codes are working in a coupled manner. The CiteSoft_py implementation includes python decorators to make wrappers for facile use. The purpose is that when dev-users (scientists, engineers and professional programmers) contribute to a collaborative software project, that the appropriate citations (e.g., journal article, conference proceeding) are provided to the end-user. The end-user does not need to know how to use a command line interface, API, etc.

Savara, Aditya↗

Myna

The additive manufacturing (AM) community has been developing digital factory tools over the past decade to better leverage the multi-modal process data coming out of the advanced manufacturing process. As a result, numerous databases of additive manufacturing process data exist in the literature and in the archival storage of disparate research groups. While some efforts have been made to create a standard ontology for storing and sharing AM data, in practice a variety of data structures are used to store AM build data, even within a single institution. This causes many problems for maintainability and extensibility when attempting to integrate computational modeling tools with experimental data to either validate models or to provide further insight into results and trends. Myna is a Python-based framework that aims to decrease the effort needed to connect individual computational models to the variety of AM process data that exist in different research groups and institutions. This type of software is sometimes referred to as "middleware" or “glueware,” in that it connects disparate databases and applications into a single computational ecosystem. Instead of maintaining unique interfaces between each application and each database, developers can create a single interface from each application to Myna and thereby gain access to the implemented database connections. Similarly, developing a database connection in Myna provides access to the developed simulation applications. This framework greatly simplifies the maintainability of model applications that rely on experimental data. Using external simulation tools, users will also be able to run pre-configured workflows using the built-in workflow manager. Several examples of input files are provided with Myna for different workflows, including melt pool geometry predictions and detailed melt pool and solidification microstructure predictions.

Knapp, GerryL. [Oak Ridge National Laboratory (ORN↗

SPAROW: Stochastic Programming and Related Optimization Workflows

SAND2026-16703O SPAROW: Stochastic Programming and Related Optimization Workflows is a Python library tool that facilitates the development and solution of stochastic programming problems. It provides a user-friendly class structure for defining stochastic programs through scenario-based representations of uncertainties. SPAROW incorporates multiple optimization strategies, including integer programming with all scenarios, progressive hedging, Benders decomposition, and Snoglode, a novel technique developed by Carnegie Mellon University. It also features interfaces to external solvers and functions that are commonly used in analysis workflows, making it applicable to a wide range of scientific and engineering design challenges, particularly in power grid planning. 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.

Hart, William [Sandia National Lab. (SNL-NM), Albu↗

A new database website for nuclear level densities

We introduce a new open-access, web-based database (http://nld.ascsn.net), Current Archive of Nuclear Density of Levels (CANDL), that hosts experimental nuclear level density (NLD) datasets from a variety of techniques and energy ranges. Built using the Dash framework in Python, the database is designed to be interactive and user-friendly, allowing researchers to search, visualize, fit, and export NLD data with minimal effort. This resource includes data extracted from evaporation spectra, Oslo method variants, and other experimental techniques that cover excitation energies beyond the neutron resonance region. The database supports on-the-fly fitting with two widely-used phenomenological models—the Constant Temperature (CT) model and the Back-Shifted Fermi Gas (BSFG) model—selected for their simplicity and computational efficiency. Future versions aim to include additional datasets and model types, as well as easy-to-use interfaces to data science techniques. Here, this platform offers a vital tool for the nuclear physics, astrophysics, medicine, and reactor design communities.

73 NUCLEAR PHYSICS AND RADIATION PHYSICS↗

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↗

MOOSE Web Server Interface: A Message-based External Interface for Multiphysics Simulations

The Multiphysics Object-Oriented Simulation Environment (MOOSE) framework is a C++ toolkit designed to streamline the development of finite element and finite volume applications. It offers an interface for input-based coupling of these applications to create multiscale, multiphysics models. We introduce a new capability that enables external applications to integrate with MOOSE-based applications in situ via a web server using HTTP requests. An example of this integration is provided, where a MOOSE thermal-fluids solve has a boundary condition that is driven by an external Python application. Additionally, the coupling of the Python-based OpenMC depletion solver with the Cardinal application is demonstrated. A multiphysics model of a pressurized water reactor, incorporating neutronics, heat conduction, thermal-fluids, and depletion, is presented to showcase this new Cardinal capability that is enabled by the MOOSE web server capability.

22 - GENERAL STUDIES OF NUCLEAR REACTORS↗

MOOSE Web Server Interface: A Message-based External Interface for Multiphysics Simulations

The Multiphysics Object-Oriented Simulation Environment (MOOSE) framework is a C++ toolkit designed to streamline the development of finite element and finite volume applications. It offers an interface for input-based coupling of these applications to create multiscale, multiphysics models. We introduce a new capability that enables external applications to integrate with MOOSE-based applications in situ via a web server using HTTP requests. An example of this integration is provided, where a MOOSE thermal-fluids solve has a boundary condition that is driven by an external Python application. Additionally, the coupling of the Python-based OpenMC depletion solver with the Cardinal application is demonstrated. A multiphysics model of a pressurized water reactor, incorporating neutronics, heat conduction, thermal-fluids, and depletion, is presented to showcase this new Cardinal capability that is enabled by the MOOSE web server capability.

22 - GENERAL STUDIES OF NUCLEAR REACTORS↗

MPLBM-UT: Multiphase LBM library for permeable media analysis

MPLBM-UT is a specialized lattice-Boltzmann library that makes running single- and two-phase flow simulations in porous media accessible to everyone. We provide a suite of tools to pre-process computational domains for simulation, to set up custom boundary conditions, to run simulations, to post-process simulation outputs, and to visualize simulation results and data. All of these tools are easily accessible to users through the mplbm_utils Python package included in and automatically installed with MPLBM-UT. The high-performance, highly parallel library Palabos is used as the solver backend. MPLBM-UT is easily deployed in a variety of systems, from laptops to supercomputer clusters. MPLBM-UT also features multiple examples and benchmark templates that allow for fast prototyping of different porous media problems. We also provide an interface for reading in different file types and downloading domains from the Digital Rocks Portal to perform simulations.

97 MATHEMATICS AND COMPUTING↗

OpenFerro v0.1.0

OpenFerro is a Python package for on-lattice atomistic dynamics simulation of ferroic materials. OpenFerro is based on JAX, a high-performance linear algebra package supporting auto-differentiation and GPU acceleration. OpenFerro is designed to minimize the effort required to build on-lattice Hamiltonian models, and to perform molecular dynamics (MD) and Landau-Lifshitz-Gilbert simulations. Unlike existing codes, OpenFerro provides a unified interface to model different types of local order parameters.

Xie, Pinchen [Lawrence Berkeley National Laborator↗

Interactive web mapping tools and custom subsurface cross-sections for interdisciplinary geologic investigation

Using Python-based geospatial analytics, open-source web mapping technologies, geophysical data models, and subsurface stratigraphy models from the Regional Geology Geologic Framework Model database assembled by Los Alamos National Laboratory, we developed a suite of web-based geologic investigation tools to identify and understand subsurface structures and geophysical properties concerning salt and shale formations within the contiguous United States. Coupled with a web map interface, these tools allow for the interactive visualization of various geologic data and demonstrate the ability to quickly generate custom subsurface cross-sections, borehole charts, and diagrams for azimuthal orientation data. These capabilities were developed for stakeholder and researcher use to facilitate informed decision making for spent nuclear waste disposition. However, these capabilities provide a flexible model for a variety of subsurface investigation needs, and we have demonstrated this flexibility by adapting these tools to meet visualization needs for various subsurface models within a web-based platform.

12 MANAGEMENT OF RADIOACTIVE AND NON-RADIOACTIVE W↗

Dimensionally Aligned Signal Projection Algorithms Library

Dimensionally aligned signal projection (DASP) algorithms are used to analyze fast Fourier transforms (FFTs) and generate visualizations that help focus on the harmonics for specific signals. At a high level, these algorithms extract the FFT segments around each harmonic frequency center, and then align them in equally sized arrays ordered by increasing distance from the base frequency. This allows for a focused view of the harmonic frequencies, which, among other use cases, can enable machine learning algorithms to more easily identify salient patterns. This work seeks to provide an effective open-source implementation of the DASP algorithms proposed by Vann et al. (2018) as well as functionality to help explore and test how these algorithms work with an interactive dashboard and signal-generation tool. The DASP library is implemented in Python and contains four types of algorithms for implementing these feature engineering techniques: fixed harmonically aligned signal projection (HASP), decimating HASP, interpolating HASP, and frequency aligned signal projection (FASP). Each algorithm returns a numerical array, which can be visualized as an image. The HASP algorithms are variations of the algorithms originally presented by Vann et al. (2018). For consistency, FASP, which is the terminology used for the short-time Fourier transform (STFT), has been implemented as part of the library to provide a similar interface to the STFT of the raw signal. Additionally, the library contains an algorithm to generate artificial signals with basic customizations such as the base frequency, sample rate, duration, number of harmonics, noise, and number of signals. Finally, the library provides multiple interactive visualizations, each of which is implemented using IPyWidgets and works in a Jupyter environment. A dashboard-style visualization is provided, which contains some common signal-processing visual components (signal, FFT, spectogram) updating in unison with the HASP functions (see Figure 1 below). Separate from the dashboard, an independent visualization is provided for each of the DASP algorithms as well as for the artifical signal generator. These visualizations are included in the library to aid in developing an intuitive understanding how the algorithms are affected by different input signals and parameter selections.

harmonics↗

BatteryPro: A Python Toolkit for Battery Data Analysis and Machine Learning Predictions

Analyzing battery test data for research & development can be time-consuming since battery tests often run on the order of months to years, generating large volumes of data. BatteryPro is a comprehensive Python package and software designed to facilitate advanced analysis and performance predictions for battery test data. Developed for battery researchers, it supports data types from widely used battery testing instruments, including MACCOR and Biologic cycling systems. The software provides a variety of tools for extracting and plotting key battery parameters such as time, voltage, capacity, current, and pressure. In addition to its extensive data analysis capabilities, BatteryPro features a dedicated machine learning module that employs a Bayesian Gaussian Mixture Model (GMM) to predict battery performance and degradation. Users can generate synthetic capacity fade data, calculate fade metrics, and leverage predictive models to forecast long-term battery behavior. The software's graphical user interface (GUI) enhances usability, allowing researchers to upload, merge, and analyze multiple data files with full customizability. The GUI also supports machine learning predictions, enabling users to fit models and make predictions based on selected data and parameters. BatteryPro is built using QtDesigner, scikit-learn, matplotlib, and pandas, ensuring a high level of customization, flexibility, and accuracy in battery data analysis. This tool aims to empower researchers with the ability to perform detailed battery analysis and make informed predictions, ultimately advancing the field of battery research.

25 - ENERGY STORAGE↗

Industry Facing PV Degradation Prediction Tool and Database to Enable a 50 Year Life Module

The goal of this work is to create an online tool that can be used to search for degradation information and extrapolate PV module performance and durability to field exposure. A graphical user interface will aid in the understanding of the results. The prediction tool will be built modular and published open-source allowing users to expand on the existing framework.

degradation↗

Virtual Engineering: Python framework for engineering process design

Virtual Engineering (VE) is a Python software framework designed to accelerate the research and development of engineering processes that are fundamentally defined by multiple unit operations executed in series. VE supports a wide variety of different multi-physics models and integrates them to simulate a complete end-to-end process. To automate the execution of this model sequence, VE provides (i) a robust method to communicate between models, (ii) a high-level, user-friendly interface to set model parameters and enable optimization, and (iii) an overall model-agnostic approach that allows new computational units to be swapped in and out of workflows. Although the VE framework was developed to support the biochemical conversion of biomass to fuel, we have designed each component to easily accommodate new domains and unit models.

09 BIOMASS FUELS↗