Engineering Papers⌕ Search

SEARCH · Engineering Papers

Results for “computer Codes Computer Programs”

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 559 records · Page 31

Equilipy: a python package for calculating phase equilibria

The CALPHAD (CALculation of PHAse Diagram) approach (Nigel Saunders & Miodownik, 1998) provides predictions for thermodynamically stable phases in multicomponent-multiphase materials across a wide range of temperatures. Consequently, the CALPHAD calculations became an essential tool in materials and process design (Luo, 2015). Such design tasks frequently require navigating a high-dimensional space due to multiple components involved in the system. This increasing complexity demands high-throughput CALPHAD calculations, especially in the rapidly evolving field of alloy design. In response to the need, we developed Equilipy an open-source Python package designed for calculating phase equilibria of multicomponent-multiphase systems. Equilipy is specifically tailored for high-throughput CALPHAD calculations, offering parallel computations across multiple processors and nodes with the given NPT input conditions namely elemental compositions (N), pressure (P), and temperature (T). Equilipy utilizes the program structure and Gibbs energy functions from the Fortran-based program, Thermochimica (Piro et al., 2013), with incorporating a new Gibbs energy minimization algorithm. This algorithm, originally developed by Capitani and Brown in 1987 (Capitani & Brown, 1987), has been revised and implemented to enhance the stability and performance of calculations. The Fortran codes are precompiled and interfaced with Python via F2PY, ensuring high computation speed. Benchmark tests shown in Figure 1 demonstrate that Equilipy’s computation speed is comparable to those of established commercial software, TC-Python and PanPython. This result highlights its efficiency and potential applications in various scientific and industrial fields.

97 MATHEMATICS AND COMPUTING↗

Evaluation of Portable Programming Models to Accelerate LArTPC Detector Simulations

The Liquid Argon Time Projection Chamber (LArTPC) technology is widely used in high energy physics experiments, including the upcoming Deep Underground Neutrino Experiment (DUNE). Accurately simulating LArTPC detector responses is essential for analysis algorithm development and physics model interpretations. Accurate LArTPC detector response simulations are computationally demanding, and can become a bottleneck in the analysis workflow. Compute devices such as General-Purpose Graphics Processing Units (GPGPUs) have the potential to substantially accelerate simulations compared to traditional CPU-only processing. The software development that requires often carries the cost of specialized code refactorization and porting to match the target hardware architecture. With the rapid evolution and increased diversity of the computer architecture landscape, it is highly desirable to have a portable solution that also maintains reasonable performance. We report our ongoing effort in evaluating Kokkos as a basis for this portable programming model using LArTPC simulations in the context of the Wire-Cell Toolkit, a C++ library for LArTPC simulations, data analysis, reconstruction and visualization.

46 INSTRUMENTATION RELATED TO NUCLEAR SCIENCE AND ↗

Gamma Source Verification for GAMSRC and GAMSOR

Nuclear reactors that rely upon the fission reaction have two modes of thermal energy deposition in the reactor system: neutron absorption and gamma absorption. The gamma rays are typically generated by neutron capture reactions or during the fission process which means the primary driver of energy production is of course the neutron interactions. The GAMSOR program was first built in the mid 1980s to properly account for the gamma heating in an operating reactor core on core internals. The GAMSOR code is sequence of DIF3D calculations to compute the neutron and gamma flux and combine them to define both the neutron and gamma heating throughout the modeled domain. The goal of this manuscript is to present the software verification of GAMSOR. The first step of the GAMSOR sequence of calculations involves of a modified version of DIF3D (called DIF3D-GAMSOR) which generates a gamma source distribution for the follow-on DIF3D gamma transport calculation (step 2). This modified version of DIF3D increases the burden of maintenance and verification work on GAMSOR as one must reverify the DIF3D capabilities which is undesirable. Because the calculation of the gamma source is the only unique aspect of GAMSOR beyond the regular DIF3D capabilities, that part was put in a standalone code called GAMSRC such that one can use the verified DIF3D code in step 1 followed by GAMSRC to carry out the same GAMSOR calculation step. As a consequence, this manuscript is focused on verification of the gamma source files generated by GAMSRC. The verification of the modified version of DIF3D (DIF3D-GAMSOR) will be done less rigorously in that it will be verified that it produces the same output that GAMSRC does and thus GAMSRC is equivalent to GAMSOR on the problems studied here. Hand calculations and independent numerical calculations of the gamma source generation are used for the verification work. This work follows the same methodology of GAMSRC. As expected, the results agree well with those calculated by GAMSRC as will be shown.

