Engineering Papers⌕ Search

SEARCH · Engineering Papers

Results for “SOURCE CODE”

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 469 records · Page 26

A survey of compiler optimization techniques

Major optimization techniques of compilers are described and grouped into three categories: machine dependent, architecture dependent, and architecture independent. Machine-dependent optimizations tend to be local and are performed upon short spans of generated code by using particular properties of an instruction set to reduce the time or space required by a program. Architecture-dependent optimizations are global and are performed while generating code. These optimizations consider the structure of a computer, but not its detailed instruction set. Architecture independent optimizations are also global but are based on analysis of the program flow graph and the dependencies among statements of source program. A conceptual review of a universal optimizer that performs architecture-independent optimizations at source-code level is also presented.

Schneck, P. B.↗

AdvEP

AdvEP is a code repository which contains PyTorch implementations of various adversarial attacks on a deep neural network trained with Equilibrium Propagation (EP), which is a neuromorphic learning framework. AdvEP allows for the training, testing, and conducting white/black-box attacks of EP models on a wide variety of applications and datasets. AdvEP is based on the open-source code https://github.com/Laborieux-Axel/Equilibrium-Propagation which was developed to train energy models. AdvEP was created by modifying the original code to perform and test against adversarial attacks. AdvEP was developed in Python, a high-level programming language that takes advantage of the Python ecosystem of high-quality open-source packages for machine learning. AdvEP interfaces heavily with the open-source PyTorch Python package as well as the open-source Adversarial Robustness Toolbox (ART) package.

Mansingh, Siddarth↗

THE McGill PLANAR HYDROGEN ATMOSPHERE CODE (McPHAC)

The McGill Planar Hydrogen Atmosphere Code (McPHAC) v1.1 calculates the hydrostatic equilibrium structure and emergent spectrum of an unmagnetized hydrogen atmosphere in the plane-parallel approximation, at surface gravities appropriate for neutron stars. McPHAC incorporates several improvements over previous codes for which tabulated model spectra are available: (1) Thomson scattering is treated anisotropically, which is shown to result in a 0.2%-3% correction in the emergent spectral flux across the 0.1-5 keV passband; (2) the McPHAC source code is made available to the community, allowing it to be scrutinized and modified by other researchers wishing to study or extend its capabilities; and (3) the numerical uncertainty resulting from the discrete and iterative solution is studied as a function of photon energy, indicating that McPHAC is capable of producing spectra with numerical uncertainties <0.01%. The accuracy of the spectra may at present be limited to {approx}1%, but McPHAC enables researchers to study the impact of uncertain inputs and additional physical effects, thereby supporting future efforts to reduce those inaccuracies. Comparison of McPHAC results with spectra from one of the previous model atmosphere codes (NSA) shows agreement to {approx}<1% near the peaks of the emergent spectra. However, in the Wien tail a significant deficit of flux in the spectra of the previous model is revealed, determined to be due to the previous work not considering large enough optical depths at the highest photon frequencies. The deficit is most significant for spectra with T{sub eff} < 10{sup 5.6} K, though even there it may not be of much practical importance for most observations.

79 ASTRONOMY AND ASTROPHYSICS↗

Toward Right-Fidelity Rotorcraft Conceptual Design

