Search NASA⌕ Search

SEARCH · Search NASA

Results for “Python environment”

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

ATLAS: a Snakemake workflow for assembly, annotation, and genomic binning of metagenome sequence data

Background: Metagenomics and metatranscriptomics studies provide valuable insight into the composition and function of microbial populations from diverse environments, however the data processing pipelines that rely on mapping reads to gene catalogs or genome databases for cultured strains yield results that underrepresent the genes and functional potential of uncultured microbes. Recent improvements in sequence assembly methods have eased the reliance on genome databases, thereby allowing the recovery of genomes from uncultured microbes. However, configuring these tools, linking them with advanced binning and annotation tools, and maintaining provenance of the processing continues to be challenging for researchers. Results: Here we present ATLAS, a software package for customizable data processing from raw sequence reads to functional and taxonomic annotations using state-of-the-art tools to assemble, annotate, quantify, and bin metagenome and metatranscriptome data. Genome-centric resolution and abundance estimates are provided for each sample in a dataset. ATLAS is written in Python and the workflow implemented in Snakemake; it operates in a Linux environment, and is compatible with Python 3.5+ and Anaconda 3+ versions. The source code for ATLAS is freely available, distributed under a BSD-3 license. Conclusions: ATLAS provides a user-friendly, modular and customizable Snakemake workflow for metagenome and metatranscriptome data processing; it is easily installable with conda and maintained as open-source on GitHub at https://github.com/metagenome-atlas/atlas.

59 BASIC BIOLOGICAL SCIENCES↗

JPype

JPype is a Python module to provide full access to Java from within Python. It allows Python to make use of Java only libraries, exploring and visualization of Java structures, development and testing of Java libraries, scientific computing, and much more. By gaining the best of both worlds using Python for rapid prototyping and Java for strong typed production code, JPype provides a powerful environment for engineering and code development. This is achieved not through re-implementing Python, as Jython has done, but rather through interfacing at the native level in both virtual machines. This shared memory based approach achieves decent computing performance, while providing the access to the entirety of CPython and Java libraries.

Nelson, KarlE.↗

MONTE Python for Deep Space Navigation

The Mission Analysis, Operations, and Navigation Toolkit Environment (MONTE) is the Jet Propulsion Laboratory’s (JPL) signature astrodynamic computing platform. It was built to support JPL’s deep space exploration program, and has been used to fly robotic spacecraft to Mars, Jupiter, Saturn, Ceres, and many solar system small bodies. At its core, MONTE consists of low-level astrodynamic libraries that are written in C++ and presented to the end user as an importable Python language module. These libraries form the basis on which Python-language applications are built for specific astrodynamic applications, such as trajectory design and optimization, orbit determination, flight path control, and more. The first half of this paper gives context to the MONTE project by outlining its history, the field of deep space navigation and where MONTE fits into the current Python landscape. The second half gives an overview of the main MONTE libraries and provides a narrative example of how it can be used for astrodynamic analysis.

aerospace↗

Development of neural network force fields for corrosion studies