22 GENERAL STUDIES OF NUCLEAR REACTORS↗

Gamma Source Verification for GAMSRC and GAMSOR

Nuclear reactors that rely upon the fission reaction have two modes of thermal energy deposition in the reactor system: neutron absorption and gamma absorption. The gamma rays are typically generated by neutron capture reactions or during the fission process which means the primary driver of energy production is of course the neutron interactions. The GAMSOR program was first built in the mid 1980s to properly account for the gamma heating in an operating reactor core on core internals. The GAMSOR code is sequence of DIF3D calculations to compute the neutron and gamma flux and combine them to define both the neutron and gamma heating throughout the modeled domain. The goal of this manuscript is to present the software verification of GAMSOR. The first step of the GAMSOR sequence of calculations involves of a modified version of DIF3D (called DIF3D-GAMSOR) which generates a gamma source distribution for the follow-on DIF3D gamma transport calculation (step 2). This modified version of DIF3D increases the burden of maintenance and verification work on GAMSOR as one must reverify the DIF3D capabilities which is undesirable. Because the calculation of the gamma source is the only unique aspect of GAMSOR beyond the regular DIF3D capabilities, that part was put in a standalone code called GAMSRC such that one can use the verified DIF3D code in step 1 followed by GAMSRC to carry out the same GAMSOR calculation step. As a consequence, this manuscript is focused on verification of the gamma source files generated by GAMSRC. The verification of the modified version of DIF3D (DIF3D-GAMSOR) will be done less rigorously in that it will be verified that it produces the same output that GAMSRC does and thus GAMSRC is equivalent to GAMSOR on the problems studied here. Hand calculations and independent numerical calculations of the gamma source generation are used for the verification work. This work follows the same methodology of GAMSRC. As expected, the results agree well with those calculated by GAMSRC as will be shown.

22 GENERAL STUDIES OF NUCLEAR REACTORS↗

Integration of Heat Transfer, Stress, and Particle Trajectory Simulation

Calabazas Creek Research, Inc. developed and currently markets Beam Optics Analyzer (BOA) in the United States and abroad. BOA is a 3D, charged particle optics code that solves the electric and magnetic fields with and without the presence of particles. It includes automatic and adaptive meshing to resolve spatial scales ranging from a few millimeters to meters. It is fully integrated with CAD packages, such as SolidWorks, allowing seamless geometry updates. The code includes iterative procedures for optimization, including a fully functional, graphical user interface. Recently, time dependent, particle in cell capability was added, pushing particles synchronically under quasistatic electromagnetic fields to obtain particle bunching under RF conditions. A heat transfer solver was added during this Phase I program. Completed tasks include: (1) Added a 3D finite element heat transfer solver with adaptivity; (2) Determined the accuracy of the linear heat transfer field solver to provide the basis for development of higher order solvers in Phase II; (3) Provided more accurate and smoother power density fields; and (4) Defined the geometry using the same CAD model, while maintaining different meshes, and interfacing the power density field between the particle simulator and heat transfer solvers. These objectives were achieved using modern programming techniques and algorithms. All programming was in C++ and parallelization in OpenMP, utilizing state-of-the-art multi-core technology. Both x86 and x64 versions are supported. The GUI design and implementation used Microsoft Foundation Class.

