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 397 records · Page 22

Proceedings of the Third International Workshop on Proof-Carrying Code and Software Certification

This NASA conference publication contains the proceedings of the Third International Workshop on Proof-Carrying Code and Software Certification, held as part of LICS in Los Angeles, CA, USA, on August 15, 2009. Software certification demonstrates the reliability, safety, or security of software systems in such a way that it can be checked by an independent authority with minimal trust in the techniques and tools used in the certification process itself. It can build on existing validation and verification (V&V) techniques but introduces the notion of explicit software certificates, Vvilich contain all the information necessary for an independent assessment of the demonstrated properties. One such example is proof-carrying code (PCC) which is an important and distinctive approach to enhancing trust in programs. It provides a practical framework for independent assurance of program behavior; especially where source code is not available, or the code author and user are unknown to each other. The workshop wiII address theoretical foundations of logic-based software certification as well as practical examples and work on alternative application domains. Here "certificate" is construed broadly, to include not just mathematical derivations and proofs but also safety and assurance cases, or any fonnal evidence that supports the semantic analysis of programs: that is, evidence about an intrinsic property of code and its behaviour that can be independently checked by any user, intermediary, or third party. These guarantees mean that software certificates raise trust in the code itself, distinct from and complementary to any existing trust in the creator of the code, the process used to produce it, or its distributor. In addition to the contributed talks, the workshop featured two invited talks, by Kelly Hayhurst and Andrew Appel. The PCC 2009 website can be found at http://ti.arc.nasa.gov /event/pcc 091.

Ewen, Denney, W.↗

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↗

Sensor Radiance for a Midlatitude Atmospheric Model

The Herman radiative transfer code which iteratively traces solar radiance through a discrete number of scattering angles and many atmospheric layers was transferred to a personnal computer to reduce time in recompiling the source code. The code was then used to predict what ground reflectance would saturate the TM sensor output given a standard midlatitude atmospheric model. Output radiance is tabulated for the first four bands. Plots show radiance at the sensor as a function of solar zenith angle from a visibility of 40 km; solar zenith angle as a function of time of year for four latitudes over a typical portion of the descending node of a LANDSAT orbit; and values of ground reflectance required to saturate the TM sensor from three different aerosol loading conditions (corresponding to about 20 km, 40 km. and greater than 100 km visibility).

Source record↗

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↗

Automatic Data Traffic Control on DSM Architecture

We study data traffic on distributed shared memory machines and conclude that data placement and grouping improve performance of scientific codes. We present several methods which user can employ to improve data traffic in his code. We report on implementation of a tool which detects the code fragments causing data congestions and advises user on improvements of data routing in these fragments. The capabilities of the tool include deduction of data alignment and affinity from the source code; detection of the code constructs having abnormally high cache or TLB misses; generation of data placement constructs. We demonstrate the capabilities of the tool on experiments with NAS parallel benchmarks and with a simple computational fluid dynamics application ARC3D.

Frumkin, Michael↗

Evaluation of Grid Modification Methods for On- and Off-Track Sonic Boom Analysis

Grid modification methods have been under development at NASA to enable better predictions of low boom pressure signatures from supersonic aircraft. As part of this effort, two new codes, Stretched and Sheared Grid - Modified (SSG) and Boom Grid (BG), have been developed in the past year. The CFD results from these codes have been compared with ones from the earlier grid modification codes Stretched and Sheared Grid (SSGRID) and Mach Cone Aligned Prism (MCAP) and also with the available experimental results. NASA's unstructured grid suite of software TetrUSS and the automatic sourcing code AUTOSRC were used for base grid generation and flow solutions. The BG method has been evaluated on three wind tunnel models. Pressure signatures have been obtained up to two body lengths below a Gulfstream aircraft wind tunnel model. Good agreement with the wind tunnel results have been obtained for both on-track and off-track (up to 53 degrees) cases. On-track pressure signatures up to ten body lengths below a Straight Line Segmented Leading Edge (SLSLE) wind tunnel model have been extracted. Good agreement with the wind tunnel results have been obtained. Pressure signatures have been obtained at 1.5 body lengths below a Lockheed Martin aircraft wind tunnel model. Good agreement with the wind tunnel results have been obtained for both on-track and off-track (up to 40 degrees) cases. Grid sensitivity studies have been carried out to investigate any grid size related issues. Methods have been evaluated for fully turbulent, mixed laminar/turbulent and fully laminar flow conditions.

Nayani, Sudheer N.↗

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.↗

Hexagonal uniformly redundant arrays for coded-aperture imaging

