Search NASA⌕ Search

SEARCH · Search NASA

Results for “data structures”

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,171 records · Page 65

Materials Challenges and Opportunities for Energy Generation, Conversion, Delivery, and Storage (Applied Energy Tri-Laboratory Consortium Workshop Report)

This report documents the outcomes of the Tri-Laboratory Materials Workshop that was held July 31 and August 1, 2019 to begin addressing the needs, opportunities, and challenges associated with the development, fabrication, and testing of the needed materials and components for integrated hybrid energy systems (i.e., incorporating nuclear, fossil, and renewables for electric and thermal applications). This was accomplished by assembling the research program leads and principal investigators at Idaho National Laboratory (INL), National Energy Technology Laboratory (NETL), and National Renewable Energy Laboratory (NREL), who support the research and development of new technology and system integration. The team then identified and prioritized key materials development needs. This effort was intended to enhance communications and synergy among the Tri-Lab partners. Advanced functional and structural materials are central to transformative energy technologies for energy generation, conversion, delivery, and storage. With that in mind, the workshop focused on identifying and assessing the foundational materials research needs at both the basic and applied levels. Materials challenges include the ability to withstand harsh environments, such as high temperatures and pressures, corrosion, oxidation, or irradiation while maintaining flexible mission profiles and long service lifespans. Advanced energy system material challenges and needs range from materials for the capture, upgrading/concentration, storage, and delivery of low-grade heat to materials for high temperature environments that involve liquid metals, molten salt, and very high temperature gas heat delivery and storage systems. Material improvements are needed for hybrid energy systems due to accelerated corrosion and stress-fatigue failure of materials and equipment, which results from increased frequency and amplitude of thermal, mechanical, and electrical cycling of systems components. Multifunctional materials are needed for high temperature solid-oxide fuel cells, advanced electrochemical reactors, and in-process separation. Relative to materials manufacturing, application of advanced additive and subtractive methods need to be understood to develop both thin-layer homogenous materials and materials of graded composition. Materials modeling and machine learning will be critical to accelerate the design and production of power electronics, and nuclear reactor materials and fuel, as well as to gain an understanding of beneficial materials phenomena or deleterious microstructure evolution. There is also a need for standardized models, computational structures, data reporting protocols and modeling tools across the three laboratories. This would allow consistent results, analysis, and data sharing. Combining computational capabilities between the three laboratories (e.g., hardware, software) would greatly increase computational capabilities and throughput. The workshop identified the need for laboratories to anticipate and address problems that will occur during scale-up. Laboratory work must connect with industry to ensure that research focuses on processes that are scalable and marketable. Industry input and perspective are essential to guide laboratory research to meet these requirements and deploy new technology in industrial demonstrations. Another aspect of scale-up is the integration of multiple systems since new challenges often arise at the subsystem interfaces. Establishing a scale-up manufacturing demonstration/pilot plant, potentially as an industrial user facility, would be beneficial to the laboratories and industry. That modular scale-up manufacturing demonstration/pilot plant would allow researchers to find and resolve interface problems that cannot be identified by focusing only on individual parts. Communication exchanges among the organizers, attendees, and workshop survey responses indicate that the workshop was successful in achieving its goal to identify key technology gaps and research needs. Strong positive feedback was received on the sharing of ideas, capabilities, talent, and passion to move forward on the materials-related action items.

36 MATERIALS SCIENCE↗

Monte Carlo Hauser-Feshbach computer code system to model nuclear reactions: YAHFC

A computer program framework, YAHFC, to model low-energy nuclear reactions is presented. The framework allows for reactions with incident particles ranging from protons/neutrons to alphas and is designed to address reactions that ultimately lead to the formation of compound nuclear systems that then decay statistically as outlined in concepts of Hauser and Feshbach. Additionally, instead of a reaction, it is also possible to model the decay of a nuclear system with an initial excitation and population. The code models nuclear decays with a Monte Carlo process that tracks the decay of each state. This allows for an exact representation of the spectra for all emitted particles in each of the final exit channels and the possibility of generating reaction data for simulation purposes. The program is interfaced with the optical model code system FRESCOX to calculate transmission coefficients as well as the effects of coupled channels and other direct excitations via the distorted wave Born approximation (DWBA). Modules are included to account for nuclear processes such as width corrections, pre-equilibrium emission, and fission. The program is controlled by a series of input commands and while a set of input parameters exists for each projectile and target, the input commands allow for complete control over each input parameter. Extensive data files are produced and a program is provided that converts YAHFC data files into nuclear data library entries in the generalized nuclear data structure (GNDS).

