Search NASA⌕ Search

SEARCH · Search NASA

Results for “Open Source software”

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 1,027 records · Page 57

PVade (PV Aerodynamic Design Engineering) [SWR-23-49]

PV Aerodynamic Design Engineering (PVade) is an open-source fluid-structure interaction (FSI) solver which can accurately simulate wind loads and aerodynamic stability in solar-tracking PV arrays. PVade’s pressure profiles and inertial load time series can be used as inputs into mechanical module models to study degradation mechanisms including cracking of cells, weathering of cracked cells, and glass breakage. This software enables PV plant owners to predict optimal high-wind stow strategies under a variety of weather and site conditions.

Young, Ethan↗

GridSweep Processing and Graphing Software v1.0

This software is used to process the raw data from the GridSweep instrument, a device developed under subcontract by McEachern Laboroatories for a DOE GMLC project. The software scrubbs, demodulates, and transforms point on wave voltage timeseries data into frequency/voltage amplitude/time data. It also has a GUI that allows for user selection of processed experimental data and graphing in heatmaps or 3-D plots. It was created alongside the GridSweep instrument as a part of the same project and is required to be open-source.

McEachern, Alex↗

Agile Acceleration of LLVM Flang Support for Fortran 2018 Parallel Programming

The LLVM Flang compiler ("Flang") is currently Fortran 95 compliant, and the frontend can parse Fortran 2018. However, Flang does not have a comprehensive 2018 test suite and does not fully implement the static semantics of the 2018 standard. We are investigating whether agile software development techniques, such as pair programming and test-driven development (TDD), can help Flang to rapidly progress to Fortran 2018 compliance. Because of the paramount importance of parallelism in high-performance computing, we are focusing on Fortran’s parallel features, commonly denoted “Coarray Fortran.” We are developing what we believe are the first exhaustive, open-source tests for the static semantics of Fortran 2018 parallel features, and contributing them to the LLVM project. A related effort involves writing runtime tests for parallel 2018 features and supporting those tests by developing a new parallel runtime library: the CoArray Fortran Framework of Efficient Interfaces to Network Environments (Caffeine).

Rasmussen, Katherine↗

PeleLMeX: an AMR Low Mach Number Reactive Flow Simulation Code without level sub-cycling

PeleLMeX simulates chemically reacting low Mach number flows with block-structured adaptive mesh refinement (AMR). The code is built upon the AMReX library, which provides the underlying data structures and tools to manage and operate on them across massively parallel computing architectures. PeleLMeX algorithmic features are inherited from its predecessor PeleLM but key improvements allow representation of more complex physical processes. Together with its compressible flow counterpart PeleC, the thermo-chemistry library PelePhysics and the multi-physics library PeleMP, it forms the Pele suite of open-source reactive flow simulation codes.

97 MATHEMATICS AND COMPUTING↗

The 4D Camera: An 87 kHz Direct Electron Detector for Scanning/Transmission Electron Microscopy

We describe the development, operation, and application of the 4D Camera—a 576 by 576 pixel active pixel sensor for scanning/transmission electron microscopy which operates at 87,000 Hz. The detector generates data at ~480 Gbit/s which is captured by dedicated receiver computers with a parallelized software infrastructure that has been implemented to process the resulting 10–700 Gigabyte-sized raw datasets. The back illuminated detector provides the ability to detect single electron events at accelerating voltages from 30 to 300 kV. Through electron counting, the resulting sparse data sets are reduced in size by 10--300× compared to the raw data, and open-source sparsity-based processing algorithms offer rapid data analysis. The high frame rate allows for large and complex scanning diffraction experiments to be accomplished with typical scanning transmission electron microscopy scanning parameters.

47 OTHER INSTRUMENTATION↗

Control And Optimization Modular Modeling Application For Nuclear Deployment