Uniformly redundant arrays are used in coded-aperture imaging, a technique for forming images without mirrors or lenses. This technique is especially important for the high energy X-ray and gamma-ray region above 20 kev. In this technique, a mask consisting of opaque (closed) and trasparent (open) areas is placed between the photon sources to be imaged and a position sensitive detector or a detector array. Each source casts a shadow pattern of the mask or aperture onto the detector. This shadow pattern may be viewed as an encoded signal for that source direction. If each possible source code is unique, the detected composite of overlapping shadow patterns may be decoded to produce an image of the source distribution.

Finger, M. H.↗

Virtual Flow Simulator

Virtual Flow Simulator (VFS) is a state-of-the-art computational fluid mechanics (CFD) package that is capable of simulating multi-physics/multi-phase flows with the most advanced turbulence models (RANS, LES) over complex terrains. The flow solver is based on the Curvilinear Immersed Boundary (CURVIB) method to handle geometrically complex and moving domains. Different modules of the VFS package can provide different simulation capabilities for specific applications ranging from the fluid-structure interaction (FSI) of solid and deformable bodies, the two-phase free surface flow solver based on the level set method for ocean waves, sediment transport models in rivers and the large-scale models of wind farms based on actuator lines and surfaces. All numerical features of VFS package have been validated with known analytical and experimental data as reported in the related journal articles. VFS package is suitable for a broad range of engineering applications within different industries. VFS has been used in different projects with applications in wind and hydrokinetic energy, offshore and near-shore ocean studies, cardiovascular and biological flows, and natural streams and river morphodynamics. Over the last decade, the development of VFS has been supported and assisted with the help of various United States companies and federal agencies that are listed in the sponsor lists. In this version, VFS-Wind contains all the necessary modeling tools for wind energy applications, including land-based and offshore wind farms. VFS is highly scalable to run on either desktop computers or high performance clusters (up to 16,000 CPUs). This released version comes with a detailed user’s manual and a set of case studies designed to facilitate the learning of the various aspects of the code in a comprehensive manner. The included documentation and support material has been elaborated in a collaboration effort with Sandia National Labs under the contract DE-EE0005482. The VFS-Wind source code is distributed under the GNU General Public License (GPL 2.0), offering to the community the flexibility to use and expand the capabilities of the package. We note that future publications including academic journals that result from the use of VFS must be cited appropriately under the GPL v.2 license agreement.

Yang, Xiaolei↗

Enhancements to Concrete Modeling Capabilities in Grizzly 2.0

The Grizzly code has been under development for several years with the goal of modeling aging effects in a variety of nuclear power plant systems, components, and structures. Version 2.0 of Grizzly was recently released, including both major improvements to its probabilistic fracture mechanics capabilities for evaluation of irradiated reactor pressure vessels, as well as multiple improvements to its capability for modeling degradation of concrete structures. This report summarizes recent development in the Grizzly code specific to concrete modeling that are included in this release. Major highlights of this work include the release of much of the concrete modeling capabilities of Grizzly in an open-source code called BlackBear, modernization of the models and documentation of the code, support for including nonlinear mechanical constitutive models, including creep and damage, re-architecting the anisotropic expansion model to allow its use for modeling both expansion due to alkali-silica reaction and radiation-induced volumetric expansion, and developing a preliminary capability for modeling connection of reinforcing bars to a concrete matrix.

22 GENERAL STUDIES OF NUCLEAR REACTORS↗

Implementing Scientific Simulation Codes Highly Tailored for Vector Architectures Using Custom Configurable Computing Machines

The motivation for this work comes from an observation that amidst the push for Massively Parallel (MP) solutions to high-end computing problems such as numerical physical simulations, large amounts of legacy code exist that are highly optimized for vector supercomputers. Because re-hosting legacy code often requires a complete re-write of the original code, which can be a very long and expensive effort, this work examines the potential to exploit reconfigurable computing machines in place of a vector supercomputer to implement an essentially unmodified legacy source code. Custom and reconfigurable computing resources could be used to emulate an original application's target platform to the extent required to achieve high performance. To arrive at an architecture that delivers the desired performance subject to limited resources involves solving a multi-variable optimization problem with constraints. Prior research in the area of reconfigurable computing has demonstrated that designing an optimum hardware implementation of a given application under hardware resource constraints is an NP-complete problem. The premise of the approach is that the general issue of applying reconfigurable computing resources to the implementation of an application, maximizing the performance of the computation subject to physical resource constraints, can be made a tractable problem by assuming a computational paradigm, such as vector processing. This research contributes a formulation of the problem and a methodology to design a reconfigurable vector processing implementation of a given application that satisfies a performance metric. A generic, parametric, architectural framework for vector processing implemented in reconfigurable logic is developed as a target for a scheduling/mapping algorithm that maps an input computation to a given instance of the architecture. This algorithm is integrated with an optimization framework to arrive at a specification of the architecture parameters that attempts to minimize execution time, while staying within resource constraints. The flexibility of using a custom reconfigurable implementation is exploited in a unique manner to leverage the lessons learned in vector supercomputer development. The vector processing framework is tailored to the application, with variable parameters that are fixed in traditional vector processing. Benchmark data that demonstrates the functionality and utility of the approach is presented. The benchmark data includes an identified bottleneck in a real case study example vector code, the NASA Langley Terminal Area Simulation System (TASS) application.

