Engineering Papers⌕ Search

SEARCH · Engineering Papers

Results for “software library”

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,243 records · Page 69

A strategy for providing electronic library services to members of the AGATE Consortium

In November, 1992, NASA Administrator Daniel Goldin established a Task Force to evaluate conditions which have lead to the precipitous decline of the US General Aviation System and to recommend actions needed to re-establish US leadership in General Aviation. The Task Force Report and a report by Dr. Bruce J. Holmes, Manager of the General Aviation/Commuter Office at NASA Langley Research Center provided the directions for the formation of the Advanced General Aviation Transport Experiments (AGATE), a consortium of government, industry and university committed to the revitalization of the US General Aviation Industry. One of the recommendations of the Task Force Report was that 'a central repository of information should be created to disseminate NASA research as well as other domestic and foreign aeronautical research that has been accomplished, is ongoing or is planned... A user friendly environment should be created.' This paper describes technical and logistic issues and recommends a plan for providing technical information to members of the AGATE Consortium. It is recommended that the General Aviation office establish and maintain an electronic literature page on the AGATE server. This page should provide a user friendly interface to existing technical report and index servers identified in the report and listed in the Recommendations section. A page should also be provided which gives links to Web resources. A list of specific resources is provided in the Recommendations section. Links should also be provided to a page with tips on searching, a form to provide for feedback and suggestions from users for other resources. Finally, a page should be maintained which provides pointers to other resources like the LaRCsim workstation simulation software which is avail from LaRC at no cost. The developments of the Web is very dynamic. These developments should be monitored regularly by the GA staff and links to additional resources should be provided on the server as they become available. An recommendation to NASA Headquarters should be made to establish a logically central access to all of the NASA Technical Libraries, to make these resources available both to all NASA employees and to the AGATE Consortium.

Thompson, J. Garth↗

Active learning emulators for nuclear two-body scattering in momentum space

In this work we extend the active learning emulators for two-body scattering in coordinate space with error estimation, recently developed by Maldonado et al. [Phys. Rev. C 112, 024002], to coupled-channel scattering in momentum space. Our full-order model (FOM) solver is based on the Lippmann-Schwinger integral equation for the scattering t-matrix as opposed to the radial Schrödinger equation. We use (Petrov-)Galerkin projections and high-fidelity calculations at a few snapshots across the parameter space of the interaction to construct efficient reduced-order models (ROMs), trained by a greedy algorithm for locally optimal snapshot selection. Both the FOM solver and the corresponding ROMs are implemented efficiently in Python using Google's JAX library. We present results for emulating scattering phase shifts in coupled and uncoupled channels and cross sections, and assess the accuracy of the developed ROMs and their computational speedup factors. We also develop emulator error estimation for both the t-matrix and the total cross section. The software framework for reproducing and extending our results is publicly available. Together with our recent advances in developing active-learning emulators for three-body scattering, these emulator frameworks set the stage for full Bayesian calibrations of chiral nuclear interactions and optical models against scattering data with quantified emulator errors.

73 NUCLEAR PHYSICS AND RADIATION PHYSICS↗

Spawn v.0.5.0 Released 12.15.2023 [SWR-SWR-20-10]

Spawn is a software package for performing co-simulations involving NREL's EnergyPlus™ tool and Modelica. This package bundles the following items in one self-contained package. 1. A method for connecting EnergyPlus models to Modelica 2. A Modelica compiler toolchain for compiling and running Modelica models 3. Modelica libraries and content, including the Modelica Buildings Library (MBL) and the Modelica Standard Library. The Spawn installation package is fully self-contained, and there are no external third-party dependencies. Together the capabilities in this package provide a single integrated environment for performing hybrid Modelica and EnergyPlus simulations. The primary entry point is the Spawn command line interface.

Li, Yanfei↗

`SkyPy`: A package for modelling the Universe

