Engineering Papers⌕ Search

SEARCH · Engineering Papers

Results for “Python software”

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 199 records · Page 11

Virtual Engineering Software Framework for Integrated Biomass Conversion Modeling

This presentation covers the design and implementation of a software tool to systematically connect computational models of unit operations to simulate an integrated process of low-temperature conversion of biomass to fuel. This virtual engineering (VE) software was designed with the overarching goal of connecting unit models written in various programming languages and requiring different computational resources within a single, flexible framework. The models and features currently considered for the VE library include mechanistic models for pretreatment, enzymatic hydrolysis, and aerobic bioreaction; high-fidelity computational fluid dynamics (CFD) simulations for enzymatic hydrolysis and aerobic bioreaction; and the capability to perform techno-economic analyses (TEA) using Aspen Plus, a commercial software package. The CFD models require access to high-performance computing (HPC) resources, so in addition to handling multiple programming languages and interfaces, the VE software must also be capable of interacting with an HPC scheduler to submit, run, and post-process jobs. Using the Python programming language, a new VE software package has been developed that contains functionality to manage the input-output communication between various unit models, schedule simulations to run on NREL's HPC and analyze those results, and interface with existing TEA software workflows. A Jupyter-notebook GUI was also created to solicit user input and provide documentation. In cases where multiple models for a particular unit-operation exist, selection between models is accomplished through a simple checkbox, with the appropriate inputs and outputs being parsed and converted seamlessly in the background. Each operation makes use of a different programming language, but the flow of information from pretreatment to enzymatic hydrolysis to bioreaction is managed with an intuitive, centralized file-communication strategy. In this talk, the programming approach and implementation details of the notebook are presented for multiple possibilities of the conversion process, including a demonstration of the ability to manage HPC resources. Additionally, an example of a sensitivity study of treatment parameters governing the overall conversion outcome is shown which highlights the ease of defining new problems using the VE Notebook workflow and leads into a discussion of ongoing work to enable outer-loop optimization studies.

biofuel↗

Improved Nondestructive Isotopic Analysis with Practical Microcalorimeter Gamma Spectrometers

Advances in both instrumentation and data analysis software are now enabling the first ultra-high-resolution microcalorimeter gamma spectrometers designed for implementation in nuclear facilities and analytical laboratories. With approximately ten times better energy resolution than high-purity germanium detectors, these instruments can overcome important uncertainty limits. Microcalorimeter gamma spectroscopy is intended to provide nondestructive isotopic analysis capabilities with sufficient precision and accuracy to reduce the need for sampling, chemical separations, and mass spectrometry to meet safeguards and security goals. Key milestones were the development of the SOFIA instrument (Spectrometer Optimized for Facility Integrated Applications) and the SAPPY software (Spectral Analysis Program in PYthon). SOFIA is a compact instrument that combines advances in large multiplexed transition-edge sensor arrays with optimized cryogenic performance to overcome many practical limitations of previous systems. With a 256-pixel multiplexed detector array capable of 5,000 counts per second, measurement time can be comparable to high-purity germanium detectors. SAPPY was developed to determine isotopic ratios in data from SOFIA and other microcalorimeter instruments with an approach similar to the widely-used FRAM software. SAPPY provides a flexible framework with rigorous uncertainty analysis for both microcalorimeter and high purity germanium (HPGe) data, allowing direct comparison. Here, we present current results from the SOFIA instrument, preliminary isotopic analysis using SAPPY, and describe how the technology is being used to explore uncertainty limits of nondestructive isotopic characterization, inform safeguards models, and extract improved nuclear data including gamma-ray branching ratios.

46 INSTRUMENTATION RELATED TO NUCLEAR SCIENCE AND ↗

Development and performance evaluation of a novel γ-γ coincidence analysis software

Processing of large amounts of data from a γ-γ coincidence system is a practical challenge in trace-level radionuclide measurements. Given the benefits and growing number of multidimensional gamma spectrometers worldwide, this is a major restriction in wide-spread applicability of coincidence techniques. This study demonstrates a novel γ-γ coincidence analysis software developed at Pacific Northwest National Laboratory, USA. The software utilizes advanced search techniques and Python libraries to readily identify coincidence signatures in the large data. Further, using both synthetic and experimental data, the study uncovers various strategies/libraries employed during software’s development. This work aims to provide a reference document in handling large data routinely encountered in trace-level measurements.

