Engineering Papers⌕ Search

SEARCH · Engineering Papers

Results for “python, computer programming”

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 91 records · Page 5

Validation of MCNP Critical Benchmark Models of Moderated Highly Enriched Uranium Slabs

A new centralized repository of high-quality MCNP models of critical benchmark experiments is currently under development at Los Alamos National Laboratory (LANL). The benchmark experiments are described in the International Criticality Safety Benchmark Evaluation Project (ICSBEP) Handbook, and the initial set of benchmark models are derived from the Whisper Suite provided with MCNP6.2. This effort is a collaboration among the Nuclear Criticality Safety, Nuclear Data, and Monte Carlo code development/application organizations at LANL. The goal is to build a single LANL benchmark collection that is up to date with the latest ICSBEP revision, has a formal review and revision process, is contained in an open-source repository, and utilizes new Python tools for improved input and output file review. This paper describes the validation of the models associated with HEU-MET-FAST-007, “Uranium Metal Slabs Moderated with Polyethylene, Plexiglas, and Teflon”. The Monte Carlo n-Particle (MCNP) models were compared to the second revision of HEU-MET-FAST-007. The experiment considered critical configurations of highly enriched uranium (HEU) metal slabs and various moderators in 43 unique cases. The slabs of uranium were separated by layers of moderating material, forming an assembly. The assembly was separated in two halves with one half placed on a stationary table and the other attached to a moveable table that could be raised and lowered via pulleys connected to the ceiling of the shielded room. To reach criticality, the two halves were brought together with a negligible gap between the assemblies.

73 NUCLEAR PHYSICS AND RADIATION PHYSICS↗

Tough Errors Are no Match (TEAM): Optimizing the quantum compiler for noise resilience

This report summarizes Unitary Fund’s contributions to the Department of Energy’s TEAM project (DE-SC0020266) under Thrust 2: Quantum Programming and Compilation. The central outcomes of this work have been the development of Mitiq, an open-source Python toolkit for applying quantum error mitigation (QEM) techniques to noisy quantum programs, and the invention, benchmarking and theoretical investigation of novel QEM techniques. Additional outcomes include the development of other open source software packages for the usage, simulation and control of quantum computers.

97 MATHEMATICS AND COMPUTING↗

ARM data-oriented metrics and diagnostics package for climate model evaluation (ARM-DIAGS-V3) version 3

A Python-based metrics and diagnostics package is currently being developed by the ARM Infrastructure Team at Lawrence Livermore National Laboratory to facilitate the use of long-term high frequency measurements from the ARM program in evaluating the regional climate simulation of clouds, radiation, precipitation, and aerosols. This metrics and diagnostics package computes climatological means of targeted climate model simulation and generates tables and plots for comparing the model simulation with ARM observational data. The CMIP model data sets are also included in the package to enable model inter-comparison as demonstrated in Zhang et al. (2018) and Zhang et al. (2020). The mean of the CMIP model can be served as a reference for individual models. Basic performance metrics are computed to measure the accuracy of mean state and variability of climate models. The evaluated physical quantities include cloud fraction, temperature, relative humidity, cloud liquid water path, total column water vapor, precipitation, sensible and latent heat fluxes, aerosol optical depth, and radiative fluxes, with plan to extend to more fields, such as the evaluation of model simulated aerosol physicochemical properties and cloud microphysics properties. Process-oriented diagnostics focusing on aerosol, cloud, and precipitation-related phenomena are also being developed for the evaluation and development of specific model physical parameterizations. In addition to the Southern Great Plains (SGP), North Slope of Alaska (NSA) and Tropical Western Pacific (TWP) atmospheric observatories in the ARMDIAGS version 2.0, the version 3.0 package have extended to the data collected at the ARM Eastern North Atlantic (ENA) atmospheric observatory and the Observation and Modeling of the Green Ocean Amazon (GOAMAZON) field campaign. The metrics and diagnostics package are currently built upon standard Python libraries and additional Python packages developed by DOE (CDAT). The ARM metrics and diagnostic package is available publicly with the hope that it can serve as an easy entry point for climate modelers to compare their models with ARM data. In this report, we first provide an overview of major metrics in section 2. The input data, which constitutes the core content of the metrics and diagnostics package, is summarized in section 3. A user's guide documenting the workflow/structure of the version 3.0 codes and including step-by-step instruction for running the package is described in section 4.

54 ENVIRONMENTAL SCIENCES↗

Differentiable Quantum Programming with Unbounded Loops