To fully understand the chemistry and physics of corrosion, novel methods of simulation must be developed. One approach is designing machine learning (ML) algorithms integrated with density functional theory to develop adaptive force fields to gain insight into corrosion behavior namely at the surface of metal oxides. Current methods of modeling corrosion are slow due to the computational cost of resolving both reaction mechanics and mass transport processes. Machine learning methods can be implemented to obtain structure-activity relationships at both the molecular and bulk scale while still retaining the accuracy of density functional theory (DFT) and significantly decreasing the time needed for simulations of complex chemical processes in the various environments of corrosion. Multiscale models are needed for corrosion studies to fully understand its processes not only at the atomic length scale (chemical bonding, energies, and forces), but also at the nano and meso length scales (solid-state physics and material science processes). Current methods of study include DFT, molecular dynamics, and Monte Carlo. The limitation of DFT is that only a small number of atoms or molecules can be simulated at that level of theory. Density functional theory is used to study the electronic structure of atoms and molecules, and calculate the force component of each atom. However, these calculations are limited to about 1000 atoms. Custom periodic boundary conditions (PBC) can be used to describe the various environments and defects that affect the atomic forces to produce a large data set from which a training set can be derived. Machine learning can be utilized to overcome the barrier of modeling macroscopic and multi-scale processes from ab initio calculations through the development of adaptive force fields. Local environments determine the atomic forces of a given system, therefore adaptive force fields must be created to produce reliable quantum mechanical calculations. This can be achieved by developing a learning algorithm that uses the mapped atomic forces or fingerprint as an input to produce energies and magnetic moments as output. A systematic approach was used to begin to build a data set in order to accurately describe the atomic forces in various environments. In Figure 4 below, a simple PBC cell of Fe{sub 2}O{sub 3} was first optimized. A surface optimization was performed next, followed by a hydroxylated surface optimization. Once this calculation has converged, the adsorption of halide species to the hydroxylated surface will be investigated. TensorFlow is an open source platform for machine learning developed by Google. Using a high level application program interface (API) such as Keras allows for building and training ML models easily in a number of different environments and languages. For this project, a neural network was developed within Anaconda in Python. Future Work: Further development of reference data set; Refining neural network and learning algorithm; Fingerprinting atomic environment to enable mapping of atomic force components; Choosing appropriate training set from reference data; Learning from training set and enabling non-linear mapping of training set fingerprints and the atomic forces; Estimation of uncertainty to identify ranges of outside applicability; Testing and analysis of molecular dynamic simulations.

36 MATERIALS SCIENCE↗

Steam generator model design parameter sensitivity study for small modular reactor system

Here, this study focuses on design parameter sensitivity studies pertaining to several Once-Through Steam Generator (OTSG) model cases both with and without a riser using python and advanced risk assessment and optimization tool, i.e. Risk Analysis Virtual Environment (RAVEN) developed at Idaho National Laboratory (INL), to support a Small Modular Reactor (SMR) system. The presented Steam Generator (SG) python-based model is a mathematical representation of a steam-generating unit for a Pressurized Water Reactor (PWR)-type SMR system, including fluid flow and heat transfer equations, models, and correlations. Design studies involve changing the model’s input design parameters (e.g., temperature, pressure, mass flow rate) to observe the resulting effects on the output of the system, such as the Heat Transfer Coefficient (HTC), Reynolds number, Nusselt number, and heat transfer performance. Sensitivity studies analyze the degree to which system output and/or desired parameters (e.g., HTC or heat transfer performance) are sensitive to changes in the input parameters. By using RAVEN, detailed design parametric sensitivity studies. Six input parameters—namely, the pressure, temperature, and mass flow rate for the inlet of the primary-side (hot fluid) and secondary-side (cold fluid) of the SG—were randomly perturbed via RAVEN’s Monte Carlo Sampler module, using uniform distributions (i.e., ±1%, ±5% and ±10 % relative changes) for 600 samples. The analysis results give valuable insights into SG system performance, and provide justification for further research and development such as optimized sensor placement, design verification, validation, and optimization.

21 SPECIFIC NUCLEAR REACTORS AND ASSOCIATED PLANTS↗

Open-source Numerical Modeling of Solidification Cracking Susceptibility: Application to Refractory Alloy Systems

