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 235 records · Page 13

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↗

County Level Annual Population Projections for SSP3 and SSP5

This dataset consist of annual (2020-2100) county-level population projections for the United States (U.S.) for Shared Socioeconomic Pathways (SSPs) 3 and 5. The original decadal state-level data is used as an input to the gridded population data model to downscale the state-level projections for each SSP to a 1 km grid. The 1 km data is then aggregated to the county-level using the 2020 TIGER/Line county shapefiles from the U.S. Census Bureau. The two data files are shared as .csv files with the following structure: Rows = Data for individual counties which are identified using their Federal Information Processing Standard (FIPS) code. The FIPS code is stored in the first column. Columns = Each year from 2020-2100 is an individual column. For easier reference, the state name associated with each row is stored in the last column. Values in each cell are the downscaled estimated population for that county-year combination. Values are fractional due to the weighting scheme used in the downscaling. The paper and model source code cited in the "Related Works" section describes the initial source of the population projections.

FIPS↗

Simulation of the spatial shift in detector response for polarized protons within a calorimeter

Measurement of the helicity dependent elastic electron-proton scattering cross section provides a key means of investigating parity violation within the proton. However, such measurements exhibit potential instrumental effects associated with the detection of polarized recoiled protons. In particular, spin-orbit interactions within a massive detector induce a systematic spatial shift in the detector signal. In this study, we determine the size of this shift using the Geant4 simulation toolkit. For a typical hadron calorimeter, we found a polarization dependent shift on the order of 0.01-0.1 mm, multiple orders of magnitude smaller than the typical spatial resolution seen in hadronic calorimeters. Additionally, we provide the custom modifications required of the Geant4 source code to implement the quasi-elastic scattering of polarized protons incident on nuclei in the detector. The modifications are readily extendable to generic matter sources, and can be used for the study of additional spin dependent observables in Geant4.

46 INSTRUMENTATION RELATED TO NUCLEAR SCIENCE AND ↗

gRNA-SeqRET: a universal tool for targeted and genome-scale gRNA design and sequence extraction for prokaryotes and eukaryotes

High-throughput genetic screening is frequently employed to rapidly associate gene with phenotype and establish sequence-function relationships. With the advent of CRISPR technology, and the ability to functionally interrogate previously genetically recalcitrant organisms, non-model organisms can be investigated using pooled guide RNA (gRNA) libraries and sequencing-based assays to quantitatively assess fitness of every targeted locus in parallel. To aid the construction of pooled gRNA assemblies, we have developed an in silico design workflow for gRNA selection using the gRNA Sequence Region Extraction Tool (gRNA-SeqRET). Built upon the previously developed CCTop, gRNA-SeqRET enables automated, scalable design of gRNA libraries that target user-specified regions or whole genomes of any prokaryote or eukaryote. Additionally, gRNA-SeqRET automates the bulk extraction of any regions of sequence relative to genes or other features, aiding in the design of homology arms for insertion or deletion constructs. We also assess in silico the application of a designed gRNA library to other closely related genomes and demonstrate that for very closely related organisms Average Nucleotide Identity (ANI) > 95% a large fraction of the library may be of relevance. The gRNA-SeqRET web application pipeline can be accessed at https://grna.jgi.doe.gov. The source code is comprised of freely available software tools and customized Python scripts, and is available at https://bitbucket.org/berkeleylab/grnadesigner/src/master/ under a modified BSD open-source license (https://bitbucket.org/berkeleylab/grnadesigner).

59 BASIC BIOLOGICAL SCIENCES↗

Machine Learning-enabled Scalable Performance Prediction of Scientific Codes

Hardware architectures become increasingly complex as the compute capabilities grow to exascale. Here, we present the Analytical Memory Model with Pipelines (AMMP) of the Performance Prediction Toolkit (PPT). PPT-AMMP takes high-level source code and hardware architecture parameters as input and predicts runtime of that code on the target hardware platform, which is defined in the input parameters. PPT-AMMP transforms the code to an (architecture-independent) intermediate representation, then (i) analyzes the basic block structure of the code, (ii) processes architecture-independent virtual memory access patterns that it uses to build memory reuse distance distribution models for each basic block, and (iii) runs detailed basic-block level simulations to determine hardware pipeline usage. PPT-AMMP uses machine learning and regression techniques to build the prediction models based on small instances of the input code, then integrates into a higher-order discrete-event simulation model of PPT running on Simian PDES engine. We validate PPT-AMMP on four standard computational physics benchmarks and present a use case of hardware parameter sensitivity analysis to identify bottleneck hardware resources on different code inputs. We further extend PPT-AMMP to predict the performance of a scientific application code, namely, the radiation transport mini-app SNAP. To this end, we analyze multi-variate regression models that accurately predict the reuse profiles and the basic block counts. We validate predicted SNAP runtimes against actual measured times.

