Search NASASearch

SEARCH · Search NASA

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 73 records · Page 4

Application of an Empirical Density Law via Python for Aqueous Plutonium Chloride Systems for MCNP6

Criticality safety models for aqueous plutonium chloride systems often contain a significant bias due to assumptions in material compositions. These systems are currently modeled as a fictitious metal-water mixture because little is known about the true solution density. Furthermore, no predictive density tools or capabilities for modeling aqueous plutonium chloride systems are approved for use at Los Alamos National Laboratory. Recent density measurements of this ternary system (PuCl 3 -HCl-H 2 O) have allowed for the development of a more realistic density law, which is applied in this work via an empirical method based in Python. This tool, entitled PuCS (Plutonium Chloride Solution tool) may be used to determine solution density and composition based on the plutonium content, acid content, and temperature for MCNP6 inputs. PuCS has been found to predict density within 2% of experimental data. In conclusion, MCNP6 calculations have found that crediting minimal amounts of free acid (0.5 M) may correspond to a ~12% decrease in peak reactivity in comparison to current modeling methods.

42 ENGINEERING

A Python Tool for Aqueous Plutonium Nitrate Density Law Input Preprocessing in MCNP6

Here, this work develops a predictive density tool in Python, named Plutonium Nitrate Solutions (PuNS), to reduce bias and uncertainty in nuclear criticality safety calculations for plutonium nitrate systems. The Pitzer method and an empirical method were implemented into the PuNS tool to generate atom densities for use in MCNP6 material cards. These material cards are directly prepared into an MCNP6 input text file and are calculated based on customizable user inputs of plutonium content, nitric acid content, temperature, and plutonium isotope weight percentages. The PuNS tool is validated and verified against the International Criticality Safety Benchmark Evaluation Project Handbook experiments and is observed to predict densities within a root mean square error of 0.89% for the Pitzer method and 1.82% for the empirical method. These errors in density lead to up to 1569 pcm difference in MCNP6 calculated k eff for the Pitzer method and up to a 1751 pcm difference for the empirical method when compared to experimental benchmarks. Simultaneous work is also being performed at Los Alamos National Laboratory and the University of New Mexico to create a similar tool for plutonium chloride solutions, named Plutonium Chloride Solution, which aims to provide the accreditation of the chlorine absorption. These capabilities will not only provide more accurate models but also facilitate an improved understanding of solution systems and a potential relaxation in the conservatism of current aqueous plutonium processing criticality safety limits.

38 RADIATION CHEMISTRY, RADIOCHEMISTRY, AND NUCLEA

Eliater: a Python package for estimating outcomes of perturbations in biomolecular networks

We introduce Eliater, a Python package for estimating the effect of perturbation of an upstream molecule on a downstream molecule in a biomolecular network. The estimation takes as input a biomolecular network, observational biomolecular data, and a perturbation of interest, and outputs an estimated quantitative effect of the perturbation. We showcase the functionalities of Eliater in a case study of Escherichia coli transcriptional regulatory network.

59 BASIC BIOLOGICAL SCIENCES

PyFaults: A Python Toolkit for Stacking Fault Screening

PyFaults is an open-source Python library designed to model stacking fault disorder in crystalline materials and qualitatively assess the characteristic selective broadening effects in powder X-ray diffraction (PXRD). Here, the main capabilities of PyFaults are presented, including unit cell and supercell model construction, PXRD pattern calculation, assessment against experimental PXRD, and methods for rapid screening of candidate models within a set of possible stacking vectors and fault occurrence probabilities. This program aims to serve as a computationally inexpensive tool for identifying and screening potential stacking fault models in materials with planar disorder. Three diverse case studies, involving GaN, Li2MnO3 and Li3YCl6, are presented to illustrate the program functionality across a range of structure types and stacking fault modalities.

MATHEMATICS AND COMPUTING

An Open-Source Python Package for CFD Solution Verification

Informed decision-making using computational fluid dynamics (CFD) results requires quantifying the errors and uncertainties of a simulation. Verification, validation, and uncertainty quantification (VVUQ) methods were developed to address this need and have matured. However, these VVUQ analyses are often non-trivial and require CFD analysts and practitioners to have specific skill sets. This has led to the uneven adoption of VVUQ analyses, in part, based on the availability of software tools to aid CFD analysts and practitioners. Solution verification, a procedure to evaluate the accuracy of a simulation by estimating potential errors arising from the computational model and computing the uncertainties without comparing to results from a physical system, is one of the lagging VVUQ analyses as the absence of software has forced CFD analysts and practitioners to develop their own codes or piece together incomplete software from across the internet. This work presents an opensource Python package, CFDverify, to lower the barrier of entry and fill in the technological gap in solution verification. CFDverify also provides a streamlined framework to remove some potential errors in post-processing CFD results. The hope is that CFDverify can improve the quality and quantity of CFD solution verification in scientific and research studies and attract interest in developing a communal tool. This paper describes the design, features, and an example use of CFDverify.