Introduction. Alloys such as aluminum, nickel-base, and austenitic stainless steels are susceptible to solidification cracking during welding and 3D printing. Compositional optimization is one method used to effectively mitigate solidification cracking of those alloy systems. With the surge in hypersonic and in-space propulsion activities, refractory metals (Nb, Mo, Ta, W, and Re) and their alloy derivatives are increasing in importance due to their extreme high melting point and retention of high-temperature strength; however, their chemistry was most typically optimized to promote ductility during mechanical operations such as drawing and forming. Welding of such alloys has been a challenge due to a number of issues including solidification cracking, atmospheric contamination (O, C, and N), as well as a shift in ductile-to-brittle transition to higher temperature following grain growth induced by welding. Compositional optimization of refractory alloys for solidification cracking resistance in particular is desirable as their usage increases with the advent of advanced manufacturing methods such as 3D printing. This work evaluates the effect of compositional variation in refractory metal systems on the solidification cracking susceptibility with the goals of optimizing existing alloys and joining process techniques, and formulating new alloys with increased solidification cracking resistance. Experimental Procedures. A python code was developed in a Jupyter notebook environment (Michael and Sowards, 2023) to facilitate the calculation of crack susceptibility index proposed by Kou (2015). Composition is entered as a single point, or as a 1-D or 2-D array. The notebook calls pycalphad (Otis and Liu, 2017 and Bocklund et al, 2020) to calculate the evolution of fraction solid as a function of temperature (under either Scheil or equilibrium assumptions) and then evaluates steepness of the fraction solid curve near the terminal stage of solidification to predict solidification cracking resistance. Open source thermodynamic databases available at online repositories are used (van de Walle). The process is setup in an automated fashion to generate plots that show variation in solidification cracking susceptibility according to composition on 1-D line plots or 2-D contour plots. The Jupyter notebook and crack susceptibility algorithm was also integrated with a widely used commercial CALPHAD code for validation and alloy exploration. Results and Discussion. The crack susceptibility model was first validated against a series of refractory alloy compositions evaluated in past work which utilized a specialized Varestraint test built inside a vacuum chamber environment (Lessman and Gold, 1971). The alloys tested in the Varestraint apparatus included T-111 (Ta-8W-2Hf), ASTAR-811C (Ta-8W-1Re-0.7Hf-0.025C), FS-85 (Nb-27Ta-10W-1Zr), T-222 (Ta-9.6W-2.4Hf-0.01C), Ta-10W, B-66 (Nb-5Mo-5V-1Zr), and SCb-291 (Nb-10W-10Ta). The initial test of the model showed a strong correlation with empirical Varestraint data, i.e., a Spearman rank correlation between model predictions and hot cracking measurements was observed to be greater than 0.8. Following the validation, a set of refractory metal binary mixtures was investigated to evaluate sensitivity of Nb, Mo, W, and Ta to C, N, and O content. A series of plots were produced that suggest ppmw ranges of C, N, and O where solidification cracking increases significantly and reaches a maximum. Also comparative ranking of each primary refractory metal to each interstitial was produced. For example C produces greater cracking response in Mo whereas O produces greater cracking response in Ta and Nb. Such compositional values have utility in setting limits on pickup of these interstitial elements during welding and printing rather than using a one-size-fits-all approach. Furthermore, the results have use in determining additive powder recycling requirements, which is especially pertinent for refractory metal powders due to their high cost compared to conventional alloys. Another application created thousands of hypothetical alloys within the nominal specified composition range of two widely used refractory alloys C103 (Nb-10Hf-1Ti) and TZM (Mo-0.5Ti-0.1Zr). The cracking index was calculated for the alloys and results were fed into machine learning regression techniques including Multiple Linear Regression, Ridge Regression, and Lasso Regression to determine relative potency each alloying element had on computed solidification cracking index. A series of linear equations were produced that relate composition of C103 and TZM to solidification cracking index. The crack susceptibility of C103 for example is described by an equation of the form: cracking index ~ O + 0.667*C + 0.635*N + 0.00037*Ta – 0.0008*Hf (in wt.%) From that equation, it is clear that O has strong propensity to induce solidification cracking. Interestingly, Hf is shown to reduce calculated cracking response. Finally, realizing the potential of this method to discover new refractory alloy formulations across the period table that have low solidification cracking sensitivity, the code was applied to new untested alloy systems including W-Zr-C, W-Ta-C, and others. Conclusions. In summary, an open source numerical method has been developed using Python code to calculate Kou’s crack susceptibility index. The method was applied to refractory metals which are inherently difficult to study from a weldability testing standpoint since inert shielding gas is not sufficient and welding is typically done in vacuum, especially in light of findings presented here where oxygen has profound influence on solidification cracking. This work revealed the effect of compositional variations on a series of refractory metals and showed the framework defined here will be useful in 1) the development of new alloys that have improved weldability and 3D printability, 2) placing compositional limits on existing alloys, and 3) ensuring adequate controls of manufacturing processes such as 3D printing where powder reuse is critical. Keywords. pycalphad; Python; refractory metals; solidification cracking. References. B. Bocklund et. al. (2020) http://doi.org/10.5281/zenodo.3630657. S. Kou. (2015) https://doi.org/10.1016/j.actamat.2015.01.034. G.G. Lessmann and R.E. Gold. Welding Journal, issue 1, pp. 1-s – 8-s (1971). F.N. Michael and J.W. Sowards. NASA/TM-20230002218 (2023). R. Otis and Z.-K. Liu. (2017) http://doi.org/10.5334/jors.140. A. Van de Wallle et. al. (2018) https://doi.org/10.1016/j.calphad.2018.04.003.