The emergence of variational quantum applications has led to the development of automatic differentiation techniques in quantum computing. Existing work has formulated differentiable quantum programming with bounded loops, providing a framework for scalable gradient calculation by quantum means for training quantum variational applications. However, promising parameterized quantum applications, e.g., quantum walk and unitary implementation, cannot be trained in the existing framework due to the natural involvement of unbounded loops. To fill in the gap, we provide the first differentiable quantum programming framework with unbounded loops, including a newly designed differentiation rule, code transformation, and their correctness proof. Technically, we introduce a randomized estimator for derivatives to deal with the infinite sum in the differentiation of unbounded loops, whose applicability in classical and probabilistic programming is also discussed. We implement our framework with Python and Q# and demonstrate a reasonable sample efficiency. Through extensive case studies, we showcase an exciting application of our framework in automatically identifying close-to-optimal parameters for several parameterized quantum applications.

Computer Science↗

Hypergraph Analytics of Domain Name System Relationships

We report on the use of novel mathematical methods in hypergraph analytice over a large quantity of DNS data. Hypergraphs generalize graphs, as used in network science, to better model complex multiway relations in cyber data. Specifically, casting DNS data from Georgia Tech's ActiveDNS repository as hypergraphs allows us to fully represent the interactions between {\em collections} of domains and IP addresses. To facilitate large-scale analytics, we fielded an analytical pipeline of two capabilities. HyperNetX (HNX) is a Python package for the exploration and visualization of hypergraphs, acting as a frontend. For the backend, the Chapel HyperGraph Library (CHGL) is a library for high performance hypergraph analytics written in the exascale programming language Chapel. CHGL was used to process gigascale DNS data, performing compute-intensive calculations for data reduction and segmentation. Identified portions are then sent to HNX for both exploratory analysis and knowledge discovery targeting known tactics, techniques, and procedures.

Joslyn, Cliff A.↗

pyEGAF: An open-source Python library for the Evaluated Gamma-ray Activation File

The Evaluated Gamma-ray Activation File (EGAF) is one of the most comprehensive resources for thermal neutron-capture data. This database contains data from prompt gamma activation analysis measurements carried out in a consistent manner using the same experimental configuration at the Budapest Research Reactor for 245 isotopes. Although these valuable datasets have been freely available for many years, one of the drawbacks is the outdated and cryptic Evaluated Nuclear Structure Data File (ENSDF) format that is currently adopted for dissemination, making it difficult for users unfamiliar with the format to access and utilize the data contained therein. Furthermore, the ENSDF format does not readily lend itself to modern computational technologies and a parser is required to interpret the complicated mixed-record format. To help overcome these challenges, we have developed a translator to convert the ENSDF-formatted datasets into an open standard JavaScript Object Notation (JSON) format enabling accessibility to applications using different programming languages running in different environments. To compliment this effort, we have also developed an open-source software package implemented in Python, pyEGAF, that is designed to interact with the JSON data structures for general purpose access, manipulation, and analysis of the neutron-capture $\gamma$-ray data in EGAF. The new format, together with the pyEGAF library, greatly enhances access to the wider applications community where EGAF data may be useful or is required.

73 NUCLEAR PHYSICS AND RADIATION PHYSICS↗

Unified Language Frontend for Physic-Informed AI/ML

Artificial intelligence and machine learning (AI/ML) are becoming important tools for scientific modeling and simulation as in several other fields such as image analysis and natural language processing. ML techniques can leverage the computing power available in modern systems and reduce the human effort needed to configure experiments, interpret and visualize results, draw conclusions from huge quantities of raw data, and build surrogates for physics based models. Domain scientists in fields like fluid dynamics, microelectronics and chemistry can automate many of their most difficult and repetitive tasks or improve the design times by use of the faster ML-surrogates. However, modern ML and traditional scientific highperformance computing (HPC) tend to use completely different software ecosystems. While ML frameworks like PyTorch and TensorFlow provide Python APIs, most HPC applications and libraries are written in C++. Direct interoperability between the two languages is possible but is tedious and error-prone. In this work, we show that a compiler-based approach can bridge the gap between ML frameworks and scientific software with less developer effort and better efficiency. We use the MLIR (multi-level intermediate representation) ecosystem to compile a pre-trained convolutional neural network (CNN) in PyTorch to freestanding C++ source code in the Kokkos programming model. Kokkos is a programming model widely used in HPC to write portable, shared-memory parallel code that can natively target a variety of CPU and GPU architectures. Our compiler-generated source code can be directly integrated into any Kokkosbased application with no dependencies on Python or cross-language interfaces.

