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 415 records · Page 23

NASA Operational Simulator for Small Satellites: Tools for Software Based Validation and Verification of Small Satellites

The NASA Operational Simulator for Small Satellites (NOS3) is a suite of tools to aid in areas such as software development, integration test (IT), mission operations training, verification and validation (VV), and software systems check-out. NOS3 provides a software development environment, a multi-target build system, an operator interface-ground station, dynamics and environment simulations, and software-based hardware models. NOS3 enables the development of flight software (FSW) early in the project life cycle, when access to hardware is typically not available. For small satellites there are extensive lead times on many of the commercial-off-the-shelf (COTS) components as well as limited funding for engineering test units (ETU). Considering the difficulty of providing a hardware test-bed to each developer tester, hardware models are modeled based upon characteristic data or manufacturers data sheets for each individual component. The fidelity of each hardware models is such that FSW executes unaware that physical hardware is not present. This allows binaries to be compiled for both the simulation environment, and the flight computer, without changing the FSW source code. For hardware models that provide data dependent on the environment, such as a GPS receiver or magnetometer, an open-source tool from NASA GSFC (42 Spacecraft Simulation) is used to provide the necessary data. The underlying infrastructure used to transfer messages between FSW and the hardware models can also be used to monitor, intercept, and inject messages, which has proven to be beneficial for VV of larger missions such as James Webb Space Telescope (JWST). As hardware is procured, drivers can be added to the environment to enable hardware-in-the-loop (HWIL) testing. When strict time synchronization is not vital, any number of combinations of hardware components and software-based models can be tested. The open-source operator interface used in NOS3 is COSMOS from Ball Aerospace. For testing, plug-ins are implemented in COSMOS to control the NOS3 simulations, while the command and telemetry tools available in COSMOS are used to communicate with FSW. NOS3 is actively being used for FSW development and component testing of the Simulation-to-Flight 1 (STF-1) CubeSat. As NOS3 matures, hardware models have been added for common CubeSat components such as Novatel GPS receivers, ClydeSpace electrical power systems and batteries, ISISpace antenna systems, etc. In the future, NASA IVV plans to distribute NOS3 to other CubeSat developers and release the suite to the open-source community.

Verification↗

LA17-V-InverseRadTransportProblem-PD2Kb. Final Project Report

In the inverse radiation transport problem, a radiation signal emanating from an unknown object is used to reconstruct geometric and material parameters of the object , e.g., the mass of special nuclear material (SNM), the isotopic composition of the SNM (e.g., the enrichment of 235U), the thickness of shielding, etc. The inverse radiation transport problem is one of the most fundamental and important in the emergency response mission, and has been addressed in previous NA-22 and NA-42/84 investments by using derivative-free optimization methods. Our project was aimed at (i) consolidating previous work by applying polynomial chaos expansion (PCE) for reducing significantly the number of forward model simulations required by derivative-free optimization methods; (ii) developing a general-purpose framework and stand-alone software for solving the inverse radiation transport problem by applying a new “predictive modeling” methodology (predictive modeling of coupled multi-physics systems, PM_CMPS) which enables the fusing of experimental and computational information; and (iii) developing several benchmarks (for unscattered gamma rays) for demonstrating the quantification of non-Gaussian features (e.g., skewness and kurtosis, which characterize asymmetries and long tails) of response distributions by deterministically and efficiently propagating parameter uncertainties (covariances and higher-order moments, where available) using high-order sensitivities computed by the recently developed comprehensive adjoint sensitivity analysis methodology (C-ASAM). With regard to (i), application of PCE, the most significant accomplishment of this project was an implementation of PCE into INVERSE that significantly reduced computation time for the DiffeRential Evolution Adaptive Metropolis (DREAM) and Differential Evolution (DE) methods. For inverse transport problems with measurements of neutron leakage, neutron multiplication, and neutron-induced gamma-rays, the solution times for the DREAM and DE methods were reduced by factors of 30-300, reducing run times from hours to minutes while maintaining the same accuracy as the standard (non-PCE) DREAM and DE. Speedups were further improved by exploring sparse grid quadrature sets using the Toolkit for Adaptive Stochastic Modeling and Non-Intrusive ApproximatioN (Tasmanian) toolset. An initial exploration of sparse grids indicated that further speedups factors of 5-10 are obtainable. The implementation of PCE in INVERSE is not in a form that users can easily access. With regard to (ii), solving the inverse problem using a predictive modeling paradigm, the most significant accomplishment of this project were the derivation and implementation of adjoint-based second derivatives in neutron and photon transport theory. There are two codes that compute these derivatives. SENSPG computes them for uncollided gamma rays and SENSMG computes them for neutron leakage. SENSMG is open-source code available on github. Other significant accomplishments included a stand-alone code, MULTI-PRED, that implements the predictive modeling paradigm, along with a detailed manual. The code was implemented in the existing INVERSE code for inverse problems, but a head-to-head comparison of inverse methods was not achieved. We also derived and implemented the capability to compute sensitivities for multiplicity measurements into the SENSMG code, and this capability was used in a data assimilation application, but it was not used for solving inverse problems. With regard to (iii), developing benchmarks to demonstrate the importance of high-order sensitivity and uncertainty analysis, the most significant accomplishment of this project were two test problems that showed how important second-order sensitivities are.