The aviation Advanced Design Office (ADO) of the US Army Aeroflightdynamics Directorate (AMRDEC) performs conceptual design of advanced Vertical Takeoff and Landing (VTOL) concepts in support of the Army's development and acquisition of new aviation systems. In particular, ADO engages in system synthesis to assess the impact of new technologies and their application to satisfy emerging warfighter needs and requirements. Fundamental to ADO being successful in accomplishing its role; is the ability to evaluate a wide array of proposed air vehicle concepts, and independently synthesize new concepts to inform Army and DoD decision makers about the tradespace in which decisions will be made (Figure 1). ADO utilizes a conceptual design (CD) process in the execution of its role. Benefiting from colocation with NASA rotorcraft researchers at the Ames Research Center, ADO and NASA have engaged in a survey of the current rotorcraft PD practices and begun the process of improving those capabilities to enable effective design and development of the next generation of VTOL systems. A unique aspect of CD in ADO is the fact that actual designs developed in-house are not intended to move forward in the development process. Rather, they are used as reference points in discussions about requirements development and technology impact. The ultimate products of ADO CD efforts are technology impact assessments and specifications which guide industry design activity. The fact that both the requirement and design are variables in the tradespace adds to the complexity of the CD process. A frequent need is ability to assess the relative "cost" of variations in requirement for a diverse set of VTOL configurations. Each of these configurations may have fundamentally different response characteristics to this requirement variation, and such insight into how different requirements drive different designs is a critical insight ADO attempts to provide decision makers. The processes and tools utilized are driven by the timeline in which questions must be answered. This can range from quick "back-of-the-envelope" assessments of a configuration made in an afternoon, to more detailed tradespace explorations that can take upwards of a year to complete. A variety of spreadsheet based tools and conceptual design codes are currently in use. The in-house developed conceptual sizing code RC (Rotorcraft) has been the preferred tool of choice for CD activity for a number of years. Figure 2 illustrates the long standing coupling between RC and solid modeling tools for layout, as well as a number of ad-hoc interfaces with external analyses. RC contains a sizing routine that is built around the use of momentum theory for rotors, classic finite wing theory, a referred parameter engine model, and semi-emperical weight estimation techniques. These methods lend themselves to rapid solutions, measured in seconds and minutes. The successful use of RC, however requires careful consideration of model input parameters and judicious comparison with existing aircraft to avoid unjustified extrapolation of results. RC is in fact a legacy of a series of codes whose development started in the early 1970s, and is best suited to the study of conventional helicopters and XV-15 style tiltrotors. Other concepts have been analyzed with RC, but typically it became necessary to modify the source code and methods for each unique configuration. Recent activity has lead to the development of a new code, NASA Design and Analysis of Rotorcraft (NDARC). NDARC uses a similar level of analytical fidelity as RC, but is built on a new framework intended to improve modularity and ability to rapidly model a wider array of concepts. Critical to achieving this capability is the decomposition of the aircraft system into a series of fundamental components which can then be assembled to form a wide-array of configurations. The paper will provide an overview of NDARC and its capabilities.

Sinsay, Jeffrey D.↗

An Integrated Design Tool for Tow-Steered Laminates of Composites in Abaqus and MSC.Patran/Nastran

Tow-steered composites can be tailored for optimal mechanical performance of lightweight structures. However, there are no commercial-grade design tools for tow-steered composite structures, which hinders the design innovation of tow-steered composites in realistic structures. The novelty of this paper is to develop an integrated design framework along with the development of graphical user interface (GUI) plug-ins in commercial finite element (FE) software Abaqus and MSC.Patran/Nastran. The GUI plug-ins take all the design setups and communicate with external codes for the material modeling and optimization, and hence provide a unified design environment within the FE codes. The mechanics of structure genome (MSG) plate model computes shell element properties based on user-defined fiber paths and layup, which are defined via the GUI plug-ins. The optimization is performed by an open-source code, Dakota, from Sandia National Laboratories (Sandia), which also coordinates the structural analysis, material modeling, and optimization in design iterations. Two examples are presented to demonstrate the user-friendliness and versatility of the developed GUI plug-ins. The developed tools will ease the design process and facilitate the application of tow-steered composites in realistic aerospace structures.

Xin Liu↗

An Integrated Design Tool for Tow-Steered Laminates of Composites in Abaqus and MSC.Patran/Nastran

Tow-steered composites can be tailored for optimal mechanical performance of lightweight structures. However, there are no commercial-grade design tools for tow-steered composite structures, which hinders the design innovation of tow-steered composites in realistic structures. The novelty of this paper is to develop an integrated design framework along with the development of graphical user interface (GUI) plug-ins in commercial finite element (FE) software Abaqus and MSC.Patran/Nastran. The GUI plug-ins take all the design setups and communicate with external codes for the material modeling and optimization, and hence provide a unified design environment within the FE codes. The mechanics of structure genome (MSG) plate model computes shell element properties based on user-defined fiber paths and layup, which are defined via the GUI plug-ins. The optimization is performed by an open-source code, Dakota, from Sandia National Laboratories (Sandia), which also coordinates the structural analysis, material modeling, and optimization in design iterations. Two examples are presented to demonstrate the user-friendliness and versatility of the developed GUI plug-ins. The developed tools will ease the design process and facilitate the application of tow-steered composites in realistic aerospace structures.