97 MATHEMATICS AND COMPUTING↗

Metabolomics Collision Cross Section Database and Server

This is a the code and data for a website created to display collision cross section data for metabolites and small molecules. This repository hosts two things. First is the source code (js) for a website created to display collision cross section data for metabolites and other small molecules. The second is the underlying CCS dataset. The growing interest in metabolomic and exposomic studies is also inciting a need for new techniques to analyze these diverse molecules. Mass spectrometry-based studies are often preferred for the confident identification of small molecules. Ion mobility spectrometry (IMS) is capable of separating molecules that have the same m/z but different conformational arrangements, which is very useful in metabolomic and exposomic analyses. As the desire for IMS measurements of metabolites continues to grow, so does the need for high quality collision cross section (CCS) values.

Payne, Sam↗

Tight-Binding-Based Method for Simulations of Complex Materials with Accompanying Database

The NRL-Tight-Binding (NRL-TB) method has been applied successfully to many monatomic, binary, and a few ternary systems. The method consists of a fit to Density Functional Theory (DFT) results and has transferability beyond the fitted DFT database including performing tight-binding molecular dynamics simulations. We are working on a new website with a detailed guide of how to use the method in performing the fit to DFT results (Fitting Code) and obtaining non-orthogonal TB parameters expressed in a polynomial form as environment-dependent Slater-Koster parameters (on-site terms), and neighbor distance-dependent Hamiltonian and Overlap terms. These parameters are then used in a Static Code to verify or make predictions for large systems often beyond the computational capabilities of standard DFT codes. Our starting point was a website developed at NRL some years ago which NRL no longer supports. We have now been augmenting that website with new examples of expanding the original capabilities of the method such as incorporating in the codes f-electron states. Our website (esd.cos.gmu.edu/tb) contains two separate branches: One named NRL-TB with the full documentation of the method including source codes and examples. The other branch, named ESD-dB, is a library of electronic structure calculations for all the monatomic elements (a subset of the elements also found in a recent book by the author of this proposal. See reference 22) and an approximately 700 hundred compounds in specific crystal structures. We discuss below the progress made so far in improving and expanding the capabilities of our TB method and the plans for further extensions of our approach.

36 MATERIALS SCIENCE↗

Alquimia v1.0: a generic interface to biogeochemical codes – a tool for interoperable development, prototyping and benchmarking for multiphysics simulators

Alquimia v1.0 is a generic interface to geochemical solvers that facilitates development of multiphysics simulators by enabling code coupling, prototyping and benchmarking. The interface enforces the function arguments and their types for setting up, solving, serving up output data and carrying out other common auxiliary tasks while providing a set of structures for data transfer between the multiphysics code driving the simulation and the geochemical solver. Alquimia relies on a single-cell approach that permits operator splitting coupling and parallel computation. We describe the implementation in Alquimia of two widely used open-source codes that perform geochemical calculations: PFLOTRAN and CrunchFlow. We then exemplify its use for the implementation and simulation of reactive transport in porous media by two open-source flow and transport simulators: Amanzi and ParFlow. We also demonstrate its use for the simulation of coupled processes in novel multiphysics applications including the effect of multiphase flow on reaction rates at the pore scale with OpenFOAM, the role of complex biogeochemical processes in land surface models such as the E3SM Land Model (ELM) and the impact of surface–subsurface hydrological interactions on hydrogeochemical export from watersheds with the Advanced Terrestrial Simulator (ATS). These applications make it apparent that the availability of a well-defined yet flexible interface has the potential to improve the software development workflow, freeing up resources to focus on advances in process models and mechanistic understanding of coupled problems.

37 INORGANIC, ORGANIC, PHYSICAL, AND ANALYTICAL CH↗

GMFOLD: Subgraph matching for high-throughput DNA-aptamer secondary structure classification and machine learning interpretability

Aptamers are oligonucleotide receptors that bind to their targets with high affinity. Here, we consider aptamers comprised of single-stranded DNA that undergo target-binding-induced conformational changes, giving rise to unique secondary and tertiary structures. Given a specific aptamer primary sequence, there are well-established computational tools (notably mfold) to predict the secondary structure via free energy minimization algorithms. While mfold generates secondary structures for individual sequences, there is a need for a high-throughput process whereby thousands of DNA structures can be predicted in real-time for use in an interactive setting, when combined with aptamer selections that generate candidate pools that are too large to be experimentally interrogated. We developed a new Python code for high-throughput aptamer secondary structure determination (GMfold). GMfold uses subgraph matching methods to group aptamer candidates by secondary structure similarities. We also improve an open-source code, SeqFold, to incorporate subgraph matching concepts. We represent each secondary structure as a lowest-energy bipartite subgraph matching of the DNA graph to itself. These new tools enable thousands of DNA sequences to be compared based on their secondary structures, using machine-learning algorithms. This process is advantageous when analyzing sequences that arise from aptamer selections via systematic evolution of ligands by exponential enrichment (SELEX). This work is a building block for future machine-learning-informed DNA-aptamer selection processes to identify aptamers with improved target affinity and selectivity and advance aptamer biosensors and therapeutics.