07 ISOTOPE AND RADIATION SOURCES↗

QCOR; A Language Extension Specification for the Heterogeneous Quantum-Classical Model of Computation

Quantum computing (QC) is an emerging computational paradigm that leverages the laws of quantum mechanics to perform elementary logic operations. Existing programming models for QC were designed with fault-tolerant hardware in mind, envisioning stand-alone applications. However, the susceptibility of near-term quantum computers to noise limits their stand-alone utility. To better leverage limited computational strengths of noisy quantum devices, hybrid algorithms have been suggested whereby quantum computers are used in tandem with their classical counterparts in a heterogeneous fashion. This modus operandi calls out for a programming model and a high-level programming language that natively and seamlessly supports heterogeneous quantum-classical hardware architectures in a single-source-code paradigm. Motivated by the lack of such a model, we introduce a language extension specification, called QCOR, which enables single-source quantum-classical programming. Programs written using the QCOR library–based language extensions can be compiled to produce functional hybrid binary executables. After defining QCOR’s programming model, memory model, and execution model, we discuss how QCOR enables variational, iterative, and feed-forward QC. Additionally, QCOR approaches quantum-classical computation in a hardware-agnostic heterogeneous fashion and strives to build on best practices of high-performance computing. The high level of abstraction in the language extension is intended to accelerate the adoption of QC by researchers familiar with classical high-performance computing.

97 MATHEMATICS AND COMPUTING↗

Mads.jl