Rutishauser, David↗

Virtual Flow Simulator

Virtual Flow Simulator (VFS) is a state-of-the-art computational fluid mechanics (CFD) package that is capable of simulating multi-physics/multi-phase flows with the most advanced turbulence models (RANS, LES) over complex terrains. The flow solver is based on the Curvilinear Immersed Boundary (CURVIB) method to handle geometrically complex and moving domains. Different modules of the VFS package can provide different simulation capabilities for specific applications ranging from the fluid-structure interaction (FSI) of solid and deformable bodies, the two-phase free surface flow solver based on the level set method for ocean waves, sediment transport models in rivers and the large-scale models of wind farms based on actuator lines and surfaces. All numerical features of VFS package have been validated with known analytical and experimental data as reported in the related journal articles. VFS package is suitable for a broad range of engineering applications within different industries. VFS has been used in different projects with applications in wind and hydrokinetic energy, offshore and near-shore ocean studies, cardiovascular and biological flows, and natural streams and river morphodynamics. Over the last decade, the development of VFS has been supported and assisted with the help of various United States companies and federal agencies that are listed in the sponsor lists. In this version, VFS-Wind contains all the necessary modeling tools for wind energy applications, including land-based and offshore wind farms. VFS is highly scalable to run on either desktop computers or high performance clusters (up to 16,000 CPUs). This released version comes with a detailed user’s manual and a set of case studies designed to facilitate the learning of the various aspects of the code in a comprehensive manner. The included documentation and support material has been elaborated in a collaboration effort with Sandia National Labs under the contract DE-EE0005482. The VFS-Wind source code is distributed under the GNU General Public License (GPL 2.0), offering to the community the flexibility to use and expand the capabilities of the package. We note that future publications including academic journals that result from the use of VFS must be cited appropriately under the GPL v.2 license agreement.

Calderer, Antoni↗

MUFFSgenMC: An Open Source Muon Flexible Framework for Spectral Generation for Monte Carlo Applications

A cosmic ray Muon Flexible Framework for Spectral Generation for Monte Carlo Applications (MUFFSgenMC) has been developed to support state-of-the-art cosmic ray muon detection and tomographic applications. The flexible framework allows for easy and fast creation of source terms for popular Monte Carlo applications such as GEANT4 and MCNP, which simplifies the process of simulations. The flexible framework contains a variety of analytical, numerical, and parametric models that capture the main characteristics of the muon energy and angular distributions in the range 0 to 90 and at arbitrary energies. The primary model for muon energy distribution is an implementation of the Smith and Duller phenomenological model. The predictions for muon energies in the range from 1 GeV to 1 TeV and zenith angles 0 to 90 are validated against an extensive series of experimental spectrum measurements. Finally, the open source code available on Matlab’s Mathworks File Exchange (https://www.mathworks.com/matlabcentral/fileexchange/65585-muffsgenmc) was written to allow users to easily modify and expand the code. MUFFSgenMC can facilitate the study of cosmic ray muons for nuclear nonproliferation applications and will enable the development of new muon-based detection and imaging techniques by providing an easy source term generator.

Greulich, Christopher↗

Building Efficiency Targeting Tool for Energy Retrofits (BETTER) Web Application (BETTER Web App) v1.0

The Building Efficiency Targeting Tool for Energy Retrofits (BETTER) V.1.0 web application identifies cost-saving energy and emissions reductions in buildings and portfolios, without site visits or complex modeling. With minimal data entry, BETTER benchmarks a building's or portfolio's energy use against peers; quantifies energy, cost, and greenhouse gas (GHG) reduction potential; and recommends energy efficiency measures for individual buildings or portfolios, targeting specific energy savings levels. The source code of BETTER's modular, cross-platform analytical engine has previously been disclosed (2019-001) and is available on GitHub and can be adopted, redeveloped, and redistributed freely under an open-source license, allowing users to incorporate BETTER's analytical capabilities into their own software platforms and tools. The BETTER V.1.0 web application, developed with the Django web-framework and the Model-View-Controller (MVC) architecture being disclosed here, provides a graphical user interface (GUI) for any user to view the software tutorials, download and upload a data entry template, configure and run the BETTER analyses, and view the final analytical reports.

Szum, Carolyn↗