Engineering Papers⌕ Search

SEARCH · Engineering Papers

Results for “PYTHON”

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 325 records · Page 18

WFSUITE: A PYTHON SOFTWARE SUITE FOR X-RAY WAVEFRONT SENDING AND AT-WAVELENGTH METROLOGY

SF-26-025 WFSuite is a graphical and command-line toolkit for coded-mask-based X-ray wavefront sensing and phase reconstruction at synchrotron beamlines. It integrates analysis tools for both relative and absolute speckle-based measurements. In the relative metrology module, WFSuite implements Wavelet-transform-based X-ray Speckle Tracking (WXST) and Wavelet-transform-based Speckle Vector Tracking (WSVT) methods to retrieve differential phase and wavefront distortions by comparing speckle patterns recorded with and without the test sample. In the absolute phase module, WFSuite uses coded-mask speckle patterns and replaces the measured reference with a numerically simulated one, enablingsingle-shot wavefront reconstruction using either WXST or a neural-network-based method (SPINNet).

Rebuffi, Luca [Argonne National Laboratory (ANL), ↗

bifacial_radiance: a python package for modeling bifacial solar photovoltaic systems

bifacial_radiance is a national-laboratory-developed, community-supported, open-source toolkit that provides a set of functions and classes for simulating the performance of bifacial photovoltaic (PV) systems. (Bifacial PV modules collect light on the front as well as the rear side.) bifacial_radiance automates calculations of PV system layout and performance to use along with the popular ray-tracing software tool RADIANCE (Ward, 1994). Specific algorithms include design and layout of PV modules, reflective ground surfaces, shading obstructions, and irradiance calculations throughout the system, among others. bifacial_radiance is an important component of a growing ecosystem of open-source tools for solar energy (William F Holmgren et al., 2018).

97 MATHEMATICS AND COMPUTING↗

liionpack: A Python package for simulating packs of batteries with PyBaMM

Electrification of transport and other energy intensive activities is of growing importance as it provides an underpinning method to reduce carbon emissions. With an increase in reliance on renewable sources of energy and a reduction in the use of more predictable fossil fuels in both stationary and mobile applications, energy storage will play a pivotal role and batteries are currently the most widely adopted and versatile form. Therefore, understanding how batteries work, how they degrade, and how to optimize and manage their operation at large scales is critical to achieving emission reduction targets. The electric vehicle (EV) industry requires a considerable number of batteries even for a single vehicle, sometimes numbering in the thousands if smaller cells are used, and the dynamics and degradation of these systems, as well as large stationary power systems, is not that well understood. As increases in the efficiency of a single battery become diminishing for standard commercially available chemistries, gains made at the system level become more important and can potentially be realised more quickly compared with developing new chemistries. Mathematical models and simulations provide a way to address these challenging questions and can aid the engineer and designers of batteries and battery management systems to provide longer lasting and more efficient energy storage systems.

25 ENERGY STORAGE↗

interflow: A Python package to organize, calculate, and visualize sectoral interdependency flow data

Many economic sectors rely on an uninterrupted “upstream” supply of a resource to conduct their primary functions, leaving them vulnerable to adverse effects should that resource flow be interrupted or compromised (OECD, 2017; U.S. EPA, 2010). Well-known examples of these relationships include water demand by the energy sector (e.g., thermoelectric cooling for nuclear generation) (Grubert & Sanders, 2018; Webber, 2017) and energy demand by the water sector (e.g., electricity required to treat or move water in the public water sector) (Congressional Research Service, 2017) though many others exist. Being able to calculate and document these interdependencies and evaluate where the greatest cross-sectoral intensities and flows exist can reveal opportunities to enhance the overall network. Despite the implications and potential impacts, however, these interconnections and flows have been historically complex to analyze and understand. The interflow package provides a flexible tool to organize, calculate, and visualize (using Sankey diagrams and other visualizations) sectoral interdependency flows for multiple subsectors and resources. This tool can help decision-makers, researchers, and other audiences more easily pull meaning from these interdependencies to reveal multi-faceted opportunities and risks. interflow can help investigate questions such as (1) which sectors have high cross-resource dependencies, (2) how does demand for a resource in various sectors compare across regions, and (3) where the sectoral and regional opportunities are for enhanced efficiency, security, and resiliency.

97 MATHEMATICS AND COMPUTING↗

ParMOO: A Python library for parallel multiobjective simulation optimization

A multiobjective optimization problem (MOOP) is an optimization problem in which multiple objectives are optimized simultaneously. The goal of a MOOP is to find solutions that describe the tradeoff between these (potentially conflicting) objectives. Such a tradeoff surface is called the Pareto front. Real-world MOOPs may also involve constraints – additional hard rules that every solution must adhere to. In a multiobjective simulation optimization problem, the objectives are derived from the outputs of one or more computationally expensive simulations. Such problems are ubiquitous in science and engineering.

97 MATHEMATICS AND COMPUTING↗

tell: a Python package to model future total electricity loads in the United States

The purpose of the Total ELectricity Load (tell) model is to generate 21st century profiles of hourly electricity load (demand) across the Conterminous United States (CONUS). tell loads reflect the impact of climate and socioeconomic change at a spatial and temporal resolution adequate for input to an electricity grid operations model. tell uses machine learning to develop profiles that are driven by projections of climate/meteorology and population. tell also harmonizes its results with United States (U.S.) state-level, annual projections from a national- to global-scale energy-economy model. This model accounts for a wide range of other factors affecting electricity demand, including technology change in the building sector, energy prices, and demand elasticities, which stems from model coupling with the U.S. version of the Global Change Analysis Model (GCAM-USA). tell was developed as part of the Integrated Multisector Multiscale Modeling (IM3) project. IM3 explores the vulnerability and resilience of interacting energy, water, land, and urban systems in response to compound stressors, such as climate trends, extreme events, population, urbanization, energy system transitions, and technology change

24 POWER TRANSMISSION AND DISTRIBUTION↗

graphenv: a Python library for reinforcement learning on graph search spaces

Many important and challenging problems in combinatorial optimization (CO) can be expressed as graph search problems, in which graph vertices represent full or partial solutions and edges represent decisions that connect them. Graph structure not only introduces strong relational inductive biases for learning (Battaglia et al., 2018) - in this context, by providing a way to explicitly model the value of transitioning (along edges) between one search state (vertex) and the next - but lends itself to problems both with and without clearly defined algebraic structure. For example, classic CO problems on graphs such as the Traveling Salesman Problem (TSP) can be expressed as either pure graph search or integer programs. Other problems, however, such as molecular optimization, do no have concise algebraic formulations and yet are readily implemented as a graph search (V. et al., 2022; Zhou et al., 2019). Such "model-free" problems constitute a large fraction of modern reinforcement learning (RL) research owing to the fact that it is often much easier to write a forward simulation that expresses all of the state transitions and rewards, than to write down the precise mathematical expression of the full optimization problem. In the case of molecular optimization, for example, one can use domain knowledge alongside existing software libraries to model the effect of adding a single bond or atom to an existing but incomplete molecule, and let the RL algorithm build a model of how good a given decision is by "experiencing" the simulated environment many times through. In contrast, a model-based mathematical formulation that fully expresses all the chemical and physical constraints is intractable. In recent years, RL has emerged as an effective paradigm for optimizing searches over graphs and led to state-of-the-art heuristics for games like Go and chess, as well as for classical CO problems such as the TSP. This combination of graph search and RL, while powerful, requires non-trivial software to execute, especially when combining advanced state representations such as Graph Neural Networks (GNN) with scalable RL algorithms.

97 MATHEMATICS AND COMPUTING↗

The Generalized Green’s function Cluster Expansion: A Python package for simulating polarons

We present an efficient implementation of the Generalized Green’s function Cluster Expansion (GGCE), which is a new method for computing the ground-state properties and dynamics of polarons (single electrons coupled to lattice vibrations) in model electron-phonon systems. The GGCE works at arbitrary temperature and is well suited for a variety of electron-phonon couplings, including, but not limited to, site and bond Holstein and Peierls (Su-SchriefferHeeger) couplings, and couplings to multiple phonon modes with different energy scales and coupling strengths. Quick calculations can be performed efficiently on a laptop using solvers from NumPy and SciPy, or in parallel at scale using the PETSc sparse linear solver engine.

36 MATERIALS SCIENCE↗

Lightshow: a Python package for generating computational x-ray absorption spectroscopy input files

First-principles computational spectroscopy is a critical tool for interpreting experiment, per- forming structure refinement, and developing new physical understanding. Systematically setting up input files for different simulation codes and a diverse class of materials is a challeng- ing task with a very high barrier-to-entry, given the complexities and nuances of each individual simulation package. This task is non-trivial even for experts in the electronic structure field and nearly formidable for non-expert researchers. Lightshow solves this problem by providing a uniform abstraction for writing computational x-ray spectroscopy input files for multiple popular codes, including FEFF, VASP, OCEAN, exciting and XSpectra. Its extendable framework will also allow the community to easily add new functions and to incorporate new simulation codes.

36 MATERIALS SCIENCE↗

pymatgen-analysis-defects: A Python package for analyzing point defects in crystalline materials

Point defects can often determine the properties of semiconductor and optoelectronic materials. Due to the large simulation cell and the higher-cost density functionals required for defect simulations, the computational cost of defect calculations is often orders of magnitude higher than that of bulk calculations. As such, managing and curating the results of the defect calculations generated by a single user has the potential to save a significant amount of computational resources. Moreover, eventually building a high-quality, persistent defects database will significantly reduce the computational cost of defect calculations for the entire community.

75 CONDENSED MATTER PHYSICS, SUPERCONDUCTIVITY AND↗

Taweret: a Python package for Bayesian model mixing

Uncertainty quantification using Bayesian methods is a growing area of research. Bayesian model mixing (BMM) is a recent development which combines the predictions from multiple models such that the fidelity of each model is preserved in the final result. Practical tools and analysis suites that facilitate such methods are therefore needed. Taweret introduces BMM to existing Bayesian uncertainty quantification efforts. Currently, Taweret contains three individual Bayesian model mixing techniques, each pertaining to a different type of problem structure; we encourage the future inclusion of user-developed mixing methods. Taweret’s first use case is in nuclear physics, but the package has been structured such that it should be adaptable to any research engaged in model comparison or model mixing.

Ingles, Kevin↗

statemodify: a Python framework to facilitate accessible exploratory modeling for discovering drought vulnerabilities

The Colorado River Basin (CRB) is experiencing an unprecedented water shortage crisis brought upon by a combination of factors arising from interactions across the region’s coupled human and natural systems. Allocation of water to the seven states that rely on the Colorado River was settled in the Colorado River Compact of 1922 during a period now known to be characterized by atypically high flows (Christensen et al., 2004). Since then, aridification due to anthropogenic-driven warming has steadily reduced the overall water supply available in the basin, with a 10% decrease in the river’s flow occurring over just the past two decades (Bass et al., 2023). The river is further strained by increasing demands associated with a growing population and diverse multi-sectoral demands. Navigating these challenges also requires accounting for the complex prior appropriation water rights system governing water allocation across the region’s diverse users.

54 ENVIRONMENTAL SCIENCES↗

EchemFEM: A Firedrake-based Python package for electrochemical transport

The transition from fossil fuels to renewable energy has brought about a rapid increase in the availability of clean electricity. However, electricity generated from sources such as wind and solar are limited to intermittent operation due to daily and seasonal variation. One solution is to utilize electrochemical devices in energy storage and electrochemical manufacturing applications, where they can harness surplus energy and decarbonize chemical industries traditionally reliant on petrochemical feedstocks. Managing the growing prevalence of renewable energy underscores the importance of developing and scaling up these technologies, which can in turn facilitate the achievement of carbon emission reduction commitments of companies and developed economies. Likewise, the electrification of transport creates an increasing need for energy-dense electrochemical energy storage devices such as batteries and supercapacitors. Naturally, simulation tools are required to assist in the design of efficient and industrial-scale electrochemical devices.

30 DIRECT ENERGY CONVERSION↗

wmpy-power: A Python package for process-based regional hydropower simulation

Hydropower is an important source of renewable energy in many parts of the world. The generation potential for a hydropower facility can vary greatly due to fluctuations in precipitation and snowmelt patterns impacting streamflow and reservoir storage. Human activities such as irrigation, manufacturing, and hydration can also influence water availability at nearby and downstream facilities. wmpy-power--the hydropower model described in this work--is process-based, leveraging explicit reservoir storage and release data to address impacts on hydropower from climate change and human adaptive behaviors to inform long-term planning and resource-adequacy considerations.

13 HYDRO ENERGY↗

DeepHyper: A Python Package for Massively Parallel Hyperparameter Optimization in Machine Learning

Machine learning models are increasingly applied across scientific disciplines, yet their effectiveness often hinges on heuristic decisions—such as data transformations, training strategies, and model architectures—that are not learned by the models themselves. Automating the selection of these heuristics and analyzing their sensitivity is crucial for building robust and efficient learning workflows. DeepHyper addresses this challenge by democratizing hyperparameter optimization, providing accessible tools to streamline and enhance machine learning workflows from a laptop to the largest supercomputer in the world. Building on top of hyperparameter optimization, it unlocks new capabilities around ensembles of models for improved accuracy and uncertainty quantification. All of these organized around efficient parallel computing.

ensemble↗

SSAPy - Space Situational Awareness for Python

SSAPy is a fast and flexible orbit modeling and analysis tool for orbits spanning from low-Earth into the cislunar regime. Orbits can be flexibly specified from common input formats such as Keplerian elements or two-line element (TLE) data files. SSAPy allows users to model satellites and specify parameters such as satellite area, mass, and drag coefficients. SSAPy includes a customizable force-propagation with a range of Earth, Lunar, radiation, atmospheric, and maneuvering models. SSAPy makes use of various community integration methods and can calculate time-evolved orbital quantities, including satellite magnitudes and state vectors. Users can specify various space- and ground-based observation models with support for multiple coordinate and reference frames. SSAPy also supports orbit analysis and propagation methods such as multiple hypothesis tracking and has built-in uncertainty quantification. The majority of SSAPy’s methods are vectorized and parallelizable, allowing for effective use of high-performance computer (HPC) systems. Finally, SSAPy has plotting functionality, allowing users to visualize orbits and trajectories. Examples are shown in Figure 1 and Figure 2.

97 MATHEMATICS AND COMPUTING↗