46 INSTRUMENTATION RELATED TO NUCLEAR SCIENCE AND ↗

Numerical simulation projects in micromagnetics with Jupyter

We report a case study where an existing materials science course was modified to include numerical simulation projects on the micromagnetic behavior of materials. The Ubermag micromagnetic simulation software package is used in order to solve problems computationally. The simulation software is controlled through the Python code in Jupyter notebooks. Our experience is that the self-paced problem-solving nature of the project work can facilitate a better in-depth exploration of the course contents. We discuss which aspects of the Ubermag and the project Jupyter ecosystem have been beneficial for the students' learning experience and which could be transferred to similar teaching activities in other subject areas.

97 MATHEMATICS AND COMPUTING↗

Graph Neural Networks and Applied Linear Algebra v.1.0

SAND2024-01365O The Graph Neural Networks and Applied Linear Algebra is companion software for the educational article with the same title. The software provides illustrative examples of graph neural networks in Matlab and Python. These stand-alone algorithms are for educational purposes. The software also includes graph neural network-based algorithms for a trainable Jacobi iteration as well as diffusion coefficient estimation. The software provides human-interpretable implementations of Graph Neural Networks in Matlab and Python. These implementations are not optimized for performance and instead emphasize readability. 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.

SciDAC↗

Effective theory tower for μ → e conversion

We present theoretical predictions for μ → e conversion rates using a tower of effective field theories connecting the UV to nuclear physics scales. The interactions in nuclei are described using a recently developed nonrelativistic effective theory (NRET) that organizes contributions according to bound nucleon and muon velocities, ${\overrightarrow{v}}_N$ and ${\overrightarrow{v}}_μ$, with |${\overrightarrow{v}}_N$| > |${\overrightarrow{v}}_μ$|. To facilitate the top-down matching, we enlarge the set of Lorentz covariant nucleon-level interactions mapped onto the NRET operators to include those mediated by tensor interactions, in addition to the scalar and vector interactions already considered previously, and then match NRET nonperturbatively onto the Weak Effective Theory (WET). At the scale μ ≈ 2 GeV WET is formulated in terms of u, d, s quarks, gluons and photons as the light degrees of freedom, along with the flavor-violating leptonic current. We retain contributions from WET operators up to dimension 7, which requires the full set of 26 NRET operators. The results are encoded in the open-source Python- and Mathematica-based software suite MuonBridge, which we make available to the theoretical and experimental communities interested in μ → e conversion.

72 PHYSICS OF ELEMENTARY PARTICLES AND FIELDS↗

Thermodynamic modeling with uncertainty quantification using the modified quasichemical model in quadruplet approximation: Implementation into PyCalphad and ESPEI

The modified quasichemical model in the quadruplet approximation (MQMQA) considers the first- and the second-nearest-neighbor coordination and interactions, particularly useful in describing short-range ordering (SRO) in complex liquids such as molten salts, slag in metal processing, and electrolytic solutions. Here, the present work implements the MQMQA into the Python based open-source software PyCalphad for thermodynamic calculations. This endeavor facilitates the development of MQMQA-based thermodynamic database with uncertainty quantification (UQ) and propagation (UP) using the open-source software ESPEI. A new database structure based on Extensible Markup Language (XML) is proposed for ESPEI evaluation of MQMQA model parameters. Using the KF-NiF 2 , KCl-NaCl-MgCl 2 , and CaCl 2 -CaF 2 -LiCl-LiF salt systems as examples, we demonstrate the successful implementation of MQMQA in PyCalphad through thermodynamic calculations of Gibbs energy, equilibrium quadruplet fractions, and phase diagram, as well as database development with UQ and UP using ESPEI. Furthermore, as an application of the present implementation, both the LiF–TbF 3 and LiF-HoF 3 systems have been modeled by MQMQA for the first time, which are in good agreement with experiments. The present implementation hence offers an open-source capability for performing CALPHAD modeling for complex liquids with SRO using MQMQA plus a new XML database structure.