pycalphad↗

Frame Decoder for Consultative Committee for Space Data Systems (CCSDS)

GNU Radio is a free and open source development toolkit that provides signal processing to implement software radios. It can be used with low-cost external RF hardware to create software defined radios, or without hardware in a simulation-like environment. GNU Radio applications are primarily written in Python and C++. The Universal Software Radio Peripheral (USRP) is a computer-hosted software radio designed by Ettus Research. The USRP connects to a host computer via high-speed Gigabit Ethernet. Using the open source Universal Hardware Driver (UHD), we can run GNU Radio applications using the USRP. An SDR is a "radio in which some or all physical layer functions are software defined"(IEEE Definition). A radio is any kind of device that wirelessly transmits or receives radio frequency (RF) signals in the radio frequency. An SDR is a radio communication system where components that have been typically implemented in hardware are implemented in software. GNU Radio has a generic packet decoder block that is not optimized for CCSDS frames. Using this generic packet decoder will add bytes to the CCSDS frames and will not permit for bit error correction using Reed-Solomon. The CCSDS frames consist of 256 bytes, including a 32-bit sync marker (0x1ACFFC1D). This frames are generated by the Space Data Processor and GNU Radio will perform the modulation and framing operations, including frame synchronization.

Reyes, Miguel A. De Jesus↗

The Profile Envision and Splicing Tool (PRESTO): Developing an Atmospheric Wind Analysis Tool for Space Launch Vehicles Using Python

Launch vehicle programs require vertically complete atmospheric profiles. Many systems at the ER to make the necessary measurements, but all have different EVR, vertical coverage, and temporal coverage. MSFC Natural Environments Branch developed a tool to create a vertically complete profile from multiple inputs using Python. Forward work: Finish Formal Testing Acceptance Testing, End-to-End Testing. Formal Release

Orcutt, John M.↗

Database schema design: Energy Flexibility Environmental Tradeoffs Tool

The Energy Flexibility-Environment Tradeoff Toolset is designed using Streamlit framework, with Python as the programming language. Data storage is facilitated through the use of SQLite. Streamlit is an open-source Python framework for machine learning and data science teams, and SQLite is the most used database engine.

96 KNOWLEDGE MANAGEMENT AND PRESERVATION↗

Python Library for Monte Carlo Simulations with Ab Initio and Machine-Learned Interatomic Potentials