SkyPy is an open-source Python package for simulating the astrophysical sky. It comprises a library of physical and empirical models across a range of observables and a command-line script to run end-to-end simulations. The library provides functions that sample realisations of sources and their associated properties from probability distributions. Simulation pipelines are constructed from these models using a YAML-based configuration syntax, while task scheduling and data dependencies are handled internally and the modular design allows users to interface with external software. SkyPy is developed and maintained by a diverse community of domain experts with a focus on software sustainability and interoperability. By fostering development, it provides a framework for correlated simulations of a range of cosmological probes including galaxy populations, large scale structure, the cosmic microwave background, supernovae and gravitational waves. Version 0.4 implements functions that model various properties of galaxies including luminosity functions, redshift distributions and optical photometry from spectral energy distribution templates. Future releases will provide additional modules, for example, to simulate populations of dark matter halos and model the galaxy-halo connection, making use of existing software packages from the astrophysics community where appropriate.

46 INSTRUMENTATION RELATED TO NUCLEAR SCIENCE AND ↗

A new template for developing C++ applications in NASA's Core Flight System

In this presentation, we will demonstrate an example Core Flight System (cFS) application written in C++, compatible with the Draco releases of the Core Flight Executive (cFE) and NASA Operating System Abstraction Layer (OSAL). The application boilerplate, supporting library, and associated generation script were recently developed and licensed under the permissive Apache License 2.0 with the goal of easing the cFS app development with C++. The design and features of this application will be presented, including a higher-level interface for interactions with the cFE software bus pipes, tables, and event services. Data structures are provided for centralized telecommand and telemetry parsing which isolates bookkeeping of message components from the calling code in an application's core logic. Specific advantages of writing a cFS application in C++ will be shown, including easier avoidance of symbol collisions via namespaces, expanded compile-time checks via constant expressions, default initialization for data structures, null safety via references, improved syntax for operating on multi-dimensional arrays, and reliable serialization of enumerations via enumeration classes. Special considerations needed for integrating a C++ application will be identified, including function linkage, exceptions, and stack unwinding. Evidence for the usefulness of this template will be discussed in the context of development of a flight software application used for interfacing with a solid-state data recorder.

Dominick Allen↗

Open Source Release of NJOY2016 and NJOY21

NJOY has been the standard for nuclear data processing for many decades. NJOY is a comprehensive computer code used to produce point-wise and multigroup nuclear data application libraries from cross sections and related quantities obtained from evaluated nuclear data in the Evaluated Nuclear Data Format (ENDF). NJOY was first publicly released in 1977 and distributed by what is now the Radiation Safety Information Computational Center (RSICC) at Oak Ridge National Laboratory and the National Energy Software Center (NESC) at Argonne National Laboratory. From that time until the release of NJOY2012, NJOY has been distributed by RSICC and made available to researchers outside the United States by agreements between RSICC and the NEA Databank. NJOY2012 was distributed by the Feynman Center at Los Alamos National Laboratory which did not have agreements with the NEA Databank, thus making it more difficult for non US citizens to obtain copies of NJOY2012. Furthermore, NJOY has had export control restrictions preventing some researchers from obtaining NJOY at all. Two new versions of NJOY have been released, NJOY2016 and NJOY21, in January of 2017. Both NJOY2016 and NJOY21 have been released with no export control restrictions and are distributed with an open-source license. This is a big departure from previous releases and impacts not only who has access to NJOY, but also how updates are made available to users and how collaboration is facilitated among interested developers. In addition to distributing NJOY2016 and NJOY21 with an open-source license, these two new versions provide new capabilities for NJOY which will maintain NJOY as the standard for nuclear data processing into the foreseeable future. We report in this summary about the changes that come with these two new versions of NJOY and how this impacts the users and long-time contributors to NJOY.

73 NUCLEAR PHYSICS AND RADIATION PHYSICS↗

Autotuning in High-Performance Computing Applications

Autotuning refers to the automatic generation of a search space of possible implementations of a computation that are evaluated through models and/or empirical measurement to identify the most desirable implementation. Autotuning has the potential to dramatically improve the performance portability of petascale and exascale applications. To date, autotuning has been used primarily in high-performance applications through tunable libraries or previously tuned application code that is integrated directly into the application. This paper draws on the authors' extensive experience applying autotuning to high-performance applications, describing both successes and future challenges. If autotuning is to be widely used in the HPC community, researchers must address the software engineering challenges, manage configuration overheads, and continue to demonstrate significant performance gains and portability across architectures. In particular, tools that configure the application must be integrated into the application build process so that tuning can be reapplied as the application and target architectures evolve.

97 MATHEMATICS AND COMPUTING↗

Modeling Tool Development and Validation for Solar Industry Process Heat Using Particle Thermal Energy Storage