36 MATERIALS SCIENCE↗

SHADOW4: the popular ray tracing revived for evolving synchrotron sources in fourth-generation storage rings

We present SHADOW4, a new version of the popular ray tracing code. The SHADOW kernel has been completely rewritten in Python applying modern concepts of software engineering. A new user interface is available in the OASYS ecosystem. The new tool has been designed and implemented preparing the future needs both in computing (cloud computing, AI integration) and in the transit to fourth generation sources and beyond.

Sanchez del Rio, Manuel↗

Investigation of Nanoparticle Degradation in Hydrogen Fuel Cell Systems through Automated Electron Microscopy

Proton exchange membrane fuel cells (PEMFC) are promising devices for the deployment of hydrogen-powered heavy-duty vehicles, providing a higher efficiency for similar driving range and fueling time than the existing ones. However, PEMFCs still encounter durability challenges mainly due to catalyst degradation in the cathode. Mitigating these performance losses requires a better understanding of the degradation mechanisms under heavy-duty accelerated stress tests (ASTs) [1]. Scanning transmission electron microscopy (STEM) combined with energy dispersive X-ray spectroscopy (EDS) are key tools for the analysis of Pt and PtCo nanoparticle size, spatial distribution and composition [2]. Electron tomography is also used to determine the rate and type of degradation of catalyst nanoparticles as a function of their position on the carbon support. In this work, automated data acquisition software, paired with a custom Python code, have been used to study the effect of different accelerated stress tests (ASTs) on nanoparticle coarsening [2]. Figure 1 shows high-angle annular dark-field (HAADF)-STEM images and EDS maps comparing the cathodes of membrane electrode assemblies (MEAs) following an electrocatalyst AST performed under H2/N2 with that of the heavy-duty AST performed under H2/air. We will discuss how AST conditions affect considerably the spatial distribution of the nanoparticles across the electrode between the membrane and microporous layer. Although the median particle size increased more in the MEA aged under the heavy-duty AST, as determined using a high-throughput image analysis, the quantitative EDS measurements demonstrate that the electrocatalyst AST resulted in more Pt and Co dissolution from the cathode, which is another important indicator of electrocatalyst degradation. We will further present the impact of the relative humidity (% RH) on the degradation mechanisms demonstrated using the same approach. Electron tomography has been used to distinguish the Pt nanoparticles residing on the carbon support surface (exterior) from those within the pore structure (interior) in order to determine the relative stability of interior and exterior nanoparticles. As shown in Figure 2, we will compare the Pt catalyst particle size at the beginning of test (BOT) and end of test (EOT), and discuss the importance of automating the electron tomography workflow, i.e. acquisition, reconstruction, and visualization, to increase sampling and determine the standard deviation of these measurement. The outlook for utilizing low-dose cryo-tomography for limiting damage to the catalyst, support, and especially proton-conducting ionomer will also be discussed [3].

Amichi, Lynda↗

MPC4CLR (Model-Predictive-Control-for-Critical-Load-Restoration-in-Power-Distribution-Systems) [SWR-22-24]

Model predictive control (MPC) is a system or process control technique for making decisions under uncertainty via rolling look-ahead optimizations at each control step where only the current step decisions are applied, and the rest are discarded. In this work, we developed an MPC for a critical load restoration (CLR) in power distribution systems to recover system service (electricity delivery) following an extreme event-triggered substation outage. The method considers the problem of controlling distributed energy resources (DERs) of the distribution system with the objective of achieving maximum load pick up while satisfying distribution network flow and voltage constraints. A linearized optimal power flow (OPF) model is employed to represent the physics of the network. The problem formulation is augmented with a ramping (up) reserve product for the DERs to ensure improved and upward monotonic load restoration as time evolves. Simulation analysis and performance tests are performed using a modified IEEE 13-bus test feeder integrated with wind, solar, microturbine, and energy storage battery. The software is developed using various software packages in Julia and Python. The MPC model is implemented using the JuMP optimization language in Julia while the data analytics including renewable generation and load demand forecasts, running the MPC simulation and visualizations is performed in Python.