72 PHYSICS OF ELEMENTARY PARTICLES AND FIELDS↗

PLATO (Parallel Load Assignment Tool): A Parallel Workload Partitioner for Particle-based Methods

A key first step in many large-scale high-performance scientific computing applications is the distribution of the computational domain across all participating processors of a parallel computing platform such as a shared memory machine, cluster or a tightly-coupled supercomputer. The primary goal of such a partitioning step is to ensure that the computational work performed by each process remains load-balanced throughout the execution of the parallel application. In this project, a general-purpose parallel partitioning tool, code-named PLATO, was designed and implemented. PLATO assumes that the workload is a set of points in an n-dimensional metric space. These points are abstractions of computational units that may represent point-like computational units such as celestial objects in astrophysics, atoms in materials sciences and molecules in biology/chemistry, or may represent more abstract computational units such as grid points in finite difference methods, grid elements in finite element methods or n-dimensional points in the feature space of a host of other applications. PLATO supports several key and useful capabilities, namely: (a) multiple load partitioning strategies, (b) support for arbitrary user-defined processor topology, (c) pre-fetching data from neighboring processors based on user-defined parameters, and (d) support for arbitrary number and types of attributes associated with each point in the computational domain. PLATO is implemented in the C programming language using Message Passing Interface (MPI) for inter-processor communications and its parallel performance tested on up to 48 processors of a shared memory machine. This report includes a detailed performance study of PLATO using parallel speedup and iso-efficiency as the two main metrics of parallel performance. In addition, a user manual and DOXYGEN generated code documentation have been included for completeness.

97 MATHEMATICS AND COMPUTING↗

An Overview of the State-of-the-Art Reactor Consequence Uncertainty Assessment Accident Progression Insights

