Engineering Papers⌕ Search

SEARCH · Engineering Papers

Results for “Software Tools”

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 361 records · Page 20

PETSc Users Manual (Rev. 3.4)

This manual describes the use of PETSc for the numerical solution of partial differential equations and related problems on high-performance computers. The Portable, Extensible Toolkit for Scientific Computation (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 message-passing communication. PETSc includes an expanding suite of parallel linear, nonlinear equation solvers and time integrators that may be used in application codes written in Fortran, C, C++, Python, and MATLAB (sequential). 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 a simple subroutine library. In particular, for individuals without some computer science background, experience programming in C, C++ or Fortran and experience using a debugger such as gdb or dbx, 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. PETSc also has a MATLAB interface, so portions of your code can be written in MATLAB to “try out” the PETSc solvers. The resulting code will not be scalable however because currently MATLAB is inherently not scalable; and PETSc should not be used to attempt to provide a “parallel linear solver” in an otherwise sequential code. Certainly all parts of a previously sequential code need not be parallelized but the matrix generation portion must be parallelized to expect any kind of reasonable performance. Do not expect to generate your matrix sequentially and then “use PETSc” to solve the linear system in parallel. Since PETSc is under continued development, small changes in usage and calling sequences of routines will occur. PETSc is supported; see the web site http://www.mcs.anl.gov/petsc for information on contacting support. A http://www.mcs.anl.gov/petsc/publications may be found a list of publications and web sites that feature work involving PETSc. We welcome any reports of corrections for this document.

97 MATHEMATICS AND COMPUTING↗

PETSc Users Manual (Rev. 3.5)

This manual describes the use of PETSc for the numerical solution of partial differential equations and related problems on high-performance computers. The Portable, Extensible Toolkit for Scientific Computation (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 message-passing communication. PETSc includes an expanding suite of parallel linear, nonlinear equation solvers and time integrators that may be used in application codes written in Fortran, C, C++, Python, and MATLAB (sequential). 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 a simple subroutine library. In particular, for individuals without some computer science background, experience programming in C, C++ or Fortran and experience using a debugger such as gdb or dbx, 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. PETSc also has a MATLAB interface, so portions of your code can be written in MATLAB to “try out” the PETSc solvers. The resulting code will not be scalable however because currently MATLAB is inherently not scalable; and PETSc should not be used to attempt to provide a “parallel linear solver” in an otherwise sequential code. Certainly all parts of a previously sequential code need not be parallelized but the matrix generation portion must be parallelized to expect any kind of reasonable performance. Do not expect to generate your matrix sequentially and then “use PETSc” to solve the linear system in parallel. Since PETSc is under continued development, small changes in usage and calling sequences of routines will occur. PETSc is supported; see the web site http://www.mcs.anl.gov/petsc for information on contacting support. A http://www.mcs.anl.gov/petsc/publications may be found a list of publications and web sites that feature work involving PETSc. We welcome any reports of corrections for this document.

97 MATHEMATICS AND COMPUTING↗

Software-Defined Ultrasonic Communication System Based on Time-reversal Signal Processing

Ultrasonic communication through solid channels suffers from channel dispersion, attenuation, and multipath effect. For example, in elbow shape pipes or complex structures, the elastic waves are reflected and reverberated in multipath resulting in a major dispersion of the signals. In solid channels such as flat bar, multipath propagation is the main reason for bit-wavelet spreading and intersymbol interference (ISI). The conventional modulation method like OOK (on-off-keying) or PSK (phase-shift-keying) fails to provide a useful Signal-to-Noise Ratio (SNR). Time-reversal (TR) signal processing method is a promising technique that can compress the spreading of the bit-wavelet and strengthen the peak signal energy on the receiver. In this study, Finite Element Analysis (FEA) using ABAQUS software tools is used to characterize the bit-wavelet spreading effect caused by dispersive communication channels. Also, this study presents the impact of TR ultrasonic communication as a function of excitation pulse width, channel length, and carrier frequency through a flat-bar channel. A Software-Defined System-on-Chip (SD-SoC) platform is examined as a viable solution for the low-complexity and energy-efficient ultrasonic communication system. The proposed TR based SD-SoC ultrasonic communication system can make full use of signal dispersion for peak performance by minimizing the ISI within a dispersive and reverberant metal channel.

FEM simulation↗

Dispatch Optimization Variable Engine

The Dispatch Optimization Variable Engine (DOVE) is software tool written in python, developed at Idaho National Laboratory (INL) that provides an easily accessible application-programming-interface (API) to performing resource dispatch optimization analysis for integrated energy system (IES) configurations. DOVE is an integral part of the Framework for Optimization of Resources and Economics (FORCE) software suite and is leveraged by codes such as the Holistic Energy Resource Optimization Network (HERON) and the Optimization of Real-Time Capacity Allocation (ORCA). The philosophy behind DOVE is to provide a modular software solution to IES planning and operation by utilizing state-of-the-art algorithms and machine learning. The goal is to accurately capture the dispatching behavior of a complex energy system given varying time-dependent signals for demand and commodity pricing.

McDowell, DylanJ. [Idaho National Laboratory (INL)↗

Data Locality Enhancement of Dynamic Simulations for Exascale Computing (Final Report)

The development of modern processors exhibits two trends that complicate the optimizations of modern software. The first is the increasing sensitivity of processors' throughput to irregularities in computation. With more processors produced through a massive integration of simple cores, future systems will increasingly favor regular data-level parallel computations, but deviate from the needs of applications with complex patterns. Some evidences are already shown on Graphic Processing Units (GPU): Irregular data accesses (e.g., indirect references A[D[i]]) and conditional branches are limiting many GPU applications' performance at a level an order of magnitude lower than the peak of GPU. The second hardware trend is the growing gap between memory bandwidth and the aggregate speed—that is, the sum of all cores' computing power—of a Chip Multiprocessor (CMP). Despite the capped growth of the peak CPU speed, the aggregate speed of a CMP keeps increasing as more cores get into a single chip. It is expected that by 2018, node concurrency in an exascale system will increase by hundreds of times, whereas, memory bandwidth will expand by only 10 to 20 times. Consequently, data movement and storage is expected to consume more than 70% of the total system power. Bridging this gap is difficult; the complexities of modern CMP memory hierarchy make it even harder: Data cache becomes shared among computing units, and the sharing is often non-uniform—whether two computing units share a cache depends on their proximity and the level of the cache. On the recent IBM Power7 architecture, for instance, four hardware contexts (or SMT threads) in a core share the entire memory hierarchy, all cores in one chip share an on-chip L3 cache, and cores across chips share L3 and main memory through off-chip connections. These two trends complicate the translation of computing power into performance, especially for a program with either intensive data accesses or complex patterns in data accesses or control flow paths. Unfortunately, both attributes present and will persist in a class of important applications. For instance, many scientific simulations deal with a large volume of data. And meanwhile, as most real-world processes are non-uniform and evolving (e.g., the evolution of a galaxy or the process of a drug injection), both the computations and data accesses of these programs tend to be irregular and dynamically changing. Currently, the lack of support to these applications on modern CMP severely limits their performance. On GPU, as our recent study shows and other studies echo, performance enhancement of a factor of integers is possible when memory accesses or control flows are streamlined for a set of GPU applications. On multicore CPU, our studies show that traditional locality enhancement, for being oblivious to the new features of multicore memory hierarchy, may even cause large slowdown to data-intensive dynamic applications. The severity of the issues is expected to worsen as the two hardware trends continue. Some recent studies try to match software with the trends, but in a limited scope or manner. For irregularities on GPU, most studies focus on irregularities analyzable through static analysis (e.g., data accesses in regular loops). Dynamic irregularities are harder to address because the needed analysis and transformations typically have to happen at run time. Some other research resorts to hardware extensions, an actual adoption of which is unclear for the entailed space cost and complexity. For data locality, recent years have seen some exploitations of the new memory hierarchy on multicore for performance, but most of them are on process or thread scheduling, rather than program transformations. Our recent study reveals that program-level transformations may magnify the scheduling benefits by a factor of seven, concluding that program-level transformation should play a central role for data locality enhancement on modern CMP. But research in this direction has been sparse, and most have focused on data layout or cache performance modeling, rather than program transformations to match with the new memory hierarchy features. Overall, it is still an open question how to bridge the gap between dynamic computations and the two prominent properties of modern processors. The goal of this project is to develop a set of techniques and software tools to enhance the matching between memory accesses in dynamic simulations and the prominent features of modern and future CMP, alleviating the memory performance issues for petascale and exascale computing. This report summarizes the discoveries and products produced throughout this project. It includes free launch, a new software approach to overcoming the shortcomings of both methods; coherence-free multiview, an approach that allows multiple views of a single data object to co-exist on GPU memory during a GPU kernel execution; algorithmic optimizations to data analytics problems, especially those that involve lots of distance calculations. Supporting dynamic parallelism is important for GPU to benefit a broad range of applications. There are currently two fundamental ways for programs to exploit dynamic parallelism on GPU: a software-based approach with software-managed worklists, and a hardware-based approach through dynamic subkernel launches. Neither is satisfactory. The former is complicated to program and is often subject to some load imbalance; the latter suffers large runtime overhead. In this work, we propose free launch, a new software approach to overcoming the shortcomings of both methods. It allows programmers to use subkernel launches to express dynamic parallelism. It employs a novel compiler-based code transformation named subkernel launch removal to replace the subkernel launches with the reuse of parent threads. Coupled with an adaptive task assignment mechanism, the transformation reassigns the tasks in the subkernels to the parent threads with a good load balance. The technique requires no hardware extensions, immediately deployable on existing GPUs. It keeps the programming convenience of the subkernel launch-based approach while avoiding its large runtime overhead. Meanwhile, its superior load balancing makes it outperform manual worklist-based techniques by 3X on average. The work was published at the 48th Annual IEEE/ACM International Symposium on Microarchitecture (Micro'2015). A Graphic Processing Unit (GPU) system is typically equipped with many types of memory (e.g., global, constant, texture, shared, cache). Data placement determines what data are placed on which type of memory, essential for GPU memory performance. Prior optimizations of data placement always require a single view of a data object on memory, which limits the optimization effectiveness. In this work, we propose coherence-free multiview, an approach that allows multiple views of a single data object to co-exist on GPU memory during a GPU kernel execution. We demonstrate that under certain conditions, the multiple views can remain incoherent while facilitating enhanced data placement. We present a theorem and some compiler support to ensure the soundness of the usage of coherence-free multiview. We further develop reference-discerning data placement, a new way to enhance data placements on GPU. It enables more flexible data placements by using coherence-free multiview to leverage the slack in coherence requirement of some GPU programs. Experiments on three types of GPU systems show that, with less than 200KB space cost, the new data placement technique can provide a 1.6X average (up to 4.27X) speedup. In addition, we have examined algorithmic optimizations to data analytics problems, especially those that involve lots of distance calculations. Computing distances among data points is an essential part of many important algorithms in data analytics, graph analysis, and other domains. In each of these domains, developers have spent significant manual effort optimizing algorithms, often through novel applications of the triangle equality, in order to minimize the number of distance computations in the algorithms. In this work, we observe that many algorithms across these domains can be generalized as an instance of a generic distance-related abstraction. Based on this abstraction, we derive seven principles for correctly applying the triangular inequality to optimize distance-related algorithms. Guided by the findings, we develop Triangular OPtimizer (TOP), the first software framework that is able to automatically produce optimized algorithms that either matches or outperforms manually designed algorithms for solving distance-related problems. TOP achieves up to 237x speedups and 2.5X on average. The work has been published at the 32nd International Conference on Machine Learning (ICML'15) and the 41st International Conference on Very Large Data Bases (VLDB'15).

42 ENGINEERING↗

Progress of the Computer-Aided Engineering of Electric Drive Vehicle Batteries (CAEBAT) (Presentation)

This presentation, Progress of Computer-Aided Engineering of Electric Drive Vehicle Batteries (CAEBAT) is about simulation and computer-aided engineering (CAE) tools that are widely used to speed up the research and development cycle and reduce the number of build-and-break steps, particularly in the automotive industry. Realizing this, DOE?s Vehicle Technologies Program initiated the CAEBAT project in April 2010 to develop a suite of software tools for designing batteries.

25 ENERGY STORAGE↗

EAGLE: 'EAGLE'Is an' Algorithmic Graph Library for Exploration

The Resource Description Framework (RDF) and SPARQL Protocol and RDF Query Language (SPARQL) were introduced about a decade ago to enable flexible schema-free data interchange on the Semantic Web. Today data scientists use the framework as a scalable graph representation for integrating, querying, exploring and analyzing data sets hosted at different sources. With increasing adoption, the need for graph mining capabilities for the Semantic Web has emerged. Today there is no tools to conduct "graph mining" on RDF standard data sets. We address that need through implementation of popular iterative Graph Mining algorithms (Triangle count, Connected component analysis, degree distribution, diversity degree, PageRank, etc.). We implement these algorithms as SPARQL queries, wrapped within Python scripts and call our software tool as EAGLE. In RDF style, EAGLE stands for "EAGLE 'Is an' algorithmic graph library for exploration. EAGLE is like 'MATLAB' for 'Linked Data.'

Source record↗

Provenance-Enabling DOE Visualization Applications

VisTrails, Inc.’s goal main charter has been to develop provenance management solutions for software tools. As the use of computation increases, keeping track of computational processes and the data they consume and derive is essential for many applications. Provenance (also referred to as audit trail, lineage, and pedigree) captures information about the steps used to generate a given data product. Such information provides important documentation that is key to preserving the data, to determining the data’s quality and authorship, and to reproducing as well as validating the results. Given the growing complexity of the computational processes and the volume of data they manipulate, manual approaches to maintaining provenance are both tedious and error-prone. At VisTrails, Inc., we have implemented infrastructure that can be used to provenance-enable existing tools. We have developed a series of plugins for specific applications, including ParaView and VisIt, which enable these applications to capture provenance. While developing these plugins, we identified general patterns across different applications, and these were used to inform the design of a general framework: the VisTrails Provenance Software Development Kit (SDK). The SDK encapsulates a set of core functionality including methods for capture, navigation, analysis and re-use of provenance. It allows application or plugin developers to more effectively provide provenance support: they can use the core functionality and write code only to handle application specific components. The SDK includes features that can be used in any application, for example, a refined interface for browsing the intermediate and final results captured. While the application-specific plugins were written in Python, the SDK was written from scratch in C++. This has led not only to substantial gains in performance but also the ability to integrate the SDK with applications written in other languages, including Java. To ensure that the SDK supported all of the functionality in the application-specific plugins, we have rewritten some of the existing plugins using the SDK. The SDK can be downloaded from www.vistrals.com/sdk.html.

97 MATHEMATICS AND COMPUTING↗

Final Report: Quantification of Uncertainty in Extreme Scale Computations (QUEST)

QUEST (\url{www.quest-scidac.org}) is a SciDAC Institute that is focused on uncertainty quantification (UQ) in large-scale scientific computations. Our goals are to (1) advance the state of the art in UQ mathematics, algorithms, and software; and (2) provide modeling, algorithmic, and general UQ expertise, together with software tools, to other SciDAC projects, thereby enabling and guiding a broad range of UQ activities in their respective contexts. QUEST is a collaboration among six institutions (Sandia National Laboratories, Los Alamos National Laboratory, the University of Southern California, Massachusetts Institute of Technology, the University of Texas at Austin, and Duke University) with a history of joint UQ research. Our vision encompasses all aspects of UQ in leadership-class computing. This includes the well-founded setup of UQ problems; characterization of the input space given available data/information; local and global sensitivity analysis; adaptive dimensionality and order reduction; forward and inverse propagation of uncertainty; handling of application code failures, missing data, and hardware/software fault tolerance; and model inadequacy, comparison, validation, selection, and averaging. The nature of the UQ problem requires the seamless combination of data, models, and information across this landscape in a manner that provides a self-consistent quantification of requisite uncertainties in predictions from computational models. Accordingly, our UQ methods and tools span an interdisciplinary space across applied math, information theory, and statistics. The MIT QUEST effort centers on statistical inference and methods for surrogate or reduced-order modeling. MIT personnel have been responsible for the development of adaptive sampling methods, methods for approximating computationally intensive models, and software for both forward uncertainty propagation and statistical inverse problems. A key software product of the MIT QUEST effort is the MIT Uncertainty Quantification library, called MUQ (\url{muq.mit.edu}).

97 MATHEMATICS AND COMPUTING↗

EVs-at-RISC: A Secure and Resilient Interoperable SCM Control System Architecture for Electric Vehicle’s-at-Scale (Final Technical Report)

The EVs-at-RISC project was a five-year research, development, and demonstration initiative to create foundational tools for utility-scale fleet aggregation and Smart Charge Management (SCM) of Electric Vehicles (EV), Electric Vehicle Charging Infrastructure (EVCI), and related Distributed Energy Resources (DER). Rather than seeking to develop and demonstrate highly perfected SCM algorithms and control strategies, this project instead focused on creating foundational software solutions that enable unprecedented digital interoperability across the communications technologies and vendor platforms used to manage EV , EVCI, and DER, as well as existing energy management infrastructure operated by utilities, grid operators, and aggregators. This project then extends these novel interoperability capabilities to develop and deploy powerful middleware abstractions across grid edge networks and EVCI/DER fleet aggregations incorporating modern software tools and best practices, such as CI/CD, to bring the immense capabilities of infrastructure-as-code and policy-as-code to modern grid edge network environments. This addresses the foremost systemic issues preventing realization of any net operational benefits from scaled deployment of behind-the-meter EV, EVCI, and DER assets in electric power grids and markets today. The results of this approach and project unlock massive potential for new SCM capabilities to be easily prototyped, evaluated, and deployed at-scale within the existing grid edge network infrastructure and EVCI/DER technology ecosystem. The EVs-at-RISC project achieves this by extending Open Field Message Bus (OpenFMB), a conceptual model for digital interoperability and distributed intelligence in traditional front-of-meter utility SCADA networks, validating our hypothesis that OpenFMB could be similarly used to solve systemic digital interoperability issues in behind-the-meter environments and unlock real-world utility-scale SCM capabilities without requiring any new proprietary vendor solutions or significant infrastructure reconfiguration.

24 POWER TRANSMISSION AND DISTRIBUTION↗

Better Climate Challenge Working Groups Non-Energy Benefits of Energy Projects-Improving Financial Payback

Energy efficiency is a key strategy recently identified by the United States Department of Energy as a pillar of industrial decarbonization. For manufacturing companies, improving energy efficiency will reduce money spent on energy utilities such as gas, electricity, and oil. Energy improvement projects also provide valuable benefits outside of simple operating cost reductions, such as reducing the carbon footprint, improving safety metrics and even enhancing quality and productivity. Unfortunately, energy efficiency projects have typically faced an adoption gap, even when they meet criteria such as payback period for capital projects. The inclusion and quantification of non-energy benefits (NEBs), also known as co-benefits, in the decision-making process for energy efficiency projects can improve the overall financial payback periods for those projects as well as potentially improve the company's key performance metrics aligned with business strategies. There are no readily available tools that facilitate this, however, and the most used tools for energy audits address NEBs in a perfunctory way if at all. We integrated research for finding and quantifying non-energy benefits of energy efficiency projects into a commonly recognized continuous improvement practice, the Define, Measure, Analyze, Improve and Control (DMAIC) Process. This process, along with software and supplemental materials, guides energy assessments to find and to quantify NEBs associated with energy conservation opportunities. Our aim is to deliver an easy to use and effective process and software tool and to maximize return on investment for energy efficiency projects as well as contribute to companies' strategic performance goals.

DMAIC↗

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↗

Computational Tools and Algorithms for Designing Customized Synthetic Genes

Advances in DNA synthesis have enabled the construction of artificial genes, gene circuits, and genomes of bacterial scale. Freedom in de novo design of synthetic constructs provides significant power in studying the impact of mutations in sequence features, and verifying hypotheses on the functional information that is encoded in nucleic and amino acids. To aid this goal, a large number of software tools of variable sophistication have been implemented, enabling the design of synthetic genes for sequence optimization based on rationally defined properties. The first generation of tools dealt predominantly with singular objectives such as codon usage optimization and unique restriction site incorporation. Recent years have seen the emergence of sequence design tools that aim to evolve sequences toward combinations of objectives. The design of optimal protein-coding sequences adhering to multiple objectives is computationally hard, and most tools rely on heuristics to sample the vast sequence design space. In this review, we study some of the algorithmic issues behind gene optimization and the approaches that different tools have adopted to redesign genes and optimize desired coding features. We utilize test cases to demonstrate the efficiency of each approach, as well as identify their strengths and limitations.

60 APPLIED LIFE SCIENCES↗

Library for Evolutionary Algorithms in Python (LEAP)

There are generally three types of scientific software users: users that solve problems using existing science software tools, researchers that explore new approaches by extending existing code, and educators that teach students scientific concepts. Python is a general-purpose programming language that is accessible to beginners, such as students, but also as a language that has a rich scientific programming ecosystem that facilitates writing research software. Additionally, as high-performance computing (HPC) resources become more readily available, software support for parallel processing becomes more relevant to scientific software.There currently are no Python-based evolutionary computation frameworks that support all three types of scientific software users. Moreover, some support synchronous concurrent fitness evaluation that do not efficiently use HPC resources. We pose here a new Python-based EC framework that uses an established generalized unified approach to EA concepts to provide an easy to use toolkit for users wishing to use an EA to solve a problem, for researchers to implement novel approaches, and for providing a low-bar to entry to EA concepts for students. Additionally, this toolkit provides a scalable asynchronous fitness evaluation implementation friendly to HPC that has been vetted on hardware ranging from laptops to the world’s fastest supercomputer, Summit.

Coletti, Mark↗

Advanced Test Reactor Core Modeling Update Project Annual Report for Fiscal Year 2013

Legacy computational reactor physics software tools and protocols currently used for support of Advanced Test Reactor (ATR) core fuel management and safety assurance, and to some extent, experiment management, are inconsistent with the state of modern nuclear engineering practice, and are difficult, if not impossible, to verify and validate (V&V) according to modern standards. Furthermore, the legacy staff knowledge required for effective application of these tools and protocols from the 1960s and 1970s is rapidly being lost due to staff turnover and retirements. In late 2009, the Idaho National Laboratory (INL) initiated a focused effort, the ATR Core Modeling Update Project, to address this situation through the introduction of modern high-fidelity computational software and protocols. This aggressive computational and experimental campaign will have a broad strategic impact on the operation of the ATR, both in terms of improved computational efficiency and accuracy for support of ongoing DOE programs as well as in terms of national and international recognition of the ATR National Scientific User Facility (NSUF).

97 MATHEMATICS AND COMPUTING↗

(U) A Tool to Set Up an MCNP6 Input to Use Correlated Sampling with Batch Statistics

Correlated sampling using batch statistics with MCNP6’s tally fluctuation charts (TFCs) is a powerful means of reducing the statistical uncertainties of various combinations of tallies. Because MCNP6 prints a maximum of 20 entries in the TFCs, at least five inputs must be run to obtain the recommended number of at least 100 batches. A new software tool, MAKE_COSUBS, reads an MCNP6 input file and sets up a sequence of input files to be run. The user runs MAKE_COSUBS for the unperturbed and all perturbed MCNP6 inputs, runs MCNP6 for the inputs, and finally analyzes the outputs using COSUBS.

73 NUCLEAR PHYSICS AND RADIATION PHYSICS↗

Energy Modeling in Urban Districts: Forecast of Multi-Sector Energy Use and GHG Emissions

This document reports the findings of the energy use and greenhouse gases (GHG) emissions model loosely based on three districts in the San Francisco Bay Area, District A, District B, and District C. Modeling platforms exist for city energy benchmarking, inventorying, and GHG emissions forecasting and planning. However, the wide variety and features of today’s tools, their focus on a sub-set or snapshot data from various energy generation and consumption sectors, and the fact that many of them are not open data models, create sub-optimal environments for the energy analysis districts are seeking to conduct. Hence, we have developed a new software tool with customized data and dynamic visualization; DEPICT (Decision-support and Emissions Prediction Interactive Cities Tool) to obtain energy and emissions forecasts at different stages of the districts’ build-out by varying selected design parameters. This report presents the methodology and framework we have developed to estimate whole district emissions and details the results by district, with the objective of finding insights into the main sources of emissions, and the available levers to reduce them efficiently. This document details the impact of each emissions mitigation measure investigated, along with the assumption and models that were used to reach these values

32 ENERGY CONSERVATION, CONSUMPTION, AND UTILIZATI↗

Next Generation System Analysis Model: Recently Added Features and Future Plans

To better enable informed decision-making regarding the back-end of the nuclear fuel cycle, the Integrated Waste Management System (IWMS) program within the U.S. Department of Energy, Office of Nuclear Energy (DOE-NE) has been sponsoring the development and application of system analysis tools capable of analyzing various system options for the management of spent nuclear fuel (SNF) and high-level radioactive waste (HLW).With these tools, IWMS architecture analyses are being conducted to support the future deployment of a comprehensive nuclear waste management system that considers all major back-end aspects of the nuclear fuel cycle (i.e., transportation, storage, and disposal). The Next Generation System Analysis Model (NGSAM) is an agent-based simulation software tool expressly designed to be capable of modeling features within various IWMS architectures. NGSAM imports data from Oak Ridge National Laboratory (ORNL)’s unified database (e.g., historic assembly information, thermal profiles for assembly heat, and at-reactor dry storage loadings) to ensure that each simulation initializes with a realistic representation of the state of commercial SNF in the U.S. Recent major enhancements implemented into NGSAM in the period since NGSAM was last presented at the WM2019 conference include: • Tracking of railroad escort car acquisition and buffer car acquisition • The addition of heavy haul truck (HHT) and barge routes for some sites, as well as support for user-defined inter-modal routes • Updates to the logic that checks the transportation cask thermal limit maps prior to package transport • An allocation method that predicts when reactor sites would pack assemblies from their spent fuel pools for dry storage, and prioritizes shipments directly from the pools of those reactor sites in the preceding periods (before the predicted loadings to dry storage), thus reducing the number of casks loaded into dry storage at reactor sites • The addition of “reactor site family” operational limits to restrict the number of loads of SNF taken from the pool and from dry storage at a given reactor site each year • Added support for multiple canister loading map options and packages with multiple compatible transportation overpacks • Updates to the handling of non-commercial SNF, including a new database that contains data to support the updates • Updates to allow analysis of hypothetical scenarios which include repackaging at reactor sites, e.g., for possible comparative analysis with other scenarios • Implementation of additional output reports, or modification of existing ones • The ability to generate and implement user edits via the NGSAM website • The ability to model loading SNF from pool storage at an interim storage facility (ISF) into dry storage at the ISF • The ability to model consolidating SNF from different existing storage containers at a DOE site into the same DOE standard canister • The ability to model transferring SNF casks from one transportation mode to another, e.g., from HHT to rail, referred to as transloading. These new features have improved NGSAM capabilities and users’ experience with the model. Preliminary NGSAM requirements for modeling advanced reactor fuels, reprocessing, treatment, and conditioning were considered, and this paper describes them at a high level. Other nuclear fuel cycle system analysis tools developed under sponsorship of DOE-NE, like the VISION code developed at Idaho National Laboratory, might be better suited for initial high-level analysis of those technologies and advanced fuel cycles. As technologies are developed and system concepts evolve, NGSAM could provide value by providing more detailed modeling of transport, storage, and disposal of spent fuel and wastes from advanced reactors and advanced fuel cycles at the fuel element and waste container level.

11 NUCLEAR FUEL CYCLE AND FUEL MATERIALS↗