Xin Liu↗

Software reuse environment user's guide

This document describes the services provided by the prototype Software Reuse Environment, which was developed by CTA for NASA Goddard Space Flight Center, Code 520. This is one of three guides delivered by CTA as part of the environment. The other two guides are: Software Generation and Installation Guide; and SEMANTX--Defining the Schema. The Software Generation and Installation Guide describes the software source modules that make up the Reuse Environment, with instructions on how to generate and install an executable system from the source code. SEMANTX--Defining the Schema describes how a reuse database is created. Actually this guide is more general than the reuse database, as it describes how to generate a SEMANTX database. SEMANTX is an off-the-shelf tool that we have used to implement the reuse database. It is a product of Semantyk Systems, Inc. The Software Reuse Environment is built upon SEMANTX as well as on the IDE Structured Analysis Integrated Environment. (IDE is Interactive Development Environments, Inc.) SEMANTX itself is built on top of the Unify Database Management System. To use the Software Reuse Environment you should have the User's Manuals for SEMANTX, for Unify, and for the IDE software. CTA has provided all of these with the environment.

Source record↗

ROS Hexapod

As an intern project for NASA Johnson Space Center (JSC), my job was to familiarize myself and operate a Robotics Operating System (ROS). The project outcome will convert existing software assets into ROS using nodes, enabling a robotic Hexapod to communicate and to be functional and controlled by an existing PlayStation 3 (PS3) controller. Existing control algorithms and current libraries have no ROS capabilities within the Hexapod C++ source code. Conversion of C++ codes to ROS will enable existing code to be compatible with ROS, and will be controlled using existing PS3 controller. Furthermore, my job description is to design ROS messages and script programs which will enable assets to participate in the ROS ecosystem. In addition, an open source software (IDE) Arduino board will be integrated in the ecosystem with designing circuitry on a breadboard to add additional behavior with push buttons, potentiometers and other simple elements in the electrical circuitry. Other projects with the Arduino will be a GPS module digital clock that will run off 22 satellites to show accurate real time using a GPS signal and internal patch antenna to communicate with satellites.

Davis, Kirsch↗

ATLAS: a Snakemake workflow for assembly, annotation, and genomic binning of metagenome sequence data

Background: Metagenomics and metatranscriptomics studies provide valuable insight into the composition and function of microbial populations from diverse environments, however the data processing pipelines that rely on mapping reads to gene catalogs or genome databases for cultured strains yield results that underrepresent the genes and functional potential of uncultured microbes. Recent improvements in sequence assembly methods have eased the reliance on genome databases, thereby allowing the recovery of genomes from uncultured microbes. However, configuring these tools, linking them with advanced binning and annotation tools, and maintaining provenance of the processing continues to be challenging for researchers. Results: Here we present ATLAS, a software package for customizable data processing from raw sequence reads to functional and taxonomic annotations using state-of-the-art tools to assemble, annotate, quantify, and bin metagenome and metatranscriptome data. Genome-centric resolution and abundance estimates are provided for each sample in a dataset. ATLAS is written in Python and the workflow implemented in Snakemake; it operates in a Linux environment, and is compatible with Python 3.5+ and Anaconda 3+ versions. The source code for ATLAS is freely available, distributed under a BSD-3 license. Conclusions: ATLAS provides a user-friendly, modular and customizable Snakemake workflow for metagenome and metatranscriptome data processing; it is easily installable with conda and maintained as open-source on GitHub at https://github.com/metagenome-atlas/atlas.

59 BASIC BIOLOGICAL SCIENCES↗

Code Coverage Status of ARC Code-DIF3D