Aptamer↗

Automatic Code Generation for High-Performance Graph Algorithms

Graph problems are common across fields of scientific computing and social sciences. However, despite their importance, implementing graph algorithms effectively on modern computing systems is a challenging task that requires significant programming effort and generally results in customized implementations. Current computing and memory hierarchies are not architected for irregular computations resulting in challenges for graph algorithms to achieve high performance on those architectures. In this paper, we present GraphX, a novel compiler framework and DSL designed to simplify the development of efficient graph algorithms and achieve high performance on modern computing systems. GraphX consists of a DSL for efficient implementation of graph algorithms, various optimizations, such as support for sparse linear algebra and workspace transformations, optimized graph primitives, including semiring and masking, and a high-performance code generation engine. Using GraphX, users can implement graph algorithms using a semantically-rich language with graph-oriented operators. GraphX uses these semantics to automatically generate efficient code for target architectures, increasing performance and portability across architectures. The composable nature of GraphX makes it possible to extend the set of optimizations and architectures without modifying the source code. We demonstrate GraphX outperforms state-of-the-art graph libraries, such as LAGraph, up to $3.7 speedup in semiring operations, $2.19 speedup in an important sparse computational kernel, and $9.05 speedup in graph processing algorithms.

compiler, graph algorithms, semiring, masking, wor↗

Summer Report: Tool Integration for Variable-Precision Computing

This summer I worked in the tools group of the variable-precision computing effort at Lawrence Livermore National Laboratory (LLNL). I coordinated an integration project that combined three existing tools into a single pipeline for automated mixed-precision tuning at the source code level. This involved coordinating efforts between several different project groups and making improvements to all three tools. Two of the tools are already available publicly as open-source projects, and the third has been submitted for release. This document serves as an overview of the summer's efforts, focusing on our contributions as well as ideas for future work.

97 MATHEMATICS AND COMPUTING↗

Sandia Simple Particle Tracking (Sandia SPT) v. 1.0

Sandia SPT is designed as software to accompany a book chapter being published a methods chapter which provides an introduction on how to label and track individual proteins. The Sandia Simple Particle Tracking code uses techniques common to the image processing community, where its value is that it facilitates implementing the methods described in the book chapter by providing the necessary open-source code. The code performs single particle spot detection (or segmentation and localization) followed by tracking (or connecting the detected particles into trajectories). The book chapter, which along with the headers in each file, constitutes the documentation for the code is: Anthony, S.M.; Carroll-Portillo, A.; Timlon, J.A., Dynamics and Interactions of Individual Proteins in the Membrane of Living Cells. In Anup K. Singh (Ed.) Single Cell Protein Analysis Methods in Molecular Biology. Springer

Anthony, StephenM.↗

Matlab Code for Multiscale Topology Optimization

This Matlab script implements a simple topology optimization algorithm that minimizes the compliance of a structure within a 3D prismatic design domain. It uses a simple linear elastic finite element solver to solve the equilibrium equations, and the optimality criterion (00) method to update the design iteratively. This functionality is identical to, or the simplest possible extension from 2D to 3D of, a 99-line Matlab code released in 2001 in a journal article by Sigmund. What is new in this code is our implementation of simple surrogate models for several truss micro-architectures, which converts this code to a multiscale design tool, whereas the original code is single-scale. The development of these surrogate models and their implementation is described in a journal article we intend to submit. We plan to include the full source code in an Appendix in this paper. The code’s primary function is as a pedagogical tool rather than as a finished software product. Sigmund’s 2001 paper describes the implementation line-by-line. We are including this updated version of the code to allow the reader to understand exactly what changes must be made to a “standard” topology optimization code to implement the surrogate models and thus multiscale design optimization.

Watts, Seth↗

Sandia Simple Particle Tracking (Sandia SPT) v. 1.0

Sandia SPT is designed as software to accompany a book chapter being published a methods chapter which provides an introduction on how to label and track individual proteins. The Sandia Simple Particle Tracking code uses techniques common to the image processing community, where its value is that it facilitates implementing the methods described in the book chapter by providing the necessary open-source code. The code performs single particle spot detection (or segmentation and localization) followed by tracking (or connecting the detected particles into trajectories). The book chapter, which along with the headers in each file, constitutes the documentation for the code is: Anthony, S.M.; Carroll-Portillo, A.; Timlon, J.A., Dynamics and Interactions of Individual Proteins in the Membrane of Living Cells. In Anup K. Singh (Ed.) Single Cell Protein Analysis Methods in Molecular Biology. Springer

Anthony, Stephen M.↗