There is a growing need in the simulation community for software that provides a transparent, reproducible, usable, and extensible (TRUE) Monte Carlo (MC) simulation framework employing energies from ab initio methods and machine-learning interatomic potentials (MLIPs). We introduce a Python library (ASE-MC) that adds Monte Carlo functionality to the Atomic Simulation Environment (ASE) package. Now, we can combine the powerful tools used to build systems and perform ab initio and MLIP in ASE with MC simulation algorithms to sample the configurational space with a concise Python script. After presenting the design philosophy, we demonstrate the flexibility of our approach using selected examples. These example simulations include liquid water described with a message-passing MLIP in the canonical and isothermal–isobaric ensembles, sampling the characteristic dihedral angle of biphenyl and comparing an MLIP to first-principles calculations, and a grand canonical Monte Carlo simulation of ammonia adsorption on Pt(111). These examples showcase the main features of the software, which include flexibility in the choice of ab initio or MLIP engine, ab initio or MLIP grand canonical MC with cavity bias insertions and deletions, the ability to add custom MC moves to the move set, and how users can condense complex MC workflows into a single Python script. Finally, this library serves as a framework for reproducible Monte Carlo simulations, facilitating easy reproduction of the work and application to new systems.

97 MATHEMATICS AND COMPUTING↗

RANGE: A robust adaptive nature-inspired global explorer of potential energy surfaces

With the growing demand for realistic representations of chemical structures and the advent of exascale computing, the intelligent sampling of potential energy surfaces and efficient identification of global minima have become more essential but also more feasible. Building on prior studies demonstrating the efficiency of the Artificial Bee Colony (ABC) swarm intelligence algorithm, we report a hybrid metaheuristic framework that integrates the adaptive exploration capabilities of ABC coupled with the exploitation strengths of genetic algorithms (GA) in a scalable, Python-based implementation. The resulting tool, RANGE (Robust Adaptive Nature-inspired Global Explorer), provides seamless interfaces to multiple potential energy evaluators, either directly or via widely used Python libraries, and is designed for high-performance computing environments. We describe the implementation details of RANGE and evaluate its performance, relative to ABC- or GA-alone based algorithms, on a variety of chemical systems, including molecular clusters and heterogeneous surfaces. In conclusion, our results demonstrate RANGE’s efficiency, robustness, and broad applicability in addressing challenging global optimization problems in computational chemistry and materials science.

Algorithms and data structure↗

SurFE-XD (Surface curvature-driven Finite Elements model for Diffusion under eXtreme conditions)

SurFE-XD is a mesoscale finite element framework to model surface diffusion under mutliphysics environments. The code uses legacy C++ library dolphin wrapped with python in a FEniCS driven unified form language and just-in-time (JIT) compilation setting. The purpose of the release is to attract wide-ranging usage of the code along with publication supplementation to support reproducibility of scientific data. SurFE-XD has been originally conceived under the LDRD-DR funding for “High-Gradient (C-BAND) Breakdown tolerant accelerator materials project. Currently SrFE-XD support electrostatics and Thermo-elasticity driven surface diffusion kernels. Releasing the code will also enable to include contributions from other physical regimes e.g., plasticity and electrodynamics etc as well portability to GPU-based platforms.

Bagchi, Soumendu↗

libEnsemble: A Library to Coordinate the Concurrent Evaluation of Dynamic Ensembles of Calculations

Almost all applications stop scaling at some point; those that don't are seldom performant when considering time to solution on anything but aspirational/unicorn resources. Recognizing these tradeoffs as well as greater user functionality in a near-term exascale computing era, we present libEnsemble, a library aimed at particular scalability- and capability-stretching uses. libEnsemble enables running concurrent instances of an application in dynamically allocated ensembles through an extensible Python library. Here, we highlight the structure, execution, and capabilities of the library on leading pre-exascale environments as well as advanced capabilities for exascale environments and beyond.

97 MATHEMATICS AND COMPUTING↗

LANL Contributions to pyiron: An integrated development environment for computational materials science