73 NUCLEAR PHYSICS AND RADIATION PHYSICS↗

PETSc Users Manual (Revision 3.15)

This manual describes the use of the Portable, Extensible Toolkit for Scientific Computation (PETSc) for the numerical solution of partial differential equations and related problems on high-performance computers. PETSc is a suite of data structures and routines that provide the building blocks for the implementation of large-scale application codes on parallel (and serial) computers. PETSc uses the MPI standard for all distributed memory communication.

97 MATHEMATICS AND COMPUTING↗

FleCSI Intro 2.0 [Slides]

FleCSI is a programming system or framework for developing mulitphysics application codes. FleCSI provides two primary capabilities--runtime abstraction layer and topology data structures.

97 MATHEMATICS AND COMPUTING↗

Understanding the Design Space of Sparse/Dense Multiphase Dataflows for Mapping Graph Neural Networks on Spatial Accelerators

Graph Neural Networks (GNNs) have garnered a lot of recent interest because of their success in learning representations from graph-structured data across several critical applications in cloud and HPC. Owing to their unique compute and memory characteristics that come from an interplay between dense and sparse phases of computations, the emergence of reconfigurable dataflow (aka spatial) accelerators offers promise for acceleration by mapping optimized dataflows (i.e., computation order and parallelism) for both phases. The goal of this work is to characterize and understand the design-space of dataflow choices for running GNNs on spatial accelerators in order for the compilers to optimize the dataflow based on the workload. Specifically, we propose a taxonomy to describe all possible choices for mapping the dense and sparse phases of GNNs spatially and temporally over a spatial accelerator, capturing both the intra-phase dataflow and the inter-phase (pipelined) dataflow. Using this taxonomy, we do deep-dives into the cost and benefits of several dataflows and perform case studies on implications of hardware parameters for dataflows and value of flexibility to support pipelined execution.

97 MATHEMATICS AND COMPUTING↗

Understanding Lustre Internals. Second Edition

The Lustre file system has become a preferred storage resource for systems on the Top500 list, and it is often the file system of choice for small- to medium-sized HPC systems that require parallel shared access to data. Several resources exist to help users deploy and configure Lustre, but the same cannot be said for resources that explain the inner workings of the Lustre source code. A previous ORNL technical report entitled "Understanding Lustre Filesystem Internals" (ORNL/TM-2009/117) provided an excellent summary of Lustre subsystem operations. However, that report is over a decade old and is based on Lustre version 1.6. Since that report was published, Lustre has evolved significantly. Several subsystems underwent significant code changes and many new features have been added to the file system, bringing the current Lustre version up to 2.15.This report aims to document and explain the internal workings of the latest version of the Lustre file system. It will provide more complete and up-to-date information than the previous technical report and should serve as a foundational document for anyone interested in Lustre software development. Key data structures will be described along with the APIs used for interaction among the various Lustre subsystems. Although the Lustre software is constantly being developed, the details in this document should remain relevant for the forseeable future.

97 MATHEMATICS AND COMPUTING↗

Cambium Documentation: Version 2021

Cambium is a tool that assembles structured data sets of simulated hourly emission, cost, and operational data for modeled futures of the U.S. electric sector with metrics designed to be useful for long-term decision-making. It was built to expand the metrics reported in the National Renewable Energy Laboratory's (NREL's) Standard Scenarios - an annually released set of projections of how the U.S. electric sector could evolve across a suite of different potential futures, looking forward through 2050 (Cole et al. 2021) Information about Cambium and related publications can be found at https://nrel.gov/analysis/cambium.html, and the Cambium data sets for the Standard Scenarios can be viewed and downloaded at https://cambium.nrel.gov/. In this documentation, we define the metrics reported in Cambium databases (Section 4) and document the Cambium-specific methods for calculating those metrics (Section 5). As this document is intended to cover multiple Cambium data releases, we do not document specific scenarios here - for individual data releases, readers should look for an accompanying report that describes the assumptions and data that underlie that specific release. For Cambium databases that are built on NREL's Standard Scenarios, for example, reports describing the scenarios can be found on the Standard Scenarios web site (https://www.nrel.gov/analysis/standard-scenarios.html).