71 CLASSICAL AND QUANTUM MECHANICS, GENERAL PHYSIC↗

Implementing a unified solver for nonlinearly constrained optimization

SQP and interior-point methods (also referred to as Lagrange-Newton methods) typically share key algorithmic components, such as strategies for computing descent directions and mechanisms that promote global convergence. Building on this insight, we introduce a unifying framework with eight building blocks that abstracts the workflows of Lagrange-Newton methods. We then present Uno, a modular C++ solver that implements our unifying framework and allows the automatic combination of a wide range of strategies with no programming effort from the user. Uno is meant to (1) organize mathematical optimization strategies into a coherent hierarchy; (2) offer a wide range of efficient and robust methods that can be compared for a given instance; (3) enable researchers to experiment with novel optimization strategies; and (4) reduce the cost of development and maintenance of multiple optimization solvers. Uno’s software design allows user to compose new customized solvers for emerging optimization areas such as robust optimization or optimization problems with complementarity constraints, while building on reliable nonlinear optimization techniques. We demonstrate that Uno is highly competitive against state-of-the-art solvers filterSQP, IPOPT, SNOPT, MINOS, LANCELOT, LOQO, and CONOPT on a subset of 429 small problems from the CUTE collection. Uno is available as open-source software under the MIT license at https://github.com/cvanaret/Uno and via its C, Julia, Python, Fortran, and AMPL interfaces.

97 MATHEMATICS AND COMPUTING↗

MolSym : A Python package for handling symmetry in molecular quantum chemistry

A consideration of the point group symmetry of molecules is often advantageous from a computational efficiency standpoint and sometimes necessary for the correct treatment of chemical physics problems. Many modern electronic structure software packages include a treatment of symmetry, but these are sometimes incomplete or unusable outside of that program’s environment. Therefore, we have developed the MolSym package for handling molecular symmetry and its associated functionalities to provide a platform for including symmetry in the implementation and development of other methods. Features include point group detection, molecule symmetrization, arbitrary generation of symmetry element sets and character tables, and symmetry adapted linear combinations of real spherical harmonic basis functions, Cartesian displacement coordinates, and internal coordinates. We present some of the advantages of using molecular symmetry as achieved by MolSym, particularly with respect to Hartree–Fock theory, and the reduction of finite difference displacements in gradient/Hessian computations. Furthermore, this package is designed to be easily integrated into other software development efforts and may be extended to further symmetry applications.

37 INORGANIC, ORGANIC, PHYSICAL, AND ANALYTICAL CH↗

The Kokkos EcoSystem: Comprehensive Performance Portability For High Performance Computing

State of the art Engineering and Science codes have grown in complexity dramatically over the last two decades. As a consequence application teams have adopted more sophisticated development strategies, leveraging third party libraries, deploying comprehensive testing and using advanced debugging and profiling tools. In todays environment of diverse hardware platforms, these applications also desire performance portability - avoiding the need to duplicate work for various platforms - which makes it necessary that these tools and libraries also work across the various systems. The Kokkos EcoSystem provides that portable software stack. Based on the Kokkos Core Programming Model, the EcoSystem provides math libraries, interoperability capabilities with Python and Fortran, and Tools for analysing, debugging, and optimizing applications. In this paper we will provide an overview of the components, discuss some specific use cases, and highlight how co-designing these components enables a more developer friendly experience.

42 ENGINEERING↗

Solar Field Layout and Aimpoint Strategy Optimization

The existing methods that determine heliostat aiming strategies for concentrating solar power (CSP) central receiver plants typically use heuristics and/or are computationally expensive, and they lack flexibility for different desired flux profiles and receiver geometries. Because of the interaction between layout and aimpoint strategy, considering the former without accounting for the latter may yield solutions with superfluous heliostats that cannot be used efficiently without compromising receiver flux constraints. To that end, we develop a software decision tool that uses innovative optimization methods to both optimize aimpoint strategies and improve candidate layouts for the solar collection field of a CSP central receiver plant. A CSP plant’s effectiveness relies on the optical efficiency of the solar field, which may be limited by losses due to (i) the cosine effect, (ii) atmospheric attenuation, (iii) interference (i.e., shading and blocking) between heliostats, (iv) spillage as a result of heliostat positioning and geometry, and (iv) some heliostats’ inability to direct irradiance to the receiver without damage due to excessive thermal flux. The goal of this work is to obtain optimized aiming strategies and improved solar field layouts that reduce capital cost and increase field optical efficiency and utilization, while meeting the power requirements of a given CSP receiver design. We formulate the aimpoint optimization problem as a mixed-integer linear programming model, which we then decompose into submodels that we solve in parallel. The decomposition subdivides the solar field into sections, and aimpoint strategies for each section are obtained independently of the others. To improve existing layouts, we develop a utilization-weighted efficiency metric that we use to relocate heliostats to sections of the solar field with similar efficiency and higher utilization. Finally, to connect our software to high-fidelity flux models, we develop a Python application programming interface for SolarPILOT, a mature software package that characterizes solar field performance and generates the heliostat layouts and flux maps that serve as input to our models.