The U.S. Nuclear Regulatory Commission (NRC) with Sandia National Laboratories (Sandia) have completed three uncertainty analyses (UAs) as part of the State-of-the-Art Reactor Consequence Analyses (SOARCA) program. The SOARCA UAs included an integrated evaluation of uncertainty in accident progression, radiological release, and offsite health consequence projections. The UA for Peach Bottom, a boiling-water reactor (BWR) with a Mark I containment located in the State of Pennsylvania, analyzed the unmitigated long-term station blackout SOARCA scenario. The UA for Sequoyah, a 4-loop Westinghouse pressurized-water reactor (PWR) located in the State of Tennessee, analyzed the unmitigated short-term station blackout SOARCA scenario, with a focus on issues unique to the ice condenser containment and the potential for early containment failure due to hydrogen deflagration. The UA for Surry, a 3-loop Westinghouse PWR with a sub-atmospheric large dry containment located in the State of Virginia, analyzed the unmitigated short-term station blackout SOARCA scenario including the potential for thermally-induced steam-generator tube rupture. These three UAs are currently documented in three NUREG/CR reports. This report provides input to planned NRC documentation on the insights and findings from the SOARCA UA program. The purpose of the summary report is to provide a useful reference for regulatory applications that require the evaluation of offsite consequence risk from beyond design basis event severe accidents. This report focuses on the accident progression and source term insights developed from the MELCOR analyses. MELCOR is the NRC's best-estimate, severe accident computer code used in the SOARCA UAs. In anticipation of the SOARCA UA insights work, NRC and Sandia benchmarked the response of the Peach Bottom model to selected reference calculations from the Peach Bottom SOARCA UA. Peach Bottom was the first SOARCA UA performed and was completed in 2015 using the MELCOR 1.8.6 code. The PWR SOARCA UAs evolved the original methodology and utilized the updated MELCOR 2.2 computer code. The Peach Bottom model has been systematically updated for other NRC research efforts and has been updated to MELCOR 2.2. computer code. The findings from the new reference calculations using the updated model with the MELCOR 2.2 code are also integrated into the report. A second objective is an assessment of the applicability of the results to the other nuclear reactors in the U.S. As the key findings are reviewed, judgments are presented on the applicability of the results to other U.S. nuclear power plants. An important objective of the SOARCA program relied on high- fidelity plant-specific modeling. However, the nature of the insights and conclusions allowed judgements to be made on the applicability of the various insights to the same general classification of plant (i.e., BWR or PWR) or the entire fleet of plants. Finally, the results from the SOARCA UA accident progression calculations contain a wealth of information not previously documented in the NUREG/CRs. This report includes new but related information that can be used to benchmark past or support future regulatory decisions related to severe accidents. The new work includes a benchmark of the NUREG-1465 licensing source term definitions, the variability of key accident progression events and timing to radionuclide release, and an improved understanding of the timing and source terms from consequential steam generator tube ruptures. iii ACKNOWLEDGEMENTS The Sandia authors gratefully acknowledge the significant technical and programmatic contributions from the NRC SOARCA team which are reflected throughout the report. Dr. Tina Ghosh has been involved throughout the SOARCA UAs, providing the primary managerial and technical oversight. The long lists of NRC and Sandia contributors from the SOARCA UAs are cited in the three NUREG/CRs and are also gratefully acknowledged by the small team of authors compiling the results of their efforts. Significant technical contributions, advice, and reviews were provided by Dr. Hossein Esmaili, Dr. Alfred Hathaway, and Dr. Edward Fuller (retired) of the NRC. Dr. Randal Gauntt (retired), Mr. Patrick Mattie, Mr. Joseph Jones (retired), and Dr. Doug Osborn from Sandia are recognized as the SOARCA UA managers guiding the past efforts. There is a comparable list of project managers at the NRC including Ms. Patricia Santiago, Dr. Salman Haq, and Mr. Jon Barr. Sadly, we have lost Mr. Charlie Tinkler and Mr. Robert Prato, who were important contributors to the original SOARCA project. Finally, Mr. Kyle Ross and Mr. Mark Leonard have also retired but were significant technical contributors. Mr. Kyle Ross was the technical lead on all three SOARCA UAs and the original pressurized water reactor SOARCA study. Mr. Leonard was the technical lead on the original boiling water reactor SOARCA study and a key contributor to the first Peach Bottom SOARCA UA. iv

21 SPECIFIC NUCLEAR REACTORS AND ASSOCIATED PLANTS↗

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↗

Evaluation of Portable Programming Models to Accelerate LArTPC Detector Simulations

The Liquid Argon Time Projection Chamber (LArTPC) technology is widely used in high energy physics experiments, including the upcoming Deep Underground Neutrino Experiment (DUNE). Accurately simulating LArTPC detector responses is essential for analysis algorithm development and physics model interpretations. Accurate LArTPC detector response simulations are computationally demanding, and can become a bottleneck in the analysis workflow. Compute devices such as General-Purpose Graphics Processing Units (GPGPUs) have the potential to substantially accelerate simulations compared to traditional CPU-only processing. The software development for these compute accelerators often carries the cost of specialized code refactorization and porting to match the target hardware architecture. With the rapid evolution and increased diversity of the computer architecture landscape, it is highly desirable to have a portable solution that also maintains reasonable performance. We report our ongoing effort in evaluating Kokkos as a basis for this portable programming model using LArTPC simulations in the context of the Wire-Cell Toolkit, a C++ library for LArTPC simulations, data analysis, reconstruction and visualization.

47 OTHER INSTRUMENTATION↗

Hierarchical Model-Free Transactional Control of Building Loads to Support Grid Services