Weinmeister, Justin [ORNL] (ORCID:0000000160090237

Python wrapper library and analysis functions for Geotab Altitude API [SWR-24-77]

This software library serves as a Python wrapper for Geotab's Altitude API. It streamlines querying of the API, converts loosely structured API outputs into a standardized tabular data format, and enables analysis of the resulting data tables. It also includes example notebooks showing how to use the library.

Bruchon, Matthew

Python Measurement-Informed Modelling Method (PythonMIMM) v1.02

This Python program implements the calculations for electrical energy efficiency and electrical losses in the paper "Energy and power quality measurement for electrical distribution in AC and DC microgrid buildings" (https://www.sciencedirect.com/science/article/abs/pii/S0306261921015658). The inputs are metered voltage, current, or power data of meters located throughout the DC system. In the absence of metered data, the user must input some other information about the building such as the types of power converters or wire lengths. The program will build a loss model of the DC system based on metered data and electrical information. It will also generate an equivalent AC system and determine the losses and efficiency.

Gerber, Daniel [Lawrence Berkeley National Laborat

ATcT — Active Thermochemical Tables Python Interface

SF-25-140 atct is a lightweight, Python client for the ATcT v1 API that enables programmatic access to high-accuracy thermochemical data and turnkey reaction-enthalpy analysis. The package implements full v1 endpoint coverage (species lookup by ATcT ID, name, formula, SMILES, InChI, CAS RN; covariance queries; health checks) with robust error handling, retries, and environment-based configuration for local/production endpoints. Beyond data retrieval, atct provides rigorously implemented reaction calculators that propagate uncertainties via either (i) a conventional independent-errors method (0 K or 298.15 K) or (ii) covariance-aware propagation using provided covariances at 298.15 K. Typed data classes ensure transparent, reproducible data structures and carry ATcT Thermochemical Network (TN) version identifiers for provenance. Dual import paths and comprehensive examples facilitate integration into research pipelines, enabling reproducible thermochemical calculations, automated validation, and downstream method development.

Bross, DavidHamilton [Argonne National Laboratory

PyJMAK: An Open-Source Python Toolkit for Modeling Solid-State Metallurgical Phase Transformations

Accurate prediction of metallurgical phase transformations is an essential basis for autonomous optimization and rapid part qualification. Several methods can be used to estimate the evolution of phase fractions such as JMAK kinetics-based models, phase-field models, thermodynamic models, and data-driven machine learning models. Thermodynamic and phase-field-based methodologies solve multiphysics equations requiring numerous calibration parameters and significant computational resources. As a result, the computation domain is limited to a point or on order of micron-meters. The data-driven models rely on large datasets from experiments and simulations. While the JMAK model only provides information about phase fraction evolution, it can predict this evolution in near real-time using thermal history and thermodynamic data without restriction on the domain. JMAK models have been popularly used by researchers to model phase transformations occuring during additive manufacturing or over arbitrary temperature profiles. Commercial proprietary software such as Abaqus and Ansys or closed-source in-house implementations offer the ability to model JMAK based kinetics to predict phase transformation. However, these software packages are not open-source or freely available for use and development in conjunction with manufacturing machines, sensors, and machine learning algorithms. In addition, the use of the model is restricted by a license token. In contrast, given temperature profiles at multiple points in the domain, this Python-based PyJMAK model can compute phase evolution in parallel due to its stand-alone modular, voxel-based structure, and it can be executed on high-performance computing resources without any license restrictions.

Prabhune, Bhagya [Oak Ridge National Laboratory (O

Goated: goal-oriented tensor decompositions in python

SAND2026-20464O Goated performs goal-oriented tensor decompositions in Python, enabling efficient compression of multi-dimensional simulation data. It extends common tensor decomposition methods by incorporating domain-specific knowledge, such as conservation laws in physics, through a penalty term in the optimization process. This approach improves data compression and modeling accuracy across various applications, including physics simulations, by using specialized algorithms and structure-aware subroutines to accelerate solver performance. 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

swe-python

Python shallow water equations solver.

Lilly, Jeremy [Los Alamos National Lab]

python-regionalizer

A Python module and Jupyter Notebook for data regionalization (i.e., discretizing data to county or community levels).

LCA; data processing

Python-EPICS RF Conditioning Automatic Control System at the Spallation Neutron Source

The RF Test Facility (RFTF) at the Spallation Neutron Source (SNS) is used for the conditioning of RF compo-nents such as ceramic vacuum windows and power cou-plers prior to their installation in the H- ion linear accel-erator. This process exposes components to high-power RF fields and thermal cycling to improve performance and remove surface impurities. To automate and optimize this process, a Python-based EPICS control system was developed alongside targeted hardware upgrades. The system enables real-time monitoring and control of RF power levels, temperature, and vacuum pressure. A user-friendly graphical interface was implemented using CS-Studio (Phoebus), allowing operators to adjust parameters and collect data efficiently. The system integrates a High-Power Protection Module (HPM) for interlocks based on vacuum and arc detection, ensuring safe operation. These upgrades have significantly improved the efficiency, accuracy, and safety of RF conditioning at the SNS RFTF. This paper describes the updated RF conditioning sys-tem, highlighting the software and hardware develop-ments and their application in support of the Proton Pow-er Upgrade (PPU) project.

Lee, Sung-Woo [ORNL] (ORCID:000000030915835X)

xCDAT: A Python Package for Simple and Robust Analysis of Climate Data

xCDAT (Xarray Climate Data Analysis Tools) is an open-source Python package that extends Xarray (Hoyer & Hamman, 2017) for climate data analysis on structured grids. xCDAT streamlines analysis of climate data by exposing common climate analysis operations through a set of straightforward APIs. Some of xCDAT’s key features include spatial averaging, temporal averaging, and regridding. These features are inspired by the Community Data Analysis Tools (CDAT) library (Dean N. Williams et al., 2009) (D. N. Williams, 2014) (Doutriaux et al., 2019) and leverage powerful packages in the Xarray ecosystem including xESMF (Zhuang et al., 2023), xgcm (Abernathey et al., 2022), and CF xarray (Cherian et al., 2023). To ensure general compatibility across various climate models, xCDAT operates on datasets that are compliant with the Climate and Forecast (CF) metadata conventions (Hassell et al., 2017).

54 ENVIRONMENTAL SCIENCES

DRDMannTurb: A Python package for scalable, data-driven synthetic turbulence

Synthetic turbulence models (STMs) are used in wind engineering to generate realistic flow fields and are employed as inputs to industrial wind simulations. Examples include prescribing inlet conditions in large eddy simulations that model loads on wind turbines and tall buildings. We are interested in STMs capable of generating fluctuations based on prescribed second-moment statistics since such models can simulate environmental conditions that closely resemble on-site observations. To this end, the widely used Mann model (see Mann, 1994, 1998) is the inspiration for DRDMannTurb. The Mann model is described by three physical parameters: a magnitude parameter influencing the global variance of the wind field and corresponding to the Kolmogorov constant multiplied by the rate of viscous dissipation of the turbulent kinetic energy to the two-thirds, αϵ 2/3 , a turbulence length scale parameter L, and a nondimensional parameter Γ related to the lifetime of the eddies. A number of studies, as well as international standards (e.g., those by the International Electrotechnical Commission (IEC)), include recommended values for these three parameters with the goal of standardizing wind simulations according to observed energy spectra. Yet, having only three parameters, the Mann model faces limitations in accurately representing the diversity of observable spectra. This Python package enables users to extend the Mann model and more accurately fit field measurements through flexible neural network models of the eddy lifetime function. Following Keith et al. (2021), we refer to this class of models as Deep Rapid Distortion (DRD) models. DRDMannTurb also includes a general module implementing an efficient method for synthetic turbulence generation based on a domain decomposition technique. This technique is also described in Keith et al. (2021).

17 WIND ENERGY

popclass: A Python Package for Classifying Microlensing Events

popclass is a Python package that provides a flexible, probabilistic framework for classifying the lens of a gravitational microlensing event. Gravitational microlensing occurs when a massive foreground object (e.g., a star, white dwarf or black hole) passes in front of and lenses the light from a distant background source. This causes an apparent brightening, and shift in position, of the background source. In most cases, characteristics of the microlensing signal do not contain enough information to definitively identify the lens type. Different lens types lie in different but overlapping regions of the characteristics of the microlensing signal. For example, black holes tend to be more massive than stars and therefore cause microlensing signals that are longer. Current Galactic simulations enable us to predict where different lens types lie in the observational space and can therefore be used to classify events (e.g., Lam et al., 2020). popclass allows the user to match the characteristics of a microlensing signal with a simulation of the Galaxy to calculate lens type probabilities for the event (see Figure 1). Constraints on any microlensing signal properties and any Galactic model can be used. popclass comes with an interface to ArviZ (Kumar et al., 2019) and PyMultiNest (Buchner et al., 2014) for microlensing signal constraints, as well as pre-loaded Galactic models, plotting functionality, and methods to quantify the classification uncertainty. The probabilistic framework for popclass was developed in Perkins et al. (2024), used in Fardeen et al. (2024) and has been applied to classifying events in Kaczmarek et al. (2025).

97 MATHEMATICS AND COMPUTING

AutoUncertainties: A Python Package for Uncertainty Propagation

Propagation of uncertainties is of great utility in the experimental sciences. While the rules of (linear) uncertainty propagation are straightforward, managing many variables with uncertainty information can quickly become complicated in large scientific software stacks. Often, this requires programmers to keep track of many variables and implement custom error propagation rules for each mathematical operator and function. The Python package AutoUncertainties, described here, provides a solution to this problem.

97 MATHEMATICS AND COMPUTING