To support and accelerate the development of simulation protocols in atomistic modelling, we introduce an integrated development environment (IDE) for computational materials science called pyiron (http://pyiron.org). The pyiron IDE combines a web based source code editor, a job management system for build automation, and a hierarchical data management solution. The core components of the pyiron IDE are pyiron objects based on an abstract class, which links application structures such as atomistic structures, projects, jobs, simulation protocols and computing resources with persistent storage and an interactive user environment. The simulation protocols within the pyiron IDE are constructed using the Python programming language. To highlight key concepts of this tool as well as to demonstrate its ability to simplify the implementation and testing of simulation protocols we discuss two applications. In these examples we show how pyiron supports the whole life cycle of a typical simulation, seamlessly combines ab initio with empirical potential calculations, and how complex feedback loops can be implemented. While originally developed with focus on ab initio thermodynamics simulations, the concepts and implementation of pyiron are general thus allowing to employ it for a wide range of simulation topics.

Janssen, Jan↗

Coastal Typologies: Methods for Improving Representation of Arctic Coastal Environments, Starting with Alaska's Northern Slope [Slides]

The objectives of the project included: Broaden QGIS (mapping) and Python (data analysis) skill set; Contribute to overall development of coastal typologies by conducting data mining and analysis; Expand scientific literacy; Narrow data sources to those most useful for project; Convert chosen data sets into image formats for analysis; and, Utilize python to analyze images.

58 GEOSCIENCES↗

Hybrid-RL-MPC4CLR (Hybird-Reinforcement-Learning-Model-Predictive-Control-for-Reserve-Policy-Assisted-Critical-Load-Restoration-in-Distribution-Grids)

Hybrid-RL-MPC4CLR was developed as a hybrid controller for active distribution grid critical load restoration, combining deep reinforcement learning (RL) and model predictive control (MPC) aiming at maximizing total restored load following an extreme event. The RL determines a policy for quantifying operating reserve requirements, thereby hedging against uncertainty, while the MPC models grid operations incorporating the RL policy actions (i.e., reserve requirements), renewable (wind and solar) power predictions, and load demand forecasts. The developers formulated the reserve requirement determination problem as a sequential decision-making problem based on the Markov Decision Process (MDP) and design an RL learning environment based on the OpenAI Gym framework and MPC simulation. The RL agent reward and MPC objective function aim to maximize and monotonically increase total restored load and minimize load shedding and renewable power curtailment. The software is developed using various software packages in Python. The MPC's optimal power flow (OPF) model is implemented using the Pyomo package, the RL simulation environment is implemented using the MPC simulation with various scenarios of renewable energy and load demand profiles and power outage beginning times, based on the OpenAI Gym framework. The RL agent training is performed using the RLlib Ray package. The RL algorithm is trained offline using historical forecasts of renewable generation and load demand profiles. Simulation analysis and performance tests are conducted using a modified IEEE 13-bus distribution test feeder containing wind turbine, photovoltaic, microturbine, and battery.

Eseye, Abinet Tesfaye↗

SPEARS: A Database-Invariant Spectral modeling API

The Spectral Physics Environment for Advanced Remote Sensing (SPEARS) application programming interface (API) is a Python-based, line-by-line, local thermal equilibrium (LTE) spectral modeling code which is optimized for simultaneously synthesizing optical spectra from any combination of fundamental spectroscopic databases. In this article, we contribute two novel spectral modeling techniques to the scientific literature. First we describe how SPEARS integrates a physics-based collisional model for calculating pressure broadening in the absence of available broadening coefficients. With this collisional model implementation, a generalized approach to fundamental spectroscopic databases can be achieved across multiple databases. We also detail our adaptive grid mesh algorithm developed to make the code scalable for simulating large spectral bandwidths at high spectral fidelity using intuitive grid parameters. Here, we present comparisons to other modeling tools, experiments, and provide a discussion on the SPEARS user interface.

47 OTHER INSTRUMENTATION↗