A transition from generation on demand to consumption on demand is one of the solutions to overcome the many limitations associated with the higher penetration of renewable energy sources. Such a transition, however, requires a considerable amount of load flexibility in the demand side. Demand response (DR) programs can reveal and utilize this demand flexibility by enabling the participation of a large number of grid-interactive efficient buildings (GEB). Existing approaches on DR require significant modelling or training efforts, are computationally expensive, and do not guarantee the satisfaction of end users. To address the aforementioned limitations, this software code considers a scalable hierarchical model-free transactional control approach that incorporates elements of virtual battery, game theory, and model-free control (MFC) mechanisms. The developed approach separates the control mechanism into upper and lower levels. The MFC modulates the flexible GEB in the lower level with guaranteed thermal comfort of end users in response to the optimal pricing and power signals determined in the upper layer using a Stackelberg game integrated with aggregate virtual battery constraints. Additionally, the usage of MFC necessitates less burdensome computational and communication requirements, thus, it is easily deployable even on small, embedded devices. This software code enables the use of residential and small-size commercial buildings to offer a potentially substantial source of ancillary grid services that are currently underutilized. A hierarchical, model-free transactive building control provides a smooth interface between the grid service requests of utilities and the reliable control required by participating buildings. Model-free control, which supports distributed control architecture, will be a more scalable solution that can be deployed in neighborhood-size systems as well as individual buildings. The proposed approach contributes to the body of knowledge on two main aspects. First, it couples the MFC with the game-theoretic control and proposes a scalable model-free transactive control approach. MFC does not require any modeling effort or model training for the various building loads. This is very beneficial since deriving an accurate model for every single unit participating in DR programs and obtaining all the parameters about the units (e.g., thermal coefficients, standby losses) are infeasible. Also, MFC is computationally efficient, easily deployable even on small, embedded devices, and can be implemented in real time. Second, it integrates the concept of virtual battery into DR via the Stackelberg game. The concept of virtual battery enables efficient coordination and aggregation of a large number of flexible GEB with guaranteed thermal comfort of end users.