14 SOLAR ENERGY↗

Large language model evaluation for high–performance computing software development

We apply AI-assisted large language model (LLM) capabilities of GPT-3 targeting high-performance computing (HPC) kernels for (i) code generation, and (ii) auto-parallelization of serial code in C ++, Fortran, Python and Julia. Our scope includes the following fundamental numerical kernels: AXPY, GEMV, GEMM, SpMV, Jacobi Stencil, and CG, and language/programming models: (1) C++ (e.g., OpenMP [including offload], OpenACC, Kokkos, SyCL, CUDA, and HIP), (2) Fortran (e.g., OpenMP [including offload] and OpenACC), (3) Python (e.g., numpy, Numba, cuPy, and pyCUDA), and (4) Julia (e.g., Threads, CUDA.jl, AMDGPU.jl, and KernelAbstractions.jl). Kernel implementations are generated using GitHub Copilot capabilities powered by the GPT-based OpenAI Codex available in Visual Studio Code given simple + + prompt variants. To quantify and compare the generated results, we propose a proficiency metric around the initial 10 suggestions given for each prompt. For auto-parallelization, we use ChatGPT interactively giving simple prompts as in a dialogue with another human including simple “prompt engineering” follow ups. Results suggest that correct outputs for C++ correlate with the adoption and maturity of programming models. For example, OpenMP and CUDA score really high, whereas HIP is still lacking. We found that prompts from either a targeted language such as Fortran or the more general-purpose Python can benefit from adding language keywords, while Julia prompts perform acceptably well for its Threads and CUDA.jl programming models. Finally, we expect to provide an initial quantifiable point of reference for code generation in each programming model using a state-of-the-art LLM. Overall, understanding the convergence of LLMs, AI, and HPC is crucial due to its rapidly evolving nature and how it is redefining human-computer interactions.

97 MATHEMATICS AND COMPUTING↗

gpCAM v8

gpCAM is a Python software for large-scale Gaussian-Process driven uncertainty quantification, Bayesian Optimization, and Autonomous Experimentation. It is designed with maximum flexibility and customizability while offering record-breaking computing capabilities. In 2023 gpCAM broke the world record for Gaussian processes on large datasets set in 2019. Through clever programming and math, Gaussian Process building blocks, such as prior mean, kernel, and noise functions maintain their mathematical flexibility while supporting acceleration and scaling. This flexibility means that the approximation and uncertainty quantification can be domain-aware and extended over exotic input and output spaces.

Noack, Marcus↗

Decoherence Noise on the Superconducting Qubits Training Program

Quantum computing is a growing field with promising applications in a variety of fields such as healthcare, energy consumption, and cryptography. Quantum computing leverages the principles of quantum mechanics - superposition and entanglement. Yet, in the Noisy Intermediate Scale Quantum (NISQ) Era - quantum systems face the major challenge of decoherence due to noise. This era is characterized by low amounts of qubits and high gate error. Decoherence leads to the loss of the quantum information stored in the qubit. Noise occurs with any quantum system that is exposed to the environment. It should also be noted that quantum information can be stored in the cavity - Fermilab specializes in coupling transmons to ultrahigh-Q SRF cavities. The Superconducting Qubits Training Program (SQTP) provides a visualization for beginners in quantum computing. The open quantum system simulated is a superconducting qubit (two-level atom) coupled to a microwave cavity whose excitations are photons. The Rotating Wave Approximation of the Jaynes-Cumming Hamiltonian is used. SQTP utilizes open-source Python-based libraries scQubits, NumPy, and QuTiP alongside the Master Lindblad equation. In this project, we study the different decay behaviors of qubits and cavities with collapse operators.

Lopez, Sara↗

PyCDFT: A Python package for constrained density functional theory