Mads.jl (Model analysis and decision support in Julia) is a code that streamlines the process of using data and models for analysis and decision support. It is based on another open-source code developed at LANL and written in C/C++ (MADS; http://mads.lanl.gov; LA-CC-11- 035). Mads.jl can work with external models of arbitrary complexity as well as built-in models of flow and transport in porous media. It enables a number of data- and model-based analyses including model calibration, sensitivity analysis, uncertainty quantification, and decision analysis. The code also can use a series of alternative adaptive computational techniques for Bayesian sampling, Monte Carlo, and Bayesian Information-Gap Decision Theory. The code is implemented in the Julia programming language, and has high-performance (parallel) and memory management capabilities. The code uses a series of third party modules developed by others. The code development will also include contributions to the existing third party modules written in Julia; this contributions will be important for the efficient implementation of the algorithm used by Mads.jl. The code also uses a series of LANL developed modules that are developed by Dan O'Malley; these modules will be also a part of the Mads.jl release. Mads.jl will be released under GPL V3 license. The code will be distributed as a Git repo at gitlab.com and github.com. Mads.jl manual and documentation will be posted at madsjulia.lanl.gov.

Vesselinov, Velimir↗

The Applicability of Unit Systems to High-Performance Computing Applications

Dimensional analysis is a key technique used to verify the soundness of scientific models. Most experts agree that engineering and scientific software would be made more reliable by integrating dimensional analysis in their type system. We explored how High Performance Computing (HPC) applications could integrate compile-time dimensional analysis. We started by investigating various implementation of unit systems for C++. Eventually, selecting the latest (and most advanced) one to apply to our test codes. We worked with code of increasing complexity, from a projectile trajectory calculation to the proxy-application Lulesh. This included our code, Springs-3D, which focuses on demonstrating language features while performing simple physic computations. Finally, our main contribution is a source-code analysis which extracts constraints on the dimension of all variables, functions, and constants in an application. This resulting system of equations is solved using the dimensions of a few of these objects. This analysis has the potential to greatly reduce the time spent performing dimensional analysis when refactoring application to use a representation of units.

97 MATHEMATICS AND COMPUTING↗

Mads.jl

Mads.jl (Model analysis and decision support in Julia) is a code that streamlines the process of using data and models for analysis and decision support. It is based on another open-source code developed at LANL and written in C/C++ (MADS; http://mads.lanl.gov; LA-CC-11- 035). Mads.jl can work with external models of arbitrary complexity as well as built-in models of flow and transport in porous media. It enables a number of data- and model-based analyses including model calibration, sensitivity analysis, uncertainty quantification, and decision analysis. The code also can use a series of alternative adaptive computational techniques for Bayesian sampling, Monte Carlo, and Bayesian Information-Gap Decision Theory. The code is implemented in the Julia programming language, and has high-performance (parallel) and memory management capabilities. The code uses a series of third party modules developed by others. The code development will also include contributions to the existing third party modules written in Julia; this contributions will be important for the efficient implementation of the algorithm used by Mads.jl. The code also uses a series of LANL developed modules that are developed by Dan O'Malley; these modules will be also a part of the Mads.jl release. Mads.jl will be released under GPL V3 license. The code will be distributed as a Git repo at gitlab.com and github.com. Mads.jl manual and documentation will be posted at madsjulia.lanl.gov.

Vesselinov, Velimir↗

A publicly available PyTorch-$\mathrm{ABAQUS}$ $\mathrm{UMAT}$ deep-learning framework for level-set plasticity

Here this paper introduces a publicly available PyTorch-ABAQUS deep-learning framework of a family of plasticity models where the yield surface is implicitly represented by a scalar-valued function. In particular, our focus is to introduce a practical framework that can be deployed for engineering analysis that employs a user-defined material subroutine (UMAT/VUMAT) for ABAQUS, which is written in FORTRAN. To accomplish this task while leveraging the back-propagation learning algorithm to speed up the neural-network training, we introduce an interface code where the weights and biases of the trained neural networks obtained via the PyTorch library can be automatically converted into a generic FORTRAN code that can be a part of the UMAT/VUMAT algorithm. To enable third-party validation, we purposely make all the data sets, source code used to train the neural-network-based constitutive models, and the trained models available in a public repository. Furthermore, the practicality of the workflow is then further tested on a dataset for anisotropic yield function to showcase the extensibility of the proposed framework. A number of representative numerical experiments are used to examine the accuracy, robustness and reproducibility of the results generated by the neural network models.

36 MATERIALS SCIENCE↗

Effects of overlapping sources on cosmic shear estimation: Statistical sensitivity and pixel-noise bias

The next generation of dark-energy imaging surveys — so called “Stage-IV” surveys, such as that of the Rubin Observatory Legacy Survey of Space and Time (LSST) — will cross a threshold in the number density of detected sources on the sky that requires qualitatively different image analysis and measurement techniques compared to the current generation of Stage-III surveys. In Stage-IV surveys, a significant amount of the cosmologically useful information is due to sources whose images overlap with those of other sources on the sky. Here, we focus on the weak gravitational lensing probe, for which we expect the largest impact since the cosmic shear signal is primarily encoded in the estimated shapes of observed galaxies and thus directly impacted by overlaps. We introduce a framework based on the Fisher formalism to analyze the effect of the overlapping sources (“blending”) on the estimation of cosmic shear. This method gives concrete predictions for the minimum loss of information due to noise and blending for any choice of “deblending” scheme and shape-measurement algorithm. Our studies account for undetected sources but do not address their full effects and biases they may introduce. We use simulated images and predict this impact of blending for three surveys: the Dark Energy Survey (DES), the Hyper-Suprime Cam Subaru Strategic Program (HSC-SSP), and the Rubin LSST. Our methodology successfully estimates the statistical sensitivity to weak lensing for DES and HSC early results. For LSST, we present the expected loss in statistical sensitivity for the ten-year survey due to blending. We find that for approximately 62% of galaxies that are likely to be detected in full-depth LSST images, at least 1% of the flux in their pixels is from overlapping sources. We also find that the statistical correlations between measures of overlapping galaxies and, to a much lesser extent (0.2%) the higher shot noise level due to their presence, decrease the effective number density of galaxies, N eff , by ~ 18%. We calculate an upper limit on N eff of 39.4 galaxies per arcmin 2 in r band. We study the impact of stars on as a function of stellar density and illustrate the diminishing returns of extending the survey into lower Galactic latitudes. We extend the simulation-based Fisher formalism to predict the expected increase in pixel-noise bias due to blending for maximum-likelihood (ML) shape estimators. We find that noise bias depends sensitively on the particular shape estimator and measure of ensemble-average shape that is used, and properties of the galaxy that include redshift-dependent quantities such as size and luminosity. The source code for these studies is available online.[The documented software developed for the catalog-level studies are available in the open-source LSST DESC github repository https://github.com/LSSTDESC/WeakLensingDeblending. The software for analyzing one or two galaxies with user-defined parameters is in the open-source github repository https://github.com/ismael-mendoza/ShapeMeasurementFisherFormalism.]

79 ASTRONOMY AND ASTROPHYSICS↗

DualSPHysics-INL

Funded by the DOE's Bioenergy Technology Office through the Feedstock-Conversion Interface Consortium, INL researchers developed this code to model biomass freestock flow in various handling equipment, such as hoppers and augers. Built on top of an existing open-source code DualSPHysics (https://dual.sphysics.org/) , the enrichment includes modification of the mass conservation equation that switching tracking density to void ratio, adding a hypoplastic constitutive law to better capture the flow physics of this type of material and implementing a novel boundary condition that can handle the dynamic contact between material and equipment. All implementation were realized via Nvidia CUDA, so GPU accelaration can be leveraged to signifiantly speed up the computational process.

Jin, Wencheng [Idaho National Laboratory (INL), Id↗

A translator writing system for microcomputer high-level languages and assemblers

In order to implement high level languages whenever possible, a translator writing system of advanced design was developed. It is intended for routine production use by many programmers working on different projects. As well as a fairly conventional parser generator, it includes a system for the rapid generation of table driven code generators. The parser generator was developed from a prototype version. The translator writing system includes various tools for the management of the source text of a compiler under construction. In addition, it supplies various default source code sections so that its output is always compilable and executable. The system thereby encourages iterative enhancement as a development methodology by ensuring an executable program from the earliest stages of a compiler development project. The translator writing system includes PASCAL/48 compiler, three assemblers, and two compilers for a subset of HAL/S.

Collins, W. R.↗

Transparent runtime parallelization of the R scripting language

Scripting languages such as R and Matlab are widely used in scientific data processing. As the data volume and the complexity of analysis tasks both grow, sequential data processing using these tools often becomes the bottleneck in scientific workflows. We describe pR, a runtime framework for automatic and transparent parallelization of the popular R language used in statistical computing. Recognizing scripting languages interpreted nature and data analysis codes use pattern, we propose several novel techniques: (1) applying parallelizing compiler technology to runtime, whole-program dependence analysis of scripting languages, (2) incremental code analysis assisted with evaluation results, and (3) runtime parallelization of file accesses. Our framework does not require any modification to either the source code or the underlying R implementation. Experimental results demonstrate that pR can exploit both task and data parallelism transparently and overall has better performance as well as scalability compared to an existing parallel R package that requires code modification.

99 GENERAL AND MISCELLANEOUS↗

A Program Analysis Tool to Query Static and Dynamic Characteristics of HPC Applications

Emerging HPC platforms are becoming extraordinarily difficult to program as a result of complex, deep and heterogeneous memory hierarchies, heterogeneous cores, and the need to divide work and data among them. New programming models and libraries are being developed to aid in porting efforts of application developers, but substantial code restructuring is still necessary to fully make use of these new technologies. To do this effectively, these developers need information about their source code characteristics, including static and dynamic (e.g. performance) information to direct their optimisation efforts and make key decisions. On the other hand, system administrators need to understand how users are using the software stack and resources on their systems to understand what software they need to provide to improve the productivity of the users on a platform.In this paper we describe a tool that combines compiler and profiler information to query performance characteristics within an application or across multiple applications on a given platform. Static and dynamic data about applications are collected and stored together in an SQL database that can be queried by either a developer or a system administrator. We will demonstrate the capabilities of this tool via a real-world example from application-driven case studies that aims at understanding the use of scientific libraries on a routine from the molecular simulation application CP2K.

Welch, Aaron↗

Self characterization of a coded aperture array for neutron source imaging

The neutron imaging system at the National Ignition Facility (NIF) is an important diagnostic tool for measuring the two-dimensional size and shape of the neutrons produced in the burning deuterium-tritium plasma during the stagnation stage of inertial confinement fusion implosions. Since the neutron source is small (∼100 μm) and neutrons are deeply penetrating (>3 cm) in all materials, the apertures used to achieve the desired 10-μm resolution are 20-cm long, triangular tapers machined in gold foils. These gold foils are stacked to form an array of 20 apertures for pinhole imaging and three apertures for penumbral imaging. These apertures must be precisely aligned to accurately place the field of view of each aperture at the design location, or the location of the field of view for each aperture must be measured. In this paper we present a new technique that has been developed for the measurement and characterization of the precise location of each aperture in the array. We present the detailed algorithms used for this characterization and the results of reconstructed sources from inertial confinement fusion implosion experiments at NIF.

46 INSTRUMENTATION RELATED TO NUCLEAR SCIENCE AND ↗

FEgen (v.1): Field Emission Distribution Generator Freeware Based on Fowler–Nordheim Equation

This work presents an open-source code, FEgen, that generates initial field emission distributions based on the time-dependent Fowler–Nordheim equation. Current in-demand and open-source beam tracking software—such as ASTRA, IMPACT-T, and GPT—do not contain native distribution generator functions suitable for field emitted electron tracking and phase space analysis. Furthermore, the intuitive graphical user interface of FEgen generates input files shown to be fully compatible with both ASTRA and GPT. Here, detailed application examples demonstrating a subset of FEgen’s capabilities are given by creating a customized emitter pattern with application to transverse beam shaping and longitudinal beam dynamic experiments.

70 PLASMA PHYSICS AND FUSION TECHNOLOGY↗

Numerical eigen-spectrum slicing, accurate orthogonal eigen-basis, and mixed-precision eigenvalue refinement using OpenMP data-dependent tasks and accelerator offload

Performing a variety of numerical computations efficiently and, at the same time, in a portable fashion requires both an overarching design followed by a number of implementation strategies. All of these are exemplified below as we present transitioning the PLASMA numerical library from relying on dependence-driven large tasks to achieving utilization of fine grain tasking and offload to hardware accelerators while keeping its core dependence sets: OpenMP source code pragmas and runtime for most system-level functionality and basic low-level numerical kernels provided directly by hardware vendors or open source projects with vendor contributions. We also present new algorithmic methods and their efficient parallel implementations including fine grained tasking for eigen-spectrum slicing and offload for mixed-precision eigenvalue refinement. We provide performance, scaling, and numerical results showing sizable gains over the available solutions from either the open source and vendor-provided packages.

Luszczek, Piotr↗

Quicksilver

Quicksilver is proxy application for the Monte Carlo Transport code, Mercury. The purpose of the Quicksilver mini-app is to create a freely distributable code base that represents the key elements of the Mercury workload by solving a simplified time-dependent neutron transport problem. As an open source code, Quicksilver will be hosted on the CZ git/stash repo alongside other mini-apps in the ACS so-design suite. It will be used by vendors and other partners for co-design activities such as identifying root causes of Mercury performance bottlenecks on future architectures (i.e., memory bandwidth, memory latency, flop intensity) and developing Quicksilver will be used within LLNL as a nimble platform to evaluate programming models, algorithms, etc. that might be useful in Mercury. Quicksilver may also become a replacement for MCB in future procurement benchmarks, as well as a way to engage vendors in the Trinity and Sierra Centers of Excellence as well as other co-design efforts.

Richards, David↗

lanl/nubhlight

nubhlight is a code for simulating disks of materials around black holes formed after the in-spiral and merger of two-black holes. It is based on the open-source code bhlight. nubhlight models all relevant physics required to solve the post-merger disk problem. This includes: general relativity in a static spacetime, neutrino and weak physics, relativistic magnetohydrodynamics, and the ability to use open-sourced tabulated equations of state provided by stellarcollapse.org.

Miller, Jonah↗

Verification and validation of the open-source plasma fluid code: Zapdos

Zapdos is an open-source finite element plasma fluid solver based on the MOOSE multiphysics framework. This paper outlines Zapdos verification, benchmarking, and validation efforts for 1D and 2D RF capacitively coupled plasma discharge models for mid-range pressures (0.1 - 1 Torr). The verification process involved using the method of manufactured solutions to assess Zapdos spatial and temporal error convergence. L2 errors ranged from 10 -2 to 10 -4 , while the convergence’s slope were in agreement with the predicted slopes for the tested variable and time integration orders. The benchmarking process involved comparisons to previously results from the validated finite element code, LSODI. These works included 1D and 2D simulations for a range of plasma parameters (densities, temperatures, voltage, etc.). For the 1D cases, Zapdos and LSODI results were in very good agreement. In the 2D cases, variable behaviors matched, with slight discrepancies in peak values. The validation process involved comparisons to experimental works including electron density measurements by microwave interferometry and metastable density measurements by planar laser-induced fluorescence imaging. Results shown reasonable agreement at higher pressure, with results starting to diverge at low pressures. Furthermore, probable causes for this diverges are the limitation of the fluid assumption for plasmas at low pressure, or the need for more robust boundary conditions. Overall, Zapdos shown reasonable results for the verification, benchmarking, and validation efforts, and Zapdos can be downloaded at https://github.com/shannon-lab/zapdos.

70 PLASMA PHYSICS AND FUSION TECHNOLOGY↗