U.S. industry sectors used 26.2 quadrillion Btu and accounted for 33% of total energy consumption in 2021 according to the Energy Information Agency. Industrial process heat accounts for 70% of industrial energy use with application temperatures ranging from 60 degrees -1100 degrees C. Industry processes, heavily relying on fossil fuels of cheap coal or natural gas, differ widely in operating conditions and load requirements which makes them difficult to standardize and imposes great challenges in decarbonization. Industry processes require reliable energy supply and vary widely in temperature ranges. Storing energy from renewable sources is necessary to improve reliability and to mitigate renewable intermittency when replacing carbon fuel-based heat supplies to achieve energy savings and reduce emissions. To this end, we have developed a particle-based thermal energy storage (TES) technology using low-cost and highly stable silica sand as a storage medium. The economic and performance-based analysis is key for renewable energy sources to reliably supply industry process heat and ultimately displace fossil fuels for decarbonization. The diversified industrial processes need case-by-case analysis and design. Therefore, an adaptive modeling tool is key for renewable power with energy storage to meet industry demands. Thus, a modeling tool to simulate a solar industry process heat system using the particle TES has been developed using the object-oriented equation-based language Modelica and the commercial platform of Modelon Impact. The Modelica-based software tool provides a general simulation environment for the design of reliable solar energy sources integrated with TES for various industrial process applications at different temperatures for economic competence with fossil fuels such as coal and natural gases. It uses both customized and standard component modeling modules in Modelon libraries for the flexibility to be adapted to a specific energy demand application. The particle TES system establishes a uniform energy supply platform with an efficient heat exchanger and particle thermal energy reservoir integrated with renewable powers. The particle TES system can provide a wide temperature range and can have a large storage temperature difference that increases storage energy density; therefore, it can be an adaptable energy storage system integrated with renewable power to supply 24/7 heat for industry decarbonization.

concentrated solar thermal↗

Building distributed rule-based systems using the AI Bus

The AI Bus software architecture was designed to support the construction of large-scale, production-quality applications in areas of high technology flux, running heterogeneous distributed environments, utilizing a mix of knowledge-based and conventional components. These goals led to its current development as a layered, object-oriented library for cooperative systems. This paper describes the concepts and design of the AI Bus and its implementation status as a library of reusable and customizable objects, structured by layers from operating system interfaces up to high-level knowledge-based agents. Each agent is a semi-autonomous process with specialized expertise, and consists of a number of knowledge sources (a knowledge base and inference engine). Inter-agent communication mechanisms are based on blackboards and Actors-style acquaintances. As a conservative first implementation, we used C++ on top of Unix, and wrapped an embedded Clips with methods for the knowledge source class. This involved designing standard protocols for communication and functions which use these protocols in rules. Embedding several CLIPS objects within a single process was an unexpected problem because of global variables, whose solution involved constructing and recompiling a C++ version of CLIPS. We are currently working on a more radical approach to incorporating CLIPS, by separating out its pattern matcher, rule and fact representations and other components as true object oriented modules.

Schultz, Roger D.↗

Session 6: Dynamic Modeling and Systems Analysis

These presentations cover some of the ongoing work in dynamic modeling and dynamic systems analysis. The first presentation discusses dynamic systems analysis and how to integrate dynamic performance information into the systems analysis. The ability to evaluate the dynamic performance of an engine design may allow tradeoffs between the dynamic performance and operability of a design resulting in a more efficient engine design. The second presentation discusses the Toolbox for Modeling and Analysis of Thermodynamic Systems (T-MATS). T-MATS is a Simulation system with a library containing the basic building blocks that can be used to create dynamic Thermodynamic Systems. Some of the key features include Turbo machinery components, such as turbines, compressors, etc., and basic control system blocks. T-MAT is written in the Matlab-Simulink environment and is open source software. The third presentation focuses on getting additional performance from the engine by allowing the limit regulators only to be active when a limit is danger of being violated. Typical aircraft engine control architecture is based on MINMAX scheme, which is designed to keep engine operating within prescribed mechanical/operational safety limits. Using a conditionally active min-max limit regulator scheme, additional performance can be gained by disabling non-relevant limit regulators

control↗

pyCRTM: A Python Interface for the Community Radiative Transfer Model