The Argonne Reactor Code (ARC) software system supports users in their fast reactor design goals by providing neutronic, thermal-hydraulic, and structural analysis capabilities. DIF3D plays a pivotal role in the ARC system as the primary homogenized assembly neutronic calculation methodology for fast reactor problems. Over its 40 years history, ARC software usage with DIF3D has been applied to numerous fast and thermal spectrum reactor analysis projects with good to excellent comparison against experiments. With continued improvement of computation resources, many of the geometry modeling capabilities in DIF3D that were primarily used in low order schemes are not really needed anymore. Today, the diffusion and transport capabilities of DIF3D-VARIANT are primarily used in the reactor design process with some scattered usage of DIF3D-FD and DIF3D-Nodal. In recent work, the DIF3D software verification was completed for DIF3D-FD and DIF3D-VARIANT on the geometry options used in the Versatile Test Reactor project. While we can be confident that these capabilities of DIF3D are well used and thus trusted, it does not demonstrate that all possible input options of DIF3D are actually working, but just those that were tested as part of VTR are and that they are correct. Thus, the purpose of the present work is to identify a set of test problems for DIF3D and assess the code coverage of DIF3D for those test problems. The goal is to document what parts of the existing DIF3D code are touched by the set of test problems and which are not. Because the verification work done on DIF3D-VARIANT and DIF3D-FD was focused on the most common uses of DIF3D for fast reactor analysis, the code coverage assessment of those capabilities is the highest priority. This will ensure that nothing is being missed by the existing verification test problems that DIF3D relies upon. The DIF3D-Nodal capability will also be inspected for code coverage as part of this work to further ensure that regular regression testing of DIF3D will trap any likely errors the end user might experience with the DIF3D software. The code coverage analysis of DIF3D was performed with the Code Coverage Tool of the Intel Fortran compiler which requires modifications to the compilation of DIF3D. The detailed coverage tables are given for each submodule of DIF3D separately, and for the submodules which are primarily developed for DIF3D, most of the source files could be at least partially touched. Most of the uncovered parts/files could be easily ignored, because they are either for error message and debugging output or obviously not needed by DIF3D. Out of the entire source codes of DIF3D, only a few uncovered modules deserve further investigation.

22 GENERAL STUDIES OF NUCLEAR REACTORS↗

Code Coverage Status of the ARC Code DIF3D

The Argonne Reactor Code (ARC) software system supports users in their fast reactor design goals by providing neutronic, thermal-hydraulic, and structural analysis capabilities. DIF3D plays a pivotal role in the ARC system as the primary homogenized assembly neutronic calculation methodology for fast reactor problems. Over its 40 years history, ARC software usage with DIF3D has been applied to numerous fast and thermal spectrum reactor analysis projects with good to excellent comparison against experiments. With continued improvement of computation resources, many of the geometry modeling capabilities in DIF3D that were primarily used in low order schemes are not really needed anymore. Today, the diffusion and transport capabilities of DIF3D-VARIANT are primarily used in the reactor design process with some scattered usage of DIF3D-FD and DIF3D-Nodal. In recent work, the DIF3D software verification was completed for DIF3D-FD and DIF3D-VARIANT on the geometry options used in the Versatile Test Reactor project. While we can be confident that these capabilities of DIF3D are well used and thus trusted, it does not demonstrate that all possible input options of DIF3D are actually working, but just those that were tested as part of VTR are and that they are correct. Thus, the purpose of the present work is to identify a set of test problems for DIF3D and assess the code coverage of DIF3D for those test problems. The goal is to document what parts of the existing DIF3D code are touched by the set of test problems and which are not. Because the verification work done on DIF3D-VARIANT and DIF3D-FD was focused on the most common uses of DIF3D for fast reactor analysis, the code coverage assessment of those capabilities is the highest priority. This will ensure that nothing is being missed by the existing verification test problems that DIF3D relies upon. The DIF3D-Nodal capability will also be inspected for code coverage as part of this work to further ensure that regular regression testing of DIF3D will trap any likely errors the end user might experience with the DIF3D software. The code coverage analysis of DIF3D was performed with the Code Coverage Tool of the Intel Fortran compiler which requires modifications to the compilation of DIF3D. The detailed coverage tables are given for each submodule of DIF3D separately, and for the submodules which are primarily developed for DIF3D, most of the source files could be at least partially touched. Most of the uncovered parts/files could be easily ignored, because they are either for error message and debugging output or obviously not needed by DIF3D. Out of the entire source codes of DIF3D, only a few uncovered modules deserve further investigation.

