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 577 records · Page 32

HALOS (Heliostat Aimpoint and Layout Optimization Software) [SWR-21-41]

Heliostat Aimpoint and Layout Optimization Software (HALOS) is an open-source software package that allows users to explore solar field layout optimization, aimpoint strategy optimization, and performance characterization of concentrating solar power tower plants. Users interface with the tool through python, and results are reported in time series tables, plots, runtime logs, and flat-file outputs. Users choose from a list of variables such as tower height, receiver capacity, flux limits, design-point irradiance, etc., and specify information about the system using a small collection of flat files. The software can then optimize the specified variables (e.g., aimpoints for each heliostat) to maximize the thermal energy delivered to the receiver while adhering to flux limits. HALOS is implemented to be flexible with respect to flux characterization methods, but includes a direct connection to NREL's SolarPILOT™ software via its python API so that users can utilize high-fidelity flux simulation methods that have already been developed.

Zolan, Alexander↗

EFFORT (EFFectiveness Of Rate sTructure for enabling demand response)

This tool helps utilities evaluate potential time of use price-plans and find effective hours for price plan on peak periods and the potential price-elastic demand response. An optimization model can be used to find tiered prices for the time of use tariffs and analyze the impact on load profiles, energy consumption, utility, and customer savings. The tool is equipped with an optimization model to determine the energy consumption of electric appliances that can leverage survey data containing information on the number of appliances owned by customers. Lastly, a statistical model can be used to predict system-level load based on exogenous parameters such as weather, time of day, month, type of day, and year. The tool is scripted in Python and uses the Pyomo python optimization language.

Duwadi, Kapil↗

becquerel (bq) v0.4.0

Becquerel is a Python package for analyzing nuclear spectroscopic measurements. The core functionalities are reading and writing different spectrum file types, fitting spectral features, rebinning spectrum counts to different bin edges, performing detector calibrations and interpreting measurement results. It also includes tools for visualizing radiation spectra and fits of different spectral features, as well as convenient access to tabulated nuclear data both from remote servers and local caches. It relies heavily on the standard scientific Python stack of numpy, scipy, matplotlib, pandas, and numba. It is intended to be general-purpose enough that it can be useful to anyone from an undergraduate taking a laboratory course to the advanced

Bandstra, Mark↗

LIBlib v0.1.0

LIBlib is a Python 2 / Python 3 software package (library), built on top of the PyGDH package, for relatively simple and highly flexible implementation of macrohomogenous lithium ion battery models.

Higa, Kenneth↗

PyOECP: A flexible open-source software for the measurement and modeling of the dielectric spectrum from the reflection coefficient

We present PyOECP, a Python-based flexible open-source software for estimating and modeling the complex permittivity obtained from the open-ended coaxial probe (OECP) technique. The transformation of the measured reflection coefficient to complex permittivity is performed based on two different models, including the capacitance model and the antenna model. The software library contains dielectric spectra of common reference liquids, which can be used to transform the reflection coefficient into the dielectric spectra. Several Python routines that are commonly employed (e.g., SciPy and NumPy) are only required so that the users can alter the software structure depending on their needs. The modeling algorithm exploits the Markov chain Monte Carlo method for the data regression. The discrete relaxation models can be built by a proper combination of well-known relaxation models. In addition to these models, the electrode polarization, which is a common measurement artifact for interpreting the dielectric spectra, can be incorporated in the modeling algorithm. A continuous relaxation model, which solves the Fredholm integral equation of the first kind (a mathematically ill-posed problem) is also included.

Yoon, Tae-Jun↗

Archparse

Archparse is a Python package that holds the purpose and capability of converting the contents of a text file to a functioning neural network based on the Tensorflow 2.X framework. This is able to be done with minimal written Python code and next to no knowledge of how to build models with Tensorflow directly. More specifically Archparse parses a text file with extension ".arch" which contains neural network architecture information that corresponds to either the Tensorflow 2.X API or custom code written with the Tensorflow 2.X API. Included in the initial version is the capacity to easily produce sequential autoencoders and sequential neural networks.

Vander Wal, MichaelD.↗

PsDNS

PsDNS is a Python package which makes it easy to solve partial differential equation using a pseudo-spectral method. The code uses Python classes and Numpy-like arrays to provide a simple interface with which users can construct equations, integrators, and diagnostics. It also includes implementation for common problems, in particular, the incompressible Navier-Stokes equation in a periodic domain, which is commonly used as a benchmark problem for turbulence research. PsDNS uses MPI to allow massively parallel computation for large problems.

Israel, Daniel↗

Curifactory

Curifactory is a library and CLI tool designed to help organize and manage research experiments in Python. Experiment management requires several aspects, including experiment orchestration, parameterization, caching, reproducibility, reporting, and parallelization. Existing projects such as MLFlow, MetaFlow, Luigi, and Pachyderm support these aspects in several different ways and to various degrees. Curifactory provides a different opinion to these, with a heavier focus on supporting general research experiment workflows for individuals or small teams working primarily in Python.