The Community Radiative Transfer Model (CRTM) is a powerful and versatile scalar radiative transfer model for satellite data assimilation and remote sensing applications. It is implemented as an object-oriented Fortran library, enabling flexible code development and optimal runtime performance on clusters. The downsides of the Fortran interface are a steep learning curve for students and the reduced productivity of users that is typical for static compiled languages, in contrast to dynamic interpreted languages like Python. pyCRTM is a new software framework that directly interfaces the CRTM Fortran data structures and procedures in Python, leveraging both the simplicity and ease of use of Python syntax as well as the flexibility arising from the vast contemporary Python ecosystem. The goal of pyCRTM is to lower the barrier of entry for university students to learn and use the CRTM and to boost the productivity of researchers seeking to create new methods in radiative transfer and data assimilation, or seeking to apply the CRTM to study atmospheric phenomena without having to go through the pre-existing complexity of the CRTM Fortran interface.

Python↗

Enabling New Flexibility in the SUNDIALS Suite of Nonlinear and Differential/Algebraic Equation Solvers

In recent years, the SUite of Nonlinear and DIfferential/ALgebraic equation Solvers (SUNDIALS) has been redesigned to better enable the use of application-specific and third-party algebraic solvers and data structures. Throughout this work, we have adhered to specific guiding principles that minimized the impact to current users while providing maximum flexibility for later evolution of solvers and data structures. The redesign was done through the addition of new linear and nonlinear solvers classes, enhancements to the vector class, and the creation of modern Fortran interfaces. The vast majority of this work has been performed “behind-the-scenes,” with minimal changes to the user interface and no reduction in solver capabilities or performance. These changes allow SUNDIALS users to more easily utilize external solver libraries and create highly customized solvers, enabling greater flexibility on extreme-scale, heterogeneous computational architectures.

97 MATHEMATICS AND COMPUTING↗

Automatically generated model for light alkene combustion

Light alkenes are common combustion intermediates for a variety of fuels. Therefore, understanding their oxidation and pyrolysis chemistry is key to building detailed mechanisms for heavier fuels. This work was focused on the development and evaluation of a detailed kinetic mechanism suitable for the combustion of light alkenes up to C 4 without the use of tuned parameters, instead, the parameter values come from first principles or direct measurements. The generated mechanism accurately estimates the laminar burning velocity (S u ) and ignition delay time (IDT) of light alkenes available in the literature, which represent fundamental combustion properties at a wide range of conditions. Because each parameter is thought to have a physically realistic value, not tuned to these measurements, the new model could be used as a sub-mechanism in models for other applications. The reaction network was generated with the open-source Reaction Mechanism Generator (RMG) software. Sensitivity analyses were performed under wide ranges of temperatures and pressures, allowing for the identification of the most impactful species and reactions. Based on these, a comprehensive thermochemistry database, including calculations on 550 molecules performed in this work at the CBS-QB3 level of theory, and a kinetic library, including theoretically-derived reaction rates retrieved from the literature, were built and used in the mechanism generation. The developed mechanism was compared against several existing detailed kinetic mechanisms for ethene, propene, 1-butene, 2-butene, and isobutene. Here, the newly generated model is the most accurate among the ones analyzed, in terms of fractional bias and normalized mean square error. Hence, this new model was used to analyze the chemistry of alkene combustion. Key rate coefficients were compared, to identify the cause of deviations between the models and possible areas for further improvements.

09 BIOMASS FUELS↗

Umpire: Application-Focused Management and Coordination of Complex Hierarchical Memory

Advanced architectures like Sierra provide a wide range of memory resources that must often be carefully controlled by the user. These resources have varying capacities, access timing rules, and visibility to different compute resources. Applications must intelligently allocate data in these spaces, and depending on the total amount of memory required, applications may also be forced to move data between different parts of the memory hierarchy. Finally, applications using multiple packages must coordinate effectively to ensure that each package can use the memory resources it needs. To address these challenges, we present Umpire, an application-oriented library for managing memory resources. Specifically, Umpire provides support for querying memory resources, provisioning and allocating memory, and memory introspection. It allows computer scientists and computational physicists to efficiently program the memory hierarchies of current and future high-performance computing architectures, without tying their application to specific hardware or software. In this paper, we describe the design and implementation of Umpire and present case studies from the integration of Umpire into applications that are currently running on Sierra.