Olama, Mohammed [Oak Ridge National Lab. (ORNL), O↗

The RAJA Portability Layer: Overview and Status

As computer architectures become increasingly complex and diverse, application developers face difficult challenges to achieve high performance while maintaining code portability. The problem is especially acute for large ASC multiphysics codes. Efficient parallel execution often requires tuning algorithms and data access to match processor and memory system constraints. Changing compiler directives and parallel programming model constructs on thousands of individual loops in a large code is disruptive and unwieldy. RAJA is a programming approach that we have been developing at Lawrence Livermore National Laboratory to encapsulate platform-specific concerns, related to both hardware and parallel programming models. The RAJA abstraction layer simplifies porting C/C++ codes to various programming models and architectures by reducing effort and developer disruption. In this report, we motivate and describe key aspects of RAJA. We also present a preliminary assessment of RAJA based on exploration in three ASC hydrodynamics codes at LLNL, which was one part of a three-part ASC Level 2 milestone, completed in September 2014.

97 MATHEMATICS AND COMPUTING↗

Atomic Gaussian type orbitals and their Fourier transforms via the Rayleigh expansion

Gaussian type orbitals (GTOs), which are one of the types of exponential type orbitals (ETOs), are used usually as basis functions in the multi-center atomic and molecular integrals to better understand physical and chemical properties of matter. In the Fourier transform method (FTM), basis functions have not simplicity to make mathematical operations, but their Fourier transforms are easier to use. In this work, with the help of FTM, Rayleigh expansion and some properties of unnormalized GTOs, we present new mathematical results for the Fourier transform of GTOs in terms of Laguerre polynomials, hypergeometric and Whittaker functions. Physical and analytical properties of GTOs are discussed and some numerical results have been given in a table. Finally, we compare our mathematical results with the other known literature results by using a computer program and details of evaluation are presented.

71 CLASSICAL AND QUANTUM MECHANICS, GENERAL PHYSIC↗

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↗

Dissecting Tensor Cores via Microbenchmarks: Latency, Throughput and Numeric Behaviors

Tensor Cores have been an important unit to accelerate Fused Matrix Multiplication Accumulation (MMA) in all NVIDIA GPUs since Volta Architecture. To program Tensor Cores, users have to use either legacy wmma APIs or current mma APIs. Legacy wmma APIs are more easy-to-use but can only exploit limited features and power of Tensor Cores. Specifically, wmma APIs support fewer operand shapes and can not leverage the new sparse matrix multiplication feature of the newest Ampere Tensor Cores. However, the performance of current programming interface has not been well explored. Furthermore, the computation numeric behaviors of low-precision floating points (TF32, BF16, and FP16) supported by the newest Ampere Tensor Cores are also mysterious. In this paper, we explore the throughput and latency of current programming APIs. Further, we intuitively study the numeric behaviors of Tensor Cores MMA and profile the intermediate operations including multiplication, addition of inner product, and accumulation. All codes used in this work can be found in https://github.com/sunlex0717/DissectingTensorCores.

97 MATHEMATICS AND COMPUTING↗

Optimizing legacy molecular dynamics software with directive-based offload

The directive-based programming models are one solution for exploiting many-core coprocessors to increase simulation rates in molecular dynamics. They offer the potential to reduce code complexity with offload models that can selectively target computations to run on the CPU, the coprocessor, or both. In our paper, we describe modifications to the LAMMPS molecular dynamics code to enable concurrent calculations on a CPU and coprocessor. We also demonstrate that standard molecular dynamics algorithms can run efficiently on both the CPU and an x86-based coprocessor using the same subroutines. As a consequence, we demonstrate that code optimizations for the coprocessor also result in speedups on the CPU; in extreme cases up to 4.7X. We provide results for LAMMAS benchmarks and for production molecular dynamics simulations using the Stampede hybrid supercomputer with both Intel (R) Xeon Phi (TM) coprocessors and NVIDIA GPUs: The optimizations presented have increased simulation rates by over 2X for organic molecules and over 7X for liquid crystals on Stampede. The optimizations are available as part of the "Intel package" supplied with LAMMPS. (C) 2015 Elsevier B.V. All rights reserved.

97 MATHEMATICS AND COMPUTING↗

Parallel sorting algorithm classification: is manual instrumentation necessary?

Understanding parallel algorithms is crucial for accelerating scientific simulations on complex, distributed memory, high-performance computers. Modern algorithm classification approaches learn semantics directly from source code to differentiate between algorithms, however, accessing source code is not always possible. We can learn about parallel algorithms from observing their performance, as programs running the same algorithms and using the same hardware should exhibit similar performance characteristics. We present an approach to learn algorithm classes from parallel performance data directly in order to classify algorithms without access to the source code. We extend previous work to enable classifying parallel sorting algorithms using automatic instrumentation instead of requiring manual region annotations in the source code. In this work, we design and demonstrate a study for classification of parallel sorting algorithms using parallel performance data collected from automatic instrumentation, and evaluate the performance of our new methodology on classification. We leverage Caliper to collect the performance data, Thicket for our exploratory data analysis (EDA), and PyTorch and Scikit-learn to evaluate the effectiveness of random forests, support vector machines (SVMs), decision trees, neural networks, and logistic regressions on parallel performance data. Additionally, we study noise in parallel performance data, whether the removal of noise and pre-processing of the data is necessary to accurately classify parallel sorting algorithms, and determine the effectiveness of features created from performance data. In conclusion, we demonstrate classification accuracy for these five different models of up to 97.7% across four different parallel algorithm classes.

Algorithm Classification↗

Modern quantum chemistry with [Open]Molcas

MOLCAS/OpenMolcas is an ab initio electronic structure program providing a large set of computational methods from Hartree–Fock and density functional theory to various implementations of multiconfigurational theory. This article provides a comprehensive overview of the main features of the code, specifically reviewing the use of the code in previously reported chemical applications as well as more recent applications including the calculation of magnetic properties from optimized density matrix renormalization group wave functions.

37 INORGANIC, ORGANIC, PHYSICAL, AND ANALYTICAL CH↗