22 GENERAL STUDIES OF NUCLEAR REACTORS↗

Portable Software Environment for Ultrahigh-Resolution ELM Development on GPUs

This paper presents our endeavors in developing the large-scale, ultra-high-resolution E3SM Land Model (uELM), specifically designed for exascale computers furnished with accelerators such as Nvidia GPUs. The uELM is a sophisticated code that substantially relies on High-Performance Computing (HPC) environments, necessitating particular machine and software configurations. To facilitate community-based uELM developments employing GPUs, we have created a portable, standalone software environment preconfigured with uELM input datasets, simulation cases, and source code. This environment, utilizing Docker, encompasses all essential code, libraries, and system software for uELM development on GPUs. It also features a functional unit test framework and an offline model testbed for comprehensive numerical experiments. From a technical perspective, the paper discusses GPU-ready container generations, uELM code management, and input data distribution across computational platforms. Lastly, the paper demonstrates the use of environment for functional unit testing, end-to-end simulation on CPUs and GPUs, and collaborative code development.

E3SM Land Model↗

Advanced x-ray imaging spectrometer

An x-ray spectrometer that also provides images of an x-ray source. Coded aperture imaging techniques are used to provide high resolution images. Imaging position-sensitive x-ray sensors with good energy resolution are utilized to provide excellent spectroscopic performance. The system produces high resolution spectral images of the x-ray source which can be viewed in any one of a number of specific energy bands.

Callas, John L.↗

Evaluating Portable Parallelization Strategies for Heterogeneous Architectures in High Energy Physics

High-energy physics (HEP) experiments have developed millions of lines of code over decades that are optimized to run on traditional x86 CPU systems. However, we are seeing a rapidly increasing fraction of floating point computing power in leadership-class computing facilities and traditional data centers coming from new accelerator architectures, such as GPUs. HEP experiments are now faced with the untenable prospect of rewriting millions of lines of x86 CPU code, for the increasingly dominant architectures found in these computational accelerators. This task is made more challenging by the architecture-specific languages and APIs promoted by manufacturers such as NVIDIA, Intel and AMD. Producing multiple, architecture-specific implementations is not a viable scenario, given the available person power and code maintenance issues. The Portable Parallelization Strategies team of the HEP Center for Computational Excellence is investigating the use of Kokkos, SYCL, OpenMP, std::execution::parallel and alpaka as potential portability solutions that promise to execute on multiple architectures from the same source code, using representative use cases from major HEP experiments, including the DUNE experiment of the Long Baseline Neutrino Facility, and the ATLAS and CMS experiments of the Large Hadron Collider. This cross-cutting evaluation of portability solutions using real applications will help inform and guide the HEP community when choosing their software and hardware suites for the next generation of experimental frameworks. We present the outcomes of our studies, including performance metrics, porting challenges, API evaluations, and build system integration.

72 PHYSICS OF ELEMENTARY PARTICLES AND FIELDS↗

Preliminary Results of a New Deterministic Iterative Image Reconstruction Algorithm - Paper 117