97 MATHEMATICS AND COMPUTING↗

DeepBench: A simulation package for physical benchmarking data

We introduce **DeepBench**, a python library that generates simple simulated image data from first principles, such as basic geometric shapes and astronomical objects. These data are highly valuable for developing (calibration, testing, and benchmarking) statistical and machine learning models because they make it possible to connect the final data product to physically interpretable inputs. This software includes tools to curate and store the datasets to maximize reproducibility.

72 PHYSICS OF ELEMENTARY PARTICLES AND FIELDS↗

A Python Library for Radiance Matrix-based Simulation Control and EnergyPlus Integration

Radiance matrix-based methods enable efficient parametric simulations, allowing users to vary sky conditions, fenestration systems, and other model parameters at a minimal cost to computation. However, the steep learning curve and complex workflow hinder the widespread adoption of matrix-based methods. The frads Python library with a series of command-line tools was developed to automate the entire matrix-based simulation process, lowering entry barriers and reducing human error. Co-simulation between EnergyPlus and Radiance was also enabled using the Python library from EnergyPlus. Key Innovations • Command-line based automation of Radiance matrix-based simulation methods • Python library facilitates broader adoption of Radiance matrix-based simulation methods • Radiance EnergyPlus run-time integration enabling the modeling of advanced control systems Practical Implications The frads library, with associated command-line tools, provides practitioners with the capability to easily adopt and use Radiance matrix-based simulation methods for various daylighting, solar control, and energy-related evaluations. Frads' current form is designed for 1) users familiar with a command-line interface and 2) software developers to integrate the matrix-based methods into existing software packages.

Wang, Taoning↗

Gamma Detector Response and Analysis Software - Detector Response Function

GADRAS-DRF uses a Detector Response Function (DRF) to compute the response of gamma-ray detectors incident radiation. The application includes provision for plotting measured and computed spectra and for characterizing detector response parameters based on measurements of a series of calibration sources (e.g., Ba-133, Cs-137, Co-60, and Th-228). An application program interface enables other programs to access the dynamic-link library that is used to compute spectra.

Source record↗

In Situ Surface Characterization

Operation of in situ space assets, such as rovers and landers, requires operators to acquire a thorough understanding of the environment surrounding the spacecraft. The following programs help with that understanding by providing higher-level information characterizing the surface, which is not immediately obvious by just looking at the XYZ terrain data. This software suite covers three primary programs: marsuvw, marsrough, and marsslope, and two secondary programs, which together use XYZ data derived from in situ stereo imagery to characterize the surface by determining surface normal, surface roughness, and various aspects of local slope, respectively. These programs all use the Planetary Image Geometry (PIG) library to read mission-specific data files. The programs themselves are completely multimission; all mission dependencies are handled by PIG. The input data consists of images containing XYZ locations as derived by, e.g., marsxyz. The marsuvw program determines surface normals from XYZ data by gathering XYZ points from an area around each pixel and fitting a plane to those points. Outliers are rejected, and various consistency checks are applied. The result shows the orientation of the local surface at each point as a unit vector. The program can be run in two modes: standard, which is typically used for in situ arm work, and slope, which is typically used for rover mobility. The difference is primarily due to optimizations necessary for the larger patch sizes in the slope case. The marsrough program determines surface roughness in a small area around each pixel, which is defined as the maximum peak-to-peak deviation from the plane perpendicular to the surface normal at that pixel. The marsslope program takes a surface normal file as input and derives one of several slope-like outputs from it. The outputs include slope, slope rover direction (a measure of slope radially away from the rover), slope heading, slope magnitude, northerly tilt, and solar energy (compares the slope with the Sun s location at local noon). The marsuvwproj program projects a surface normal onto an arbitrary plane in space, resulting in a normalized 3D vector, which is constrained to lie in the plane. The marsuvwrot program rotates the vectors in a surface normal file, generating a new surface normal file. It also can change coordinate systems for an existing surface normal file. While the algorithms behind this suite are not particularly unique, what makes the programs useful is their integration into the larger in situ image processing system via the PIG library. They work directly with space in situ data, understanding the appropriate image metadata fields and updating them properly. The secondary programs (marsuvwproj, marsuvwrot) were originally developed to deal with anomalous situations on Opportunity and Spirit, respectively, but may have more general applicability.

Deen, Robert G.↗