The purpose of the COMMAND code is to provide a flexible, scalable tool for use in developing, integrating, and testing the technologies necessary for achieving autonomous operations of advanced nuclear reactors. The code enables users to efficiently implement custom simulations and experiments by combining key methods from different software modules. These modules are focused on: modeling and simulation tools, such as nuclear simulation tools used for high-fidelity modeling (e.g., Reactor Excursion and Leak Analysis Program [RELAP5-3D] and Monte Carlo N-Particle [MCNP]); machine learning and optimization tools (e.g., anomaly detection and data-driven modeling techniques); advanced control in its digital, high-performance, and supervisory control forms (e.g., proportional integral derivative (PID) control and model predictive control (MPC); and integration with hardware through industrial communication protocols. To ensure flexibility and scalability, COMMAND was designed to be both modular—the software “pieces” all inherit from generic building blocks and can be combined and connected to create complicated simulations—and high performing—designed for parallel processing, enabling simulations and experiments to take advantage of multi-core computers, servers, and nodes. The code is written in the Python programming language due to the language's popularity, active community, and open-source and cross-platform nature. Maintaining consistency with other simulation tools used within the nuclear energy community, users implement simulations and experiments through text input files, which define components, parameters, connections, etc., through lines of text. Given that COMMAND is written in Python, these input files are native Python scripts, and so use the standard Python structure and formatting. This also enables users to take advantage of Python's extensive package library to develop custom capabilities for their specific use cases.

Faber, Jacob [Idaho National Laboratory (INL), Ida↗

MBMS1.0: An Open-Source Code for Modeling and Simulation of Membrane-Based Dehumidification and Energy Recovery

Air dehumidification processes are important and significantly impact both the performance of building ventilation and air conditioning systems, and the health of occupants. In a membrane-based dehumidifier, a permselective membrane is adopted to separate the two flow streams at feed and permeate sides. The feed side is continuously supplied with humid air at atmospheric pressure, while the permeate side is connected to a vacuum pump to produce vacuum or a low permeate vapor pressure as a driving force for water vapor permeation. The software MBMS 1.0 enables modeling and simulation of the design and configuration optimization of a membrane-based air-to-air (A2A) or air-to-vapor (A2V) device. A first-order physical-constant model was developed to reasonably account for the fundamental heat and mass transfer processes involved.

Gao, Zhiming↗

Catalyst: Fast and flexible modeling of reaction networks

We introduce Catalyst.jl, a flexible and feature-filled Julia library for modeling and high-performance simulation of chemical reaction networks (CRNs). Catalyst supports simulating stochastic chemical kinetics (jump process), chemical Langevin equation (stochastic differential equation), and reaction rate equation (ordinary differential equation) representations for CRNs. Through comprehensive benchmarks, we demonstrate that Catalyst simulation runtimes are often one to two orders of magnitude faster than other popular tools. More broadly, Catalyst acts as both a domain-specific language and an intermediate representation for symbolically encoding CRN models as Julia-native objects. This enables a pipeline of symbolically specifying, analyzing, and modifying CRNs; converting Catalyst models to symbolic representations of concrete mathematical models; and generating compiled code for numerical solvers. Leveraging ModelingToolkit.jl and Symbolics.jl, Catalyst models can be analyzed, simplified, and compiled into optimized representations for use in numerical solvers. Finally, we demonstrate Catalyst’s broad extensibility and composability by highlighting how it can compose with a variety of Julia libraries, and how existing open-source biological modeling projects have extended its intermediate representation.

59 BASIC BIOLOGICAL SCIENCES↗

MCOR User Guide

User guide for the MCOR software package which is currently publicly hosted on Github (https://github.com/pnnl/MCOR). The Microgrid Component Optimization for Resilience (MCOR) tool simulates the operation of a renewable energy, battery, and back-up generator microgrid under a large range of outage conditions to understand how a potential system can meet the resilience goals of a particular site. It is an open-source, command line, Python-based tool that produces an output Excel spreadsheet as well as several types of plots to enable a user to compare different microgrid system sizes and costs. It is intended for high-level system planning and opportunity identification, and not for detailed electric system modeling and design. The tool includes a range of input parameters that can be adjusted or tuned to provide a more custom analysis as needed.

24 POWER TRANSMISSION AND DISTRIBUTION↗

Measuring Degradation of Fielded Systems on an Ongoing Basis with RdTools

The solar investment community needs up-to-date and data-derived system degradation rates to use in financial models that calculate the risk and expectation of energy revenue. To date, the majority of financial models choose degradation rates from past studies that are limited and may not be representative of future solar assets (systems) they are financing. As the solar industry expands in all sectors (residential, commercial, and utility), there is a growing amount of energy production available to analyze. With the help of the open source degradation analysis code (RdTools) it is now possible to derive degradation on an ongoing basis and continuously provide up-to-date durability statistics to the investment community. Ongoing and accurate statistics of fielded photovoltaic systems allows financial stakeholders to constrain energy revenue projections, lower financial risk, and increase the bankability of solar. This poster will present considerations and software engineering best practices to encourage data owners to measure degradation of their own photovoltaic assets on an ongoing basis. This poster will also preview an upcoming DOE-funded kWh Analytics degradation project which involves applying RdTools analysis on kWh Analytics’ industry database, aggregating results across variables such as weather, hardware, system configurations etc., and sharing the aggregated results with the broader community.

14 SOLAR ENERGY↗

Improving reproducibility in synchrotron tomography using implementation-adapted filters

For reconstructing large tomographic datasets fast, filtered backprojection-type or Fourier-based algorithms are still the method of choice, as they have been for decades. These robust and computationally efficient algorithms have been integrated in a broad range of software packages. The continuous mathematical formulas used for image reconstruction in such algorithms are unambiguous. However, variations in discretization and interpolation result in quantitative differences between reconstructed images, and corresponding segmentations, obtained from different software. This hinders reproducibility of experimental results, making it difficult to ensure that results and conclusions from experiments can be reproduced at different facilities or using different software. In this paper, a way to reduce such differences by optimizing the filter used in analytical algorithms is proposed. These filters can be computed using a wrapper routine around a black-box implementation of a reconstruction algorithm, and lead to quantitatively similar reconstructions. Use cases for this approach are demonstrated by computing implementation-adapted filters for several open-source implementations and applying them to simulated phantoms and real-world data acquired at the synchrotron. Our contribution to a reproducible reconstruction step forms a building block towards a fully reproducible synchrotron tomography data processing pipeline.

73 NUCLEAR PHYSICS AND RADIATION PHYSICS↗

FTK: A Simplicial Spacetime Meshing Framework for Robust and Scalable Feature Tracking

In this work, we present the Feature Tracking Kit (FTK), a framework that simplifies, scales, and delivers various feature-tracking algorithms for scientific data. The key of FTK is our simplicial spacetime meshing scheme that generalizes both regular and unstructured spatial meshes to spacetime while tessellating spacetime mesh elements into simplices. The benefits of using simplicial spacetime meshes include (1) reducing ambiguity cases for feature extraction and tracking, (2) simplifying the handling of degeneracies using symbolic perturbations, and (3) enabling scalable and parallel processing. The use of simplicial spacetime meshing simplifies and improves the implementation of several feature-tracking algorithms for critical points, quantum vortices, and isosurfaces. As a software framework, FTK provides end users with VTK/ParaView filters, Python bindings, a command line interface, and programming interfaces for feature-tracking applications. We demonstrate use cases as well as scalability studies through both synthetic data and scientific applications including tokamak, fluid dynamics, and superconductivity simulations. We also conduct end-to-end performance studies on the Summit supercomputer. FTK is open sourced under the MIT license: https://github.com/hguo/ftk.

97 MATHEMATICS AND COMPUTING↗

MAESTROeX: A Massively Parallel Low Mach Number Astrophysical Solver

@e present MAESTROeX, a massively parallel solver for low Mach number astrophysical flows. The underlying low Mach number equation set allows for efficient, long-time integration for highly subsonic flows compared to compressible approaches. MAESTROeX is suitable for modeling full spherical stars as well as well as planar simulations of dynamics within localized regions of a star, and can robustly handle several orders of magnitude of density and pressure stratification. Previously, we have described the development of the predecessor of MAESTROeX, called MAESTRO, in a series of papers. Here, we present a new, greatly simplified temporal integration scheme that retains the same order of accuracy as our previous approaches. We also explore the use of alternative spatial mapping of the one-dimensional base state onto the full Cartesian grid. The code leverages the new AMReX software framework for block-structured adaptive mesh refinement (AMR) applications, allowing for scalability to large fractions of leadership-class machines. Finally, using our previous studies on the convective phase of single-degenerate progenitor models of SNe Ia as a guide, we characterize the performance of the code and validate the new algorithmic features. Like MAESTRO, MAESTROeX is fully open source.

79 ASTRONOMY AND ASTROPHYSICS↗

CSPlib: A performance portable parallel software toolkit for analyzing complex kinetic mechanisms

Computational singular perturbation (CSP) is a method to analyze dynamical systems. It targets the decoupling of fast and slow dynamics using an alternate linear expansion of the right-hand side of the governing equations based on eigenanalysis of the associated Jacobian matrix. This representation facilitates diagnostic analysis, detection and control of stiffness, and the development of simplified models. For this work, we have implemented CSP in a C++ open-source library CSPlib using the Kokkos parallel programming model to address portability across diverse heterogeneous computing platforms, i.e., multi/many-core CPUs and GPUs. We describe the CSPlib implementation and present its computational performance across different computing platforms using several test problems. Specifically, we test the CSPlib performance for a constant pressure ignition reactor model on different architectures, including IBM Power 9, Intel Xeon Skylake, and NVIDIA V100 GPU. The size of the chemical kinetic mechanism is varied in these tests. As expected, the Jacobian matrix evaluation, the eigensolution of the Jacobian matrix, and matrix inversion are the most expensive computational tasks. When considering the higher throughput characteristic of GPUs, GPUs performs better for small matrices with higher occupancy rate. CPUs gain more advantages from the higher performance of well-tuned and optimized linear algebra libraries such as OpenBLAS.

97 MATHEMATICS AND COMPUTING↗

NEXTorch: A Design and Bayesian Optimization Toolkit for Chemical Sciences and Engineering

Automation and optimization of chemical systems require well-informed decisions on what experiments to run to reduce time, materials, and/or computations. Data-driven active learning algorithms have emerged as valuable tools to solve such tasks. Bayesian optimization, a sequential global optimization approach, is a popular active-learning framework. Past studies have demonstrated its efficiency in solving chemistry and engineering problems. Here we introduce NEXTorch, a library in Python/PyTorch, to facilitate laboratory or computational design using Bayesian optimization. NEXTorch offers fast predictive modeling, flexible optimization loops, visualization capabilities, easy interfacing with legacy software, and multiple types of parameters and data type conversions. It provides GPU acceleration, parallelization, and state-of-the-art Bayesian optimization algorithms and supports both automated an d human-in-the-loop optimization. The comprehensive online documentation introduces Bayesian optimization theory and several examples from catalyst synthesis, reaction condition optimization, parameter estimation, and reactor geometry optimization. NEXTorch is open-source and available on GitHub

37 INORGANIC, ORGANIC, PHYSICAL, AND ANALYTICAL CH↗

Cinema Toolkit

Cinema is a workflow and toolkit for capturing, storing and exploring extreme scale scientific data. It is a highly interactive image-based approach to data analysis and exploration that promotes investigation of large scientific datasets, and is easily integrated into existing workflows through extensions to widely used open source tools. In short, many different images of the dataset are captured and stored in a database, along with metadata describing the images. This provides a method of exploration that is unlike other current methods. This novel approach supports interactive exploration of a wide range of results, while still significantly reducing data movement and storage. The Cinema toolkit includes database specifications and software such as database writers, database viewers, algorithms and other support software that enable a wide variety of applications to write, operate on, and view Cinema databases.

ECP↗

Sensor Placement Optimization Software Applied to Site-Scale Methane-Emissions Monitoring

Advances in sensor technology have increased our ability to monitor a wide range of environments. However, even as the cost of sensors decline, only a limited number of sensors can be installed at any given site. The physical placement of sensors, along with the sensor technology and operating conditions, can have a large impact on our ability to adequately monitor environmental change. This paper introduces a new open-source Python package, called Chama, that determines optimal sensor placement and technology to improve a sensor network’s detection capabilities. Additionally, the methods are demonstrated using site-specific methane emission scenarios that capture uncertainty in wind conditions and emission characteristics. Mixed-integer linear programming formulations are used to determine sensor locations and detection thresholds that maximize detection of the emission scenarios. The optimized sensor networks consistently increase the ability to detect leaks, as compared to sensors placed near each potential emission source or along the perimeter of the site.

47 OTHER INSTRUMENTATION↗

N-dependent dynamics of root growth and nitrate and ammonium uptake are altered by the bacterium Herbaspirillum seropedicae in the cereal model Brachypodium distachyon

Nitrogen (N) fixation in cereals by root-associated bacteria is a promising solution for reducing use of chemical N fertilizers in agriculture. However, plant and bacterial responses are unpredictable across environments. We hypothesized that cereal responses to N-fixing bacteria are dynamic, depending on N supply and time. To quantify the dynamics, a gnotobiotic, fabricated ecosystem (EcoFAB) was adapted to analyse N mass balance, to image shoot and root growth, and to measure gene expression of Brachypodium distachyon inoculated with the N-fixing bacterium Herbaspirillum seropedicae. Phenotyping throughput of EcoFAB-N was 25–30 plants h -1 with open software and imaging systems. Herbaspirillum seropedicae inoculation of B. distachyon shifted root and shoot growth, nitrate versus ammonium uptake, and gene expression with time; directions and magnitude depended on N availability. Primary roots were longer and root hairs shorter regardless of N, with stronger changes at low N. At higher N, H. seropedicae provided 11% of the total plant N that came from sources other than the seed or the nutrient solution. The time-resolved phenotypic and molecular data point to distinct modes of action: at 5 mM NH 4 NO 3 the benefit appears through N fixation, while at 0.5 mM NH 4 NO 3 the mechanism appears to be plant physiological, with H. seropedicae promoting uptake of N from the root medium.Future work could fine-tune plant and root-associated microorganisms to growth and nutrient dynamics.

59 BASIC BIOLOGICAL SCIENCES↗