24 POWER TRANSMISSION AND DISTRIBUTION↗

Developing Bloom Filters for Web Archives’ Holdings (Final Project Report)

The main goal of the project was to develop a framework for web archives to create Bloom filters based on their holdings of archived web resources. A Bloom filter (BF) is a data structure that, in our scenario, contains hash values of all (or a subset of) URLs, of which an archive has one or more archival copies. Two main use cases fall in scope for this project and are supported by a BF implementation: 1) Sharing of an archive’s holdings (URLs) and 2) Querying the holdings of one or more archives. Since URL strings are hashed before ingested into the BF, the index of an archive is not shared in plain text when the BF is shared with trusted parties. On the other hand, a BF implementation does allow queries for a URL to confirm if an archive indeed has one or more archival copies of that URL. This collaborative project between Los Alamos National Laboratory (LANL) and the Croatian Web Archive (HAW), from the National and University Library in Zagreb (NSK), developed by NSK and University of Zagreb University Computing Center SRCE), aimed at developing software to create BFs, evaluate the scalability of the approach, pilot a search service based on BFs, and design a framework for archives to share their filters with trusted parties. In the remainder of this document, we will report on the work completed with respect to the individual deliverables, outline aspects of future work, and conclude with our recommendations for the use of BFs for the web archiving community.

97 MATHEMATICS AND COMPUTING↗

Initial CEED API (CEED-MS10)

Key components of CEED software development involve fast finite element operator storage and evaluation, architecture optimizations, performant algorithms for all orders, global kernels for finite element operators, efficient use of the memory sub-system, optimal data locality and motion, enhanced scalability and parallelism, and fast tensor contractions. As ultimate goals of the project, CEED is exploring and identifying the best algorithms for the full range of discretizations and applying algorithmic and software development to support ECP applications’ needs. In this milestone, we initiated the development and implementation of a common CEED API consisting of two main components: low-level and high-level APIs. We accomplished the goal of having the low-level component ready for the release of CEED v1.0 in the next quarter, see CEED-MS13. In this report we also provide a highlight from CEED’s integration with the MARBL app and the corresponding Laghos miniapp. A main theme in this work has been the systematic transition of advanced algorithms, developed and tested in Laghos, to the large-scale multi-physics settings of the MARBL code. The low-level CEED API provides a set of FE kernels and components for writing new low-level kernels. Examples include: vector and sparse linear algebra, element matrix assembly over a batch of elements, partial assembly and action for efficient high-order operators like mass, diffusion, advection, etc. The main goal of the low-level API is to establish the basis for the high-level API. Also, identifying such low-level kernels and providing a reference implementation for them serves as the basis for collaboration with vendors and STs. Another goal for the low-level API is to make it easy for applications with their own discretization infrastructure, who do not want to switch directly to using the high-level CEED API, to still evaluate and use the core operations provided by the low-level API. One of the challenges with high-order methods is that a global sparse matrix is no longer a good representation of a high-order linear operator, both with respect to the FLOPs needed for its evaluation, as well as the memory transfer needed for a matvec. Thus, another important question we tried to address while developing the low-level API is: is it possible to abstract out in a natural and efficient way the different implementations and data structures that arise when dealing with various computational device types: CPUs, GPUs, etc. Fully answering this question is beyond the scope of this particular milestone, since that requires longer time as we develop and expand the devices we support. The future high-level API will be the frontend provided by CEED consisting of high-level abstractions such as meshes, finite element spaces and solutions, bilinear forms, solvers, etc. At this high-level, an important aspect of the API will be to provide a uniform abstraction layer for writing code in a portable manner. To achieve that, we plan to utilize the MPI programming model combined with a device abstraction layer (DAL) for finite element computations that we will develop. The DAL will serve as the bridge between the low- and the high-level APIs, allowing a variety of programming models to be used for the low-level kernel implementations. The software artifacts delivered as part of this milestone include an initial CEED API software implementation (libCEED) provided through the CEED website, http://ceed.exascaleproject.org and the CEED GitHub organization, http://github.com/ceed. In addition to details and results from the above R&D efforts, in this document we are also reporting on other project-wide activities performed in Q1 of FY18, including: the Nek5000 v17.0 MFEM v3.3.2 and PETSc v3.8 releases, collaborations with ECP/ST and SciDAC projects, the inaugural Nek5000 hackathon and various outreach activities.

