Search NASA⌕ Search

SEARCH · Search NASA

Results for “SciPy”

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.

34 records · Page 2

buhito

buhito is a Python library for graph analysis and machine learning. Graphs can represent networks with objects as nodes and their relationships as edges. buhito focuses on graphlet methods that study graphs through enumerating their component subgraphs to enable interpretable and fast models of complex systems. The package provides tools for different algorithmic designs for computing, analyzing, and applying graphlets to research problems such as machine learning, data compression, and anomaly detection in graph-structured data. A central feature is performing decomposition data analysis on graphs for machine learning models. Implemented in Python and built upon open-source scientific libraries such as NetworkX, NumPy, and SciPy, buhito provides high-performance methods for researchers exploring the mathematical and computational foundations of graphlet analysis applicable to systems of different sizes.

Pimonova, Yulia↗

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↗

CTT: Tools for Fine Alignment of Flash X-ray Systems

The CTT code is a compilation of the python code that was prototyped in the interest of making a method for fine alignment of Flash X-ray Systems at the lab. It contains python code for interacting with LTT and running optimization loops using LTT simulations or ray tracing with RaySpace. It Includes classes for creating phantom objects and modular geometry objects in the simulations. It allows one to generate a random phantom that has been optimized to stay with a certain cubic volume and maximize the minimum distance between any two ball phantom centers in all projections. It was primarily made to work on ball phantoms which were simulated as Teflon spheres. It allows the alignment from some nominal position to some displaced position to simulate recovery of a real geometry from the nominal geometry of the system. Fine alignment can be done with the projections in LTT while a rough alignment is faster using rayspace. If rayspace works well for the use case it should be preferred since it is considerably faster and less resource intensive in general. Some Notes about using this code is that one will have to edit the imports for the files to get to the correct LTT path, LTT GUI path and to the CTT path when importing. This was made by using anaconda with python 3 on windows 10. The LTT code was stored in a anaconda environment which seemed to help the python find the LTT although it shouldn’t be necessary if you append the path in your code using sys.path.append(r'add the path you want here’). The sys.path.append method is a quick way to give your python code access to a given folder when running it (such as LTT or CTT). Note that since the code was originally made with paths for a specific machine that a new user will have to edit those paths to make it work in all the files that use the old paths. This is somewhat tedious but will be required to run the code on a new machine. The methodology used to run and make these notebooks starts with opening a command prompt as administrator in windows 10. After this one would activate the anaconda environment in the appropriate directory using “conda activate myenv” in the command prompt. After this open a jupyter-notebook using the keyword “jupyter-notebook". After that a notebook should open in a browser. Note that some libraries used may not come with anaconda so those may have to be installed. There shouldn’t be much though since the main things used are scipy, numpy, matplotlib, and LTT. LTTQuicksetup also requires some paths that will be specific to the computer so that should be changed as well.

42 ENGINEERING↗

The Polar System Analysis Package (Ver. 1 Specifications)

The Polar System Analysis Package (POLeSTAr) is a modern data fusion tool being designed to benchmark,evaluate and compare the polar physics and biogeochemistry of Earth System Models (ESMs). It is being written in Python to make use of libraries including Xarray, Matplotlib, SciPy, NumPy and PyTorch within algorithms developed specifically for polar system modeling. Initial POLeSTAr algorithms will be adapted from the MATLAB Ridgepack package that was designed to analyze the Model for Prediction Across Scales (MPAS) sea ice component of the Energy Exascale Earth System Model (E3SM) and sea ice model CICE within the Community Earth System Model (CESM).

97 MATHEMATICS AND COMPUTING↗

Taylor wave solution for a general equation of state

This document describes a solution procedure for calculating the Taylor wave behind an unsupported Chapman–Jouguet (CJ) detonation in planar, cylindrical, and spherical geometries given a general equation of state. The resulting semi-analytic solution can be utilized to examine new equation of state models for detonation products and during the verification of hydrodynamic codes. The governing partial differential equations are reduced to ordinary differential equations in both characteristic and self-similar forms. The first-order systems corresponding to each geometry are amenable to solution numerically using commonly available methods. A difficulty arises at the CJ point in radial coordinates where the similarity equations become singular. Two separate strategies are proposed to integrate the first-order system. The first one uses an asymptotic approximation near the CJ point that can be used to perturb the boundary conditions. The second one applies a change of variables which removes the singularity at the expense of an additional equation to be integrated. A test problem is provided for the Davis products equation of state to illustrate the qualitative features of the Taylor wave in each geometric configuration and compared with a Lagrangian hydrodynamics research code. A Python code listing gives an implementation using the SciPy library to assists users in generating the results.

97 MATHEMATICS AND COMPUTING↗

Guide to runquic.py Python Script

The runquic.py Python script uses Python 3.8 or newer and requires several Python packages to be installed including: NumPy, SciPy, Pandas, Geopandas, and Shapely. The script assumes that the batch QUIC of project folders with all of the input files (except for any input files interpolated from WRF output files) have already be saved to the drive and are ready to be run. If the project is set to use WRF model output, it will be interpolated at runtime.

97 MATHEMATICS AND COMPUTING↗

Stochastic and Deterministic Crystal Structure Solution Methods in GSAS-II: Monte Carlo/Simulated Annealing Versus Charge Flipping

One of the goals in developing GSAS-II was to expand from the capabilities of the original General Structure Analysis System (GSAS) which largely encompassed just structure refinement and post refinement analysis. GSAS-II has been written almost entirely in Python loaded with graphics, GUI and mathematical packages (matplotlib, pyOpenGL, wxpython, numpy and scipy). Thus, GSAS-II has a fully developed modern GUI as well as extensive graphical display of data and results. However, the structure and operation of Python has required new approaches to many of the algorithms used in crystal structure analysis. The extensions beyond GSAS include image calibration/integration as well as peak fitting and unit cell indexing for powder data which are precursors for structure solution. Structure solution within GSAS-II begins with either Pawley or LeBail extracted structure factors from powder data or those measured in a single crystal experiment. Both charge flipping and Monte Carlo-Simulated Annealing techniques are available; the former can be applied to (3+1) incommensurate structures as well as conventional 3D structures.

37 INORGANIC, ORGANIC, PHYSICAL, AND ANALYTICAL CH↗

PyDDA: A Pythonic Direct Data Assimilation Framework for Wind Retrievals

This software assimilates data from an arbitrary number of weather radars together with other spatial wind fields (eg numerical weather forecasting model data) in order to retrieve high resolution three dimensional wind fields. PyDDA uses NumPy and SciPy’s optimization techniques combined with the Python Atmospheric Radiation Measurement (ARM) Radar Toolkit (Py-ART) in order to create wind fields using the 3D variational technique (3DVAR). PyDDA is hosted and distributed on GitHub at https://github.com/openradar/PyDDA. PyDDA has the potential to be used by the atmospheric science community to develop high resolution wind retrievals from radar networks. These retrievals can be used for the evaluation of numerical weather forecasting models and plume modelling. This paper shows how wind fields from 2 NEXt generation RADar (NEXRAD) WSR-88D radars and the High Resolution Rapid Refresh can be assimilated together using PyDDA to create a high resolution wind field inside Hurricane Florence.

54 ENVIRONMENTAL SCIENCES↗

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

Tropospheric winds are an important driver of the design and operation of space launch vehicles. Multiple types of weather balloons and Doppler Radar Wind Profiler (DRWP) systems exist at NASA's Kennedy Space Center (KSC), co-located on the United States Air Force's (USAF) Eastern Range (ER) at the Cape Canaveral Air Force Station (CCAFS), that are capable of measuring atmospheric winds. Meteorological data gathered by these instruments are being used in the design of NASA's Space Launch System (SLS) and other space launch vehicles, and will be used during the day-of-launch (DOL) of SLS to aid in loads and trajectory analyses. For the purpose of SLS day-of-launch needs, the balloons have the altitude coverage needed, but take over an hour to reach the maximum altitude and can drift far from the vehicle's path. The DRWPs have the spatial and temporal resolutions needed, but do not provide complete altitude coverage. Therefore, the Natural Environments Branch (EV44) at Marshall Space Flight Center (MSFC) developed the Profile Envision and Splice Tool (PRESTO) to combine balloon profiles and profiles from multiple DRWPs, filter the spliced profile to a common wavelength, and allow the operator to generate output files as well as to visualize the inputs and the spliced profile for SLS DOL operations. PRESTO was developed in Python taking advantage of NumPy and SciPy for the splicing procedure, matplotlib for the visualization, and Tkinter for the execution of the graphical user interface (GUI). This paper describes in detail the Python coding implementation for the splicing, filtering, and visualization methodology used in PRESTO.

Orcutt, John M.↗

Reconfigurable Cellular Composite Structures for Lighter than Air Vehicles with Scalable Size and Endurance

Engineered non-stochastic cellular materials show promising characteristics on the laboratory scale,with nearly ideal specific stiffness and strength scaling at ultralight mass density. These propertiessuggest performance benefits in any application with combined stiffness and mass constraints, suchas air vehicles. We investigate here the application of re-configurable cellular composite materialsand structures to lighter than air vehicles. We describe the properties and applicability of these materials,provide an example analysis of governing loading conditions associated with airships, showan example optimization method for navigating the design space, and describe how recent advancesin cellular material manufacturing and reconfiguration enable system performance benefits includingnew concepts of operation. Lastly, we propose lighter than air vehicles that are assembled andmaintained in-flight, eliminating structural compromises associated with transitional flight modesand ground handling.Engineered non-stochastic cellular material properties suggest performance benefits in lighter than air vehicles due tostiffness and mass constraints that are intrinsic to the airship design problem. Recent advances in cellular materialmanufacturing and reconfiguration enable system performance benefits including new concepts of operation, such aslighter than air vehicles that are assembled and maintained in-flight, eliminating structural compromises associatedwith transitional flight modes and ground handling. Existing engineered cellular materials display properties allowinglarge large scale airships design as monocoque cellular solids. Inevitable improvements in cellular material propertiesand manufacturing will improve feasibility even further. Given the suggestion that the two most significant technologygaps exist across all current airship projects are manufacturing and assembly processes and ground handling [7],a strategy that encompasses construction and maintenance in flight could provide critical rephrasing of the systemdesign problem through these new concepts of operation. Refactoring of traditional manufacturing, operation, andservice process constraints could extend to other domains in aerospace systems and manufacturing in general.In future work, the complexity of the design task would benefit from a form of optimization in order to find themost suitable geometry for a chosen application. For example, the Sequential Least SQuares Programming (SLSQP)function from within the SciPy Minimize library is a multiobjective constrained optimization method that has beenapplied to fixed wing aircraft design. [17] In this situation it would allow for several objective functions such as drag,bending stiffness, buoyancy and cost of transport to be incorporated into a composite objective function.

Copplestone, Grace↗

The Weather Analysis Display (WAND) Tool: Developing a Meteorological Data Display Tool for Situational Awareness During Day-Of-Launch of Space Launch Vehicles Using Python

Atmospheric conditions are an important driver in the design and operation of space launch vehicles. The Profile Envision and Splicing Tool (PRESTO) was developed by NASA’s Marshall Space Flight Center (MSFC) Natural Environments Branch (NE) to generate vertically complete atmospheric profiles from various data sources at NASA’s Kennedy Space Center (KSC), co-located on the United States Air Force (USAF) Eastern Range (ER), for NASA’s Space Launch System (SLS) day-of-launch (DOL) loads and trajectory analysis. PRESTO was designed solely to generate a vertically complete atmospheric profile (Orcutt et al., 2017). However, NE has also been tasked to provide a quality assessment of meteorological data examined on DOL, which goes beyond PRESTO’s utility. Thus, NE developed the Weather Analysis Display (WAND) to visualize data from all available observation systems in conjunction with climatological databases. WAND can display data from various sources in multiple ways, including Skew-T Log-P plots, time-height cross sections, and time series. WAND was developed in Python 3 taking advantage of common packages, such as NumPy for data handling, SciPy for mathematical functions, Matplotlib for data visualization, and Tkinter for the execution of the Graphical User Interface (GUI).

Orcutt, John M.↗

MONTE: the Next Generation of Mission Design and Navigation Software

The Mission Analysis, Operations and Navigation Toolkit Environment (MONTE) is an astrodynamic toolkit produced by the Mission Design and Navigation Software Group at the Jet Propulsion Laboratory. It provides a single integrated environment for all phases of deep space and Earth orbiting missions. Capabilities include: trajectory optimization and analysis, operational orbit determination, flight path control, and 2D/3D visualization. MONTE is presented to the user as an importable Python language module. This allows a simple but powerful user interface via CLUI or script. In addition, the Python interface allows MONTE to be used seamlessly with other canonical scientific programming tools such as SciPy, NumPy, and Matplotlib. MONTE is the prime operational orbit determination software for all JPL navigated missions.

Optimization↗

Updating the Space Communications and Navigation (SCaN) Link Tool Executable Software to Version 5

NASA’s Space Communications and Navigation (SCaN) program is responsible for providing space communication channels in low Earth orbit, geosynchronous orbit, and deep space for a variety of space missions. The SCaN Link Tool is a standalone, executable, and personal computer (PC)-based software operated via a user interface, which provides NASA civil servants and contractors, as well as the public by way of the tool’s inclusion in the NASA Software Catalog, with in-depth satellite communications link analysis capability. Version 4 of the tool was built using PythonTM (Python Software Foundation) with the help of libraries such as NumPy and SciPy for numerical calculations, Matplotlib for graphical visualizations, and PyQt5 for the graphical user interface. It utilizes radiofrequency (RF) and optical communications link analysis calculations to give users the ability to input known link parameters and calculate select link performance outputs. With the development of the next-generation architecture for space satellite communications in the coming decade, NASA will benefit by having more in-depth communications link analysis tools at its disposal. The tool’s update from version 4 to version 5 aims to provide higher output value accuracy, the ability to solve for a more diverse set of output variables, as well as analog and digital repeater capabilities. Options included in the tool’s functionality, such as the ability to save configuration parameter values, graphs, and results, as well as the provision of default parameter values, increase the tool’s versatility. Users will have access to in-depth, accurate communications link analysis as more advanced satellite constellations are designed and deployed by NASA and the growing commercial aerospace community.

Green, Jack L.↗

Multi-Federate Co-Convergence with HELICS

In co-simulation studies, convergence refers to the ability of different simulation tools involved to achieve a consistent and stable solution. Convergence is a critical aspect of co-simulation as it determines the accuracy of the results obtained from the simulation. Convergence in co-simulation studies depends on several factors, this includes system complexity, the accuracy of the models used, and the numerical methods employed by the simulation tools. It is essential to ensure that the coupling interfaces between the different tools are designed to allow for data exchange in a consistent and accurate manner. Hierarchical Engine for Large-scale Infrastructure Co-Simulation (HELICS) is an open-source co-simulation framework developed for the energy domain. This paper explores the convergence performance of a set of co-simulation use cases. We further explore the use of a co-convergence helper federate to help with co-simulation convergence. The convergence efficacy of several algorithms (both gradient-based and gradient-free) is tested against these use cases. Finally, the sensitivity of these algorithms to several factors, such as system scaling and others, is tested and detailed in this paper. Our results show that for a subset of use cases, the co-convergence helper federate is able to improve co-simulation convergence significantly.

co-convergence↗