Martindale, Nathan [Oak Ridge National Lab. (ORNL)↗

tesuract v.1.0

SAND2021-14370 O Tesuract (tensor surrogate approximation and computation) provides Python tools to build machine learning regressors that include polynomial chaos expansions. The software also offers methods for creation regressors for tensor outputs such as spatially varying fields and using a reduced order modeling methodology. The library is built on and compatible with the scikit-learn API, which allows integration with one of the most ubiquitous machine learning Python libraries out there. 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.

Chowdhary, Kamaljit↗

NATURF

The Neighborhood Adaptive Tissues for Urban Resilience Futures tool (NATURF) is a Python workflow that generates les readable by the Weather Research and Forecasting (WRF) model. The NATURF Python modules use shapefiles containing building footprint and height data as input to calculate 132 building parameters at any resolution and converts the parameters into a binary file format.

Allen-Dumas, MelissaRee [Oak Ridge National Lab. (↗

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↗

Fast Sparse-Vector Cosine Similarity in Go

This software provides a fast way to perform efficient sparse matrix multiplication followed by top-n multiplication result selection. Functionality for performing matrix multiplication / cosine similarity separately is included in this package as well. This package is a pure Go port of a Python package developed by ING Bank (https://github.com/ing-bank/sparse_dot_topn) which uses Cython to execute the matrix multiplication in C++. Instructions for compiling bindings which can be called from Python are included with this package as well.

Shivers, Ryan [Oak Ridge National Lab. (ORNL), Oak↗

PYOED: AN ETENSIBLE SUITE FOR DATA ASSIMILATION AND MODEL-CONSTRAINED OPTIMAL DESIGN OF EXPERIMENTS

SF-23-005 PyOED is a highly extensible scientific package that enables developing and testing model-constrained optimal experimental design (OED) for inverse problems. Specifically, PyOED aims to be a comprehensive Python toolkit for model-constrained OED. The package targets scientists and researchers interested in understanding the details of OED formulations and approaches. It is also meant to enable researchers to experiment with standard and innovative OED technologies with a wide range of test problems (e.g., simulation models). OED, inverse problems (e.g., Bayesian inversion), and data assimilation (DA) are closely related research fields, and their formulations overlap significantly. Thus, PyOED is continuously being expanded with a plethora of Bayesian inversion, DA, and OED methods as well as new scientific simulation models, observation error models, and observation operators. These pieces are added such that they can be permuted to enable testing OED methods in various settings of varying complexities. The PyOED core is completely written in Python and utilizes the inherent object-oriented capabilities; however, PyOED is meant to be extensible rather than scalable. Specifically, PyOED is developed to ``enable rapid development and benchmarking of OED methods with minimal coding effort and to maximize code reutilization.'' PyOED will be continuously expanded with a plethora of Bayesian inversion, DA, and OED methods as well as new scientific simulation models, observation error models, and observation operators.

ATTIA, AHMEDMOHAMED↗

Multiverse: Bayesian model selection for neural networks

Multiverse is a code repository for a set of tools for Bayesian model selection for neural networks. The goal of the tools is to provide capabilities for selecting among prior and model specifications for Bayesian neural networks. Multiverse will include tools for creating Bayesian neural networks, evaluating the Bayesian model evidence, and performing inference in Bayesian neural networks. These components are written in Python, a high-level programming language that takes advantage of the Python ecosystem of high-quality open-source packages for machine learning and signal processing.

Klein, Natalie↗

ExactPack

A new version of the verification tool ExactPack, 1.7.0, includes three new solvers: A Radshocks solver, Riemann solver and an Elastic-Plastic Piston problem solver. The code has been refactored to work with Python 3. All Fortran code has been removed and solvers implemented in Fortran have been re-implemented in Python where necessary. All unit tests have been converted to use the Pytest format and all the GUI, CLI and verification analysis code has been removed.

Thrussell, Jasper↗

Robust Machine Learning

UQ4ML is a code repository for a set of tools for the development of robust machine learning methods, uncertainty quantification and explainability of machine learning methods. The goal of these tools is to develop more robust and statistically rigorous machine learning methods for scientific applications. These tools are developed in Python, a high-level programming language that takes advantage of the Python ecosystem of high-quality open-source packages for machine learning.

Oyen, Diane↗

pyvnc_client

A python VNC client written from scratch using python's socket library

Weber, Brian↗

Feature Interpretability

The feature interpretability code is a python module that interprets and analyzes neural networks trained on hydrodynamic simulation output in the form of numpy arrays. The code takes trained neural networks and extracts internal model states in the form of images. Additionally, tools for covariance analysis of network weights and predictions are provided. This code is built on the TensorFlow and PyTorch python libraries, and includes trained networks and example input data for demonstration purposes.

Callis, Skylar↗