97 MATHEMATICS AND COMPUTING↗

HyMARC Seedling: Optimized Hydrogen Adsorbents via Machine Learning and Crystal Engineering

This final report is presented in two parts: In Part 1, the H 2 capacities of a diverse set of 918,734 metal-organic frameworks (MOFs) sourced from 19 databases is predicted via machine learning (ML). Using only 7 structural features as input, ML identifies 8,282 MOFs with the potential to exceed the capacities of state-of-the-art materials. The identified MOFs are predominantly hypothetical compounds having low densities (<0.31 g/cm3) in combination with high surface areas (>5,300 m2/g), void fractions ($0.90), and pore volumes (>3.3 cm3/g). The relative importance of the input features are characterized, and dependencies on the ML algorithm and training set size are quantified. The most important features for predicting H 2 uptake are pore volume (for gravimetric capacity) and void fraction (for volumetric capacity). The ML models are available on the web, allowing for rapid and accurate predictions of the hydrogen capacities of MOFs from limited structural data; the simplest models require only a single crystallographic feature. In part 2, ways to improve the poor powder packing density of MOFs is discussed. More specifically, a strategy that improves packing efficiency and volumetric hydrogen gas storage density dramatically through engineered morphologies and controlled-crystal size distributions is presented that holds promise for maximizing storage capacity for a given MOF. The packing density improvement, demonstrated for the benchmark sorbent MOF-5, leads to a significant enhancement of volumetric hydrogen storage performance relative to commercial MOF-5. System model projections demonstrate that engineering of crystal morphology/size or use of a bimodal distribution of cubic crystal sizes in tandem with system optimization can surpass the 25 g/L volumetric capacity of a typical 700 bar compressed storage system and exceed the DOE targets 2020 volumetric capacity (30 g/L). Finally, a critical link between improved powder packing density and reduced damage upon compaction is revealed leading to sorbents with both high surface area and high density.

08 HYDROGEN↗

Algorithmic and GPU enhancements for molecular dynamics in Cabana and LAMMPS

The focus of this milestone was to implement and test new algorithms and optimizations for improved GPU performance by molecular dynamics (MD) and related particle codes. The work was done in the CoPA Cabana library, the CabanaMD mini-app which uses Cabana to implement and benchmark prototypical MD models, and the LAMMPS MD code which is used by the ECP EXAALT project as well as for materials modeling generally. Efforts included (a) implementation of new or optimized algorithms for fundamental MD kernels like neighbor-list building and FFTs which are also widely used in other particle methods, (b) performance testing of data structure layouts for both simple pairwise and computationally intense neural network potentials, (c) optimizations aimed at improving GPU performance for models with small atom counts, and (d) optimizations specific to the SNAP interatomic potential due to its importance for the EXAALT project.

36 MATERIALS SCIENCE↗

PETSc/TAO Users Manual: Revision 3.18

This manual describes the use of the Portable, Extensible Toolkit for Scientific Computation (PETSc) and the Toolkit for Advanced Optimization (TAO) for the numerical solution of partial differential equations and related problems on high-performance computers. PETSc/TAO is a suite of data structures and routines that provide the building blocks for the implementation of large-scale application codes on parallel (and serial) computers. PETSc uses the MPI standard for all distributed memory communication.

97 MATHEMATICS AND COMPUTING↗

PETSc/TAO Users Manual (Rev. 3.19)