Iterative reconstruction techniques have become the standard for Single Photon Emission Computed Tomography (SPECT). Advances in computing have allowed these techniques to incorporate more and more detail; however, computation time must be balanced against increased detail. Monte Carlo methods are generally used for modeling the physics of a SPECT study, but can have long computation times. Advances in Monte Carlo-based scatter correction have shown reasonable results, but scatter estimation by measuring narrow energy windows remains more common. An iterative reconstruction technique using a deterministic transport code has been proposed as an alternative. This paper presents preliminary results of the new technique in which the TITAN deterministic code completes the forward projection step in a maximum likelihood expectation maximization (ML-EM) reconstruction of SPECT data. The effectiveness of the deterministic algorithm is examined for a 2-dimensional phantom. This work demonstrates the feasibility of using the TITAN code in an iterative reconstruction algorithm. The appropriate deterministic parameters were chosen by comparing sinograms produced with different mesh sizes, quadrature sets, and anisotropic scattering orders. The TITAN code was then successfully used as the forward projection step in an iterative reconstruction algorithm with a 2-dimensional homogeneous phantom. The impact of deterministic parameters on reconstruction quality is being investigated, along with the incorporation of a smoothing filter. The TITAN source code is being modified to include the ML-EM algorithm and iteration steps. This will significantly improve computation time by eliminating the repeated reading and writing of files for each iteration and allowing some steps to be completed in parallel. Further testing of the new reconstruction algorithm for more realistic phantoms is also underway. (authors)

61 RADIATION PROTECTION AND DOSIMETRY↗

Framework for X-ray mirror surface shape fitting

For accurate characterization of grazing-incidence X-ray mirrors, we present a comprehensive framework to fit measured surface shapes (either slope or height) of X-ray mirrors used in synchrotron radiation and free-electron laser facilities. We summarize the closed-form expressions of some typical surface shapes of X-ray mirrors including elliptic cylinders, hyperbolic cylinders, ellipsoids, hyperboloids, and diaboloids. This framework is composed of four layers: definition of standard shapes with closed-form expressions, generation of theoretical surface with pose parameters (six degrees of freedom defining an object's position and orientation relative to a coordinate system), parameter optimization with the ability to select which parameters are fit and which are held constant, and the development of user-friendly fitting function wrappers for particular fitting tasks. A few practical fitting examples are demonstrated to verify the effectiveness of the proposed fitting framework. We discuss the physical meanings of the fitting parameters, and provide several examples using the elliptic cylinder and ellipsoid shapes to highlight some features of the framework. Moreover, we provide the presented framework as open-source codes (MATLAB and Python codes available at https://github.com/nsls2omf/xmf) to the community to encourage academic collaboration and further improvements.

36 MATERIALS SCIENCE↗

Implementation of metal-friendly EAM/FS-type semi-empirical potentials in HOOMD-blue: A GPU-accelerated molecular dynamics software

We present an implementation of EAM and FS interatomic potentials, which are widely used in simulating metallic systems, in HOOMD-blue, a software designed to perform classical molecular dynamics simulations using GPU accelerations. We first discuss the details of our implementation and then report extensive benchmark tests. We demonstrate that single-precision floating point operations efficiently implemented on GPUs can produce sufficient accuracy when compared against double-precision codes, as demonstrated in test simulations of calculations of the glass-transition temperature of Cu 64.5 Zr 35.5 , and pair correlation function of liquid Ni 3 Al. Our code scales well with the size of the simulating system on NVIDIA Tesla M40 and P100 GPUs. Compared with another popular software LAMMPS running on 32 cores of AMD Opteron 6220 processors, the GPU/CPU performance ratio can reach as high as 4.6. In conclusion, the source code can be accessed through the HOOMD-blue web page for free by any interested user.

36 MATERIALS SCIENCE↗

Stellarator Design Exploration Using Symbolic-Regression Neutronics Surrogates

Systems codes require fast, simplified models to rapidly evaluate fusion power plant concepts, but neutronics analyses are often a computational bottleneck. Here, to address this, surrogate models for key neutronics responses have been developed using 3-D neutronics-ready models built with the open-source code ParaStell from a database of stellarator equilibria. Neutronics responses such as tritium breeding ratio (TBR), nuclear heating, and neutron-induced radiation damage displacements per atom (dpa) were simulated using OpenMC. Through sensitivity analysis and symbolic regression (SR), simple power-law formulas were derived connecting these neutronics responses to global stellarator parameters, including fusion power, plasma surface area, and plasma elongation. Validation shows these formulas can predict the simulation results with low error, enabling quick and accurate assessment of neutronics requirements in stellarator design exploration activities with systems codes.

Modeling↗