Eseye, Abinet Tesfaye↗

ATB-calc (Annual Technology Baseline Calculators) [SWR-23-60]

This software is a suite of Python files and Jupyter notebooks supporting the calculation of cost and financial parameters for the Annual Technology Baseline (ATB) electricity data, including capital expenditures, levelized cost of energy, and debt fractions using the ATB input data.

Mirletz, Brian↗

BiG-SLiCE 2 v1.0.0

BiG-SLiCE was originally an open source Python-based command line bioinformatics software that offers a highly scalable clustering analysis on biosynthetic gene clusters (BGC) data. It allows a simultaneous analysis of millions of BGCs, exceeding the capability of other existing tools (around one hundred thousands). As a tradeoff, the clustering accuracy is relatively lower and sometimes fall short in corner cases and specific BGC classes such as the RiPPs (Ribosomally-translated, Post-translationally modified Peptides). In BiG-SLiCE V2 (developed in LBNL), the clustering algorithm has been significantly improved to deliver a much accurate result even for RiPPs and other previous corner case classes. Moreover, the speed of the overall pipeline has been improved by 50-100%. Finally, additional features were implemented to support downstream analyses of BiG-SLiCE results, such as customized tabular (TSV/CSV) and columnar (Parquet) outputs.

Kautsar, Satria↗

Polaris Studio

SF-24-040 Polaris-studio is the Python entry point/front end for using the Polaris transportation simulator. The package contains the code used to create new models from open and user-provided data, an extensive range of convenience tools for data preparation and result analysis and the ability of designing, launching and tracking studies combining multiple individual Polaris simulations from a Python terminal. The Polaris Studio software contains several modules for accomplishing the above tasks, including the PolarisLib - the Polaris object model, Polaris Manager - code for setting up and running Polaris studies, QPOLARIS - an add-on for the QGis software to allow model files to be created and edited, PolarisVis - a juptyer-based postprocessing library, and Polaris Tools - a useful collection of supplemental tools for interacting with Polaris files.

Auld, Joshua↗

BEST USE OF BIOMASS

SF-25-046 Biomass resources are widely available in United States, however to utilize the resources we need to assess the bioenergy pathways per their economic and environmental performance. The framework combines several developments in the research field and integrates into a software easy to use and expand upon to study various bioenergy pathways.The software code is developed in Python language and works with an Excel based dashboard.

Saurajyoti, Kar [Argonne National Laboratory (ANL)↗

VAST: the Void Analysis Software Toolkit

Voids are expansive regions in the universe containing significantly fewer galaxies than surrounding galaxy clusters and filaments. They are a fundamental feature of the cosmic web and provide important information about galaxy physics and cosmology. For example, correlations between voids and luminous tracers of large-scale structure improve constraints on the expansion of the universe as compared to using tracers alone, and numerous studies have shown that the void environment influences the evolution of galaxies. However, what constitutes a void is vague and formulating a concrete definition to use in a void-finding algorithm is not trivial. As a result, several different algorithms exist to identify these cosmic underdensities. Our Void Analysis Software Toolkit, or VAST, provides Python 3 implementations of two such algorithms: VoidFinder and V 2 . This consolidation of two popular void-finding algorithms allows the user to, for example, easily compare the results of their analysis using different void definitions.

97 MATHEMATICS AND COMPUTING↗

Best practices for documenting a scientific Python project

Documentation is a crucial component of software development that helps users with installation and usage of the software. Documentation also helps onboard new developers to a software project with contributing guidelines and API information. The INTERSECT project is an open federated hardware/software library to facilitate the development of au- tonomous laboratories. A documentation strategy using Sphinx has been utilized to help developers contribute to source code and to help users understand the INTERSECT Python interface. Docstrings as well as reStructuredText files are used by Sphinx to automatically compile HTML and PDF files which can be hosted online as API documentation and user guides. The resulting documentation website is automatically built and deployed using GitLab runners to create Docker containers with NGINX servers. The approach discussed in this paper to automatically deploy documentation for a Python project can improve the user and developer experience for many scientific projects.

Wiggins, Gavin↗