In this paper, we present PyCDFT, a Python package to compute diabatic states using constrained density functional theory (CDFT). PyCDFT provides an object-oriented, customizable implementation of CDFT, and allows for both single-point self-consistent-field calculations and geometry optimizations. PyCDFT is designed to interface with existing density functional theory (DFT) codes to perform CDFT calculations where constraint potentials are added to the Kohn–Sham Hamiltonian. Here, we demonstrate the use of PyCDFT by performing calculations with a massively parallel first-principles molecular dynamics code, Qbox, and we benchmark its accuracy by computing the electronic coupling between diabatic states for a set of organic molecules. We show that PyCDFT yields results in agreement with existing implementations and is a robust and flexible package for performing CDFT calculations. The program is available at https://dx.doi.org/10.5281/zenodo.3821097.

37 INORGANIC, ORGANIC, PHYSICAL, AND ANALYTICAL CH↗

Integrating Machine-learning-assisted Computer Vision with RICH System

Developments in artificial intelligence have vastly expanded the capabilities of robots. Currently, the Spallation Neutron Source (SNS) beamlines at Oak Ridge National Lab (ORNL) have robotic sample loaders to increase the efficiency of running experiments. However, they require retraining if anything about the situation changes, e.g., where the samples are, and cannot notice if errors occur. So, the viability of using computer vision and machine learning to enhance these sample loaders’ functionality was investigated. In this project, the RICH system with a Dobot CR3 6-axis robot present at the VULCAN beamline assisted by an Intel Realsense D435i camera, a unique camera that enables convenient translation of 2D pixel coordinates to 3D world points, was programmed to load ceramic crucibles into a thermogravimetric analyzer (TGA) furnace. An algorithm was constructed in Python with three major phases planned: (1) obtaining a sample, (2) moving it to the target location, and then (3) bringing the sample back to its original location once the experiment finished. In the first phase, the algorithm would dynamically detect sample locations using ArUco markers to recognize the samples’ general location and a custom-trained yolov5 object detection model to locate the crucibles’ centers. Afterward, the robot would be directed to pick up samples based on the crucibles’ calculated positions. In the second phase, the robot would move the sample to a secondary point, reorient its grip, and place the sample at the target location. In the final phase, the robot would determine whether the sample was intact and would bring it back to its original place if it was or raise an alarm. Using this algorithm, the robot was able to pick up different types of crucibles at varying positions. These results indicate that integrating machine-learning-assisted computer vision with robotic sample loaders can result in effective autonomous detection of samples.

97 MATHEMATICS AND COMPUTING↗

SEAS Communication Engine: An Extensible, Flexible Wrapper for Co-Simulation Agents

When modeling and analyzing the power grid and other large scale systems, researchers often express scenarios as optimization problems and feed them into advanced software solvers. In order to allow multiple solvers to communicate with each other and share data from different domains, the National Renewable Energy Laboratory (NREL) and associated Department of Energy (DOE) labs have developed a software framework called the Hierarchical Engine for Large-scale Infrastructure Co-Simulation (HELICS). HELICS allows cosimulation via a collection of client libraries for different languages that can be called from the appropriate optimization software. However, these client libraries do not provide a higher level of abstraction beyond reading and writing data off of the shared HELICS bus. In this paper, we describe a new software library called the SEAS Communication Engine that exposes a higher-level API for running cosimulation problems. The SEAS Engine provides a class-based abstraction on top of the Python HELICS client, in order to allow users to implement their domain-specific cosimulations without needing to interact with core HELICS primitives. This will make adoption of HELICS and cosimulation in general easier, by exposing a simpler API. In the second part of the paper, we validate our library on a collection of different simulation examples, including the canonical IEEE 13 Bus Feeder. Lastly, we demonstrate using the SEAS Engine to directly call domain-specific code written in the Julia programming language. Our hope is that this will serve as a template for easily calling software in different programming languages via the SEAS Engine, thereby avoiding code duplication and complexity.

co-simulation↗

Automated Calibration System for Beam Current Monitor

The Beam Current Monitor (BCM) measures the instantaneous current in a beam. This work aims to develop an automated calibration system for the BCM to address the need for calibration without interrupting beam operation. We strive to create a synchronous calibration method integrated into the master timeline by utilizing the pulsed nature of synchrotrons to run calibration pulses during inter-pulse gaps. This improvement should enhance operational efficiency, ensure safe operation, and help mitigate beam loss, all by enabling intermittent calibration during the operation of the accelerator. This is accomplished by developing a Python program that interfaces with a Keithley 6221 DC and AC source and a Keithley 2182A Nanovoltmeter. The program configures both of these devices to perform a selected mode of the current sweep, allows for the initiation of the current sweep, collects the measured voltage data from the 2182A, stores the collected data to the computer in a CSV file, and graphs the collected data.

Haller, James↗