This manual describes the use of the Portable, Extensible Toolkit for Scientific Computation (PETSc) and the Toolkit for Advanced Optimization (TAO) for the numerical solution of partial differential equations and related problems on high-performance computers. PETSc/TAO is a suite of data structures and routines that provide the building blocks for the implementation of large-scale application codes on parallel (and serial) computers. PETSc uses the MPI standard for all distributed memory communication. PETSc/TAO includes a large suite of parallel linear solvers, nonlinear solvers, time integrators, and opti mization that may be used in application codes written in Fortran, C, C++, and Python (via petsc4py; see Getting Started). PETSc provides many of the mechanisms needed within parallel application codes, such as parallel matrix and vector assembly routines. The library is organized hierarchically, enabling users to employ the level of abstraction that is most appropriate for a particular problem. By using techniques of object-oriented programming, PETSc provides enormous flexibility for users. PETSc is a sophisticated set of software tools; as such, for some users it initially has a much steeper learning curve than packages such as MATLAB or a simple subroutine library. In particular, for individuals without some computer science background, experience programming in C, C++, python, or Fortran and experience using a debugger such as gdb or lldb, it may require a significant amount of time to take full advantage of the features that enable efficient software use. However, the power of the PETSc design and the algorithms it incorporates may make the efficient implementation of many application codes simpler than “rolling them” yourself. For many tasks a package such as MATLAB is often the best tool; PETSc is not intended for the classes of problems for which effective MATLAB code can be written. There are several packages, built on PETSc, that may satisfy your needs without requiring directly using PETSc. We recommend reviewing these packages functionality before starting to code directly with PETSc. PETSc can be used to provide a “MPI parallel linear solver” in an otherwise sequential, or OpenMP parallel code. This approach cannot provide extremely large improvements in the application time by utilizing large numbers of MPI processes but can still improve the performance. Certainly all parts of a previously sequential code need not be parallelized but the matrix generation portion must be parallelized to expect true scalability to large numbers of MPI processes. See PCMPI for details on how to utilize the PETSc MPI linear solver server. Since PETSc is under continued development, small changes in usage and calling sequences of routines will occur. PETSc has been supported for twenty-five years; see mailing list information on our website for information on contacting support.

97 MATHEMATICS AND COMPUTING↗

PETSc/TAO Users Manual (Rev. 3.20)

This manual describes the use of the Portable, Extensible Toolkit for Scientific Computation (PETSc) and the Toolkit for Advanced Optimization (TAO) for the numerical solution of partial differential equations and related problems on high-performance computers. PETSc/TAO is a suite of data structures and routines that provide the building blocks for the implementation of large-scale application codes on parallel (and serial) computers. PETSc uses the MPI standard for all distributed memory communication.

97 MATHEMATICS AND COMPUTING↗

Guidelines for Nuclear Structure Evaluators

This document sets forth the policies and procedures for preparing mass chain evaluations for the Evaluated Nuclear Structure Data File (ENSDF). Also included are some appendices which are referred to or augment material in the guidelines. See section on Appendices for details and references to additional material.

73 NUCLEAR PHYSICS AND RADIATION PHYSICS↗

PETSc/TAO Users Manual V.3.21

This manual describes the use of the Portable, Extensible Toolkit for Scientific Computation (PETSc) and the Toolkit for Advanced Optimization (TAO) for the numerical solution of partial differential equations (PDEs) and related problems on high-performance computers. PETSc/TAO is a suite of data structures and routines that provide the building blocks for implementing large-scale application codes on parallel (and serial) computers. PETSc uses the MPI standard for all distributed memory communication. PETSc/TAO includes a large suite of parallel linear solvers, nonlinear solvers, time integrators, and optimizers that may be used in application codes written in Fortran, C, C++, and Python (via petsc4py; see Getting Started ). The library is organized hierarchically, enabling users to employ the abstraction level most appropriate for a particular problem. By using techniques of object-oriented programming, PETSc provides enormous flexibility for users.

97 MATHEMATICS AND COMPUTING↗

Sandia Toolkit Manual (V.5.21.1)

This report provides documentation for the Sandia Toolkit (STK) modules. STK modules are intended to provide infrastructure that assists the development of computational engineering software such as finite-element analysis applications. STK includes modules for unstructured-mesh data structures, reading/writing mesh files, geometric proximity search, transfers, MPMD coupling support, and various other utilities. This document contains a chapter for each module, and each chapter contains overview descriptions and usage examples. Usage examples are primarily code listings which are generated from working test programs that are included in the STK code-base. A goal of this approach is to ensure that the usage examples will not fall out of date.

97 MATHEMATICS AND COMPUTING↗

Sandia Toolkit Manual Version 5.15.6

This report provides documentation for the Sandia Toolkit (STK) modules. STK modules are intended to provide infrastructure that assists the development of computational engineering software such as finite-element analysis applications. STK includes modules for unstructured-mesh data structures, reading/writing mesh files, geometric proximity search, and various utilities. This document contains a chapter for each module, and each chapter contains overview descriptions and usage examples. Usage examples are primarily code listings which are generated from working test programs that are included in the STK code-base. A goal of this approach is to ensure that the usage examples will not fall out of date.

97 MATHEMATICS AND COMPUTING↗