Engineering Papers⌕ Search

SEARCH · Engineering Papers

Results for “functional programming”

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 19 records

Programming Function via Soft Materials (PFvSM) (Final Report)

The PFvSM cluster at the University of Illinois greatly deepened the science of soft materials and expanded the means for embedding within them unprecedented functionalities. We pioneered a mesoscopic approach to materials design that combined leading competencies in fundamental experimental and theoretical soft matter science and fabrication that powerfully establishes equilibrium and nonequilibrium assembly of novel and complex building blocks as a preeminent contributor to progress in materials chemistry. Our cluster’s vision was an integrated program of work centered on soft matter science with the ultimate goal of impacting important energy technologies. As elementary units we employed function-encoded colloids, nanoparticles, large mesh fibrillar gels, deterministically fabricated networks and hybrid objects. These materials were employed as building blocks for diverse model systems that allowed fundamental soft matter principles of wide relevance to be established. Their assembly into materials with useful functional behavior provided new approaches to challenging problems in basic energy science including energy harvesting, transport and storage. To achieve these goals the cluster brought together a team of recognized world-leaders in materials synthesis and processing, in-situ characterization, theory and modeling, and materials design, integration and fabrication

36 MATERIALS SCIENCE↗

VeloxChem: A Python-driven density-functional theory program for spectroscopy simulations in high-performance computing environments

An open-source program named VeloxChem has been developed for the calculation of electronic real and complex linear response functions at the levels of Hartree–Fock and Kohn–Sham density functional theories. With an object-oriented program structure written in a Python/C++ layered fashion, VeloxChem enables time-efficient prototyping of novel scientific approaches without sacrificing computational efficiency, so that molecular systems involving up to and beyond 500 second-row atoms (or some 10,000 contracted and in part diffuse Gaussian basis functions) can be routinely addressed. In addition, VeloxChem is equipped with a polarizable embedding scheme for the treatment of the classical electrostatic interactions with an environment that in turn is modeled by atomic site charges and polarizabilities. The underlying hybrid message passing interface (MPI)/open multiprocessing (OpenMP) parallelization scheme makes VeloxChem suitable for execution in high-performance computing cluster environments, showing even slightly beyond linear scaling for the Fock matrix construction with use of up to 16,384 central processing unit (CPU) cores. An efficient—with respect to convergence rate and overall computational cost—multifrequency/gradient complex linear response equation solver enables calculations not only of conventional spectra, such as visible/ultraviolet/X-ray electronic absorption and circular dichroism spectra, but also time-resolved linear response signals as due to ultra-short weak laser pulses.

97 MATHEMATICS AND COMPUTING↗

Idiomatic Correctness-Checking via Julienne in Fortran 2023

This paper presents a unified approach to unit testing and runtime assertion checking using Fortran 2023. The paper describes the support for our approach in the Julienne framework. Julienne leverages recent Fortran standards to implement object-oriented design patterns, support testing parallel programs, and implement functional programming patterns in order to craft idioms inspired by natural-language expressions. The presented idioms employ novel operators to write expressions that evaluate to a test-diagnosis object encapsulating two components: (1) the test outcome or assertion outcome and (2) an automatically generated diagnostic string. Two other novel aspects of the approach include (1) the ability to enforce assertions inside pure procedures and (2) the ability to output rich diagnostic information inside pure procedures during error termination when assertions fail. The latter capability mitigates against a reason that Fortran programmers commonly cite for not writing pure procedures: difficulty obtaining useful program output inside pure procedures when debugging code. This paper demonstrates how the adoption of the proposed idioms leads naturally to a unifying theme across two otherwise disparate technologies: unit testing and runtime assertion checking. Finally, this paper describes the usage of the Julienne testing framework for writing unit tests and assertions in the Matcha high-performance computing application and the Fiats deep learning library.

Rouson, Damian↗

Differential programming enabled functional imaging with Lorentz transmission electron microscopy

Abstract Lorentz transmission electron microscopy is an advanced characterization technique that enables the simultaneous imaging of both the microstructure and functional properties of materials. Information such as magnetization and electric potentials is carried by the phase of the electron wave, and is lost during image acquisition. Various methods have been proposed to retrieve the phase of the electron wavefunction using intensities of the acquired images, most of which work only in the small defocus limit. Imaging at strong defoci not only carries more quantitative phase information, but is essential to the study of weak magnetic and electrostatic fields at the nanoscale. In this work we develop a method based on differentiable programming to solve the inverse problem of phase retrieval. We show that our method maintains a high spatial resolution and robustness against noise even at the upper defocus limit of the microscope. More importantly, our proposed method can go beyond recovering just the phase information. We demonstrate this by retrieving the electron-optical parameters of the contrast transfer function alongside the electron exit wavefunction.

97 MATHEMATICS AND COMPUTING↗

Phlex: Parallel, Hierarchical, and Layered EXecution of data-processing algorithms

Phlex is a computing framework supporting the parallel, hierarchical, and layered execution of data-processing algorithms. It is based on the functional-programming paradigm, thus guaranteeing thread-safety when invoking user-defined pure functions. Phlex allows users to specify arbitrary graph-based hierarchies of data organization, enabling more flexible processing of data as required by the constraints of the program.

Knoepfel, KyleJ. [Fermi National Accelerator Labor↗

Automatically parallelizing batch inference on deep neural networks using Fiats and Fortran 2023 `do concurrent`

This paper introduces novel programming strategies that leverage features of the Fortran 2023 standard of the International Standards Organization (ISO) to automatically parallelize computations on deep neural networks. The paper focuses on the interplay of object-oriented, parallel, and functional programming paradigms in the Fiats deep learning library. We demonstrate how several infrequently used language features play a role in enabling efficient, parallel execution. Specifically, the ability to explicitly declare that a procedure is pure facilitates inference in the context of the language’s loop-parallelism construct `do concurrent`. Also, explicitly prohibiting the overriding of a parent type’s type-bound procedures eliminates the need for dynamic dispatch in performance-critical code. Finally, this paper uses batch inference calculations on a neural network surrogate for atmospheric aerosol dynamics to demonstrate that LLVM Flang compiler’s automatic parallelization of `do concurrent` achieves roughly the same performance and scalability as achieved by OpenMP compiler directives. We also demonstrate that double-precision inference costs 37–72% longer runtime than default-real precision with most values in the range 57-60%.

Rouson, Damian↗

Los Alamos National Laboratory Nuclear Material Management and Storage Program: Storage Health Metrics

The Strategic Materials Sustainment Program (SMSP) supports activities needed to manage the National Nuclear Security Administration’s (NNSA) inventory of strategic materials. As part of the SMSP, the Nuclear Material Management and Storage (NMM&S) program at the Los Alamos National Laboratory (LANL) is responsible for: (1) safe and secure storage of the SMSP strategic materials and others, (2) analysis, forecasting, and management of accountable nuclear materials; and (3) disposition of nuclear material through the Office of Nuclear Materials Integration (ONMI). The nuclear material management (NMM) mission is to ensure efficient nuclear material management lifecycle activities at LANL. The storage program function includes the management of storage capabilities across the site, supply chain management of nuclear materials, storage requirements integration, and nuclear container management (i.e., procurement, compliance, and safety). This report identifies key performance indicators (KPI) and describes the criteria and metrics used to assess the health of the storage component of the NMM&S program. “Health” is the ability of a process, system, facility, or program to safely and reliably accomplish its required mission. A health assessment provides timely identification of significant risks to enable mission performance. Significant risks identified are most effectively mitigated, avoided, or eliminated by evaluating and coordinating with stakeholders to specifically target, document, and often proceduralize strategies directed towards risk reduction. An effective health assessment involves status measurements of specific metrics that are tied directly to representative KPIs for a program. This document will baseline the KPI, criteria, and specific metrics that will be used to measure the “health” of the LANL Storage Program (i.e., NMM is not included).

11 NUCLEAR FUEL CYCLE AND FUEL MATERIALS↗

The path towards functional nanoparticle-DNA origami composites

Nanoparticles (NPs) hold tremendous promise for diverse applications infields such as imaging, sensing, nanorobotics, and for optical and electronic materials. These applications often require precisely controlled interactions between multiple NPs or between NPs and other components. Hence, the organization of NPs into composite materials has been an active area of research. DNA origami nanotechnology offers a promising path forward with unparalleled control over complex nanoscale geometry and functionalization, programmed dynamic and mechanical properties, stimulus response to local or externally applied triggers, and capability of assembly into higher-order 1D, 2D, or 3D materials. Furthermore, DNA origami self-assembly is rapid and scalable, overcoming limitations of top-down NP organization methods. In this review, we outline the challenges, recent advances, and opportunities for NP-DNA origami composites. We go into depth on aspects of DNA origami that enhance materials function, such as dynamic actuation, and we discuss practical aspects involved in making NP-DNA composites. Whereas the vast majority of research in NP-DNA origami composite synthesis focuses on gold NPs, these methods can be generalized to other DNA-coated NPs, and therefore more broadly establish a path towards functional NP-DNA origami composites. We envision this review will serve as a guide to materials science and engineering researchers to pursue new materials based on NP-DNA composites.

77 NANOSCIENCE AND NANOTECHNOLOGY↗

Biocomposite thermoplastic polyurethanes containing evolved bacterial spores as living fillers to facilitate polymer disintegration

The field of hybrid engineered living materials seeks to pair living organisms with synthetic materials to generate biocomposite materials with augmented function since living systems can provide highly-programmable and complex behavior. Engineered living materials have typically been fabricated using techniques in benign aqueous environments, limiting their application. In this work, biocomposite fabrication is demonstrated in which spores from polymer-degrading bacteria are incorporated into a thermoplastic polyurethane using high-temperature melt extrusion. Bacteria are engineered using adaptive laboratory evolution to improve their heat tolerance to ensure nearly complete cell survivability during manufacturing at 135 °C. Furthermore, the overall tensile properties of spore-filled thermoplastic polyurethanes are substantially improved, resulting in a significant improvement in toughness. The biocomposites facilitate disintegration in compost in the absence of a microbe-rich environment. Finally, embedded spores demonstrate a rationally programmed function, expressing green fluorescent protein. This research provides a scalable method to fabricate advanced biocomposite materials in industrially-compatible processes.

36 MATERIALS SCIENCE↗

WORM (Write One, Read Many)

WORM (Write One, Run Many) is an easy to use, cross platform, embedded and extensible, functional programming language designed to facilitate the creation of input-decks for computer codes that use standard ASCII text files for input. WORM makes it easy to create generic (yet, complex and powerful) reusable models. Additionally its nature allows for complex calculations and routines to be coded once and easily reused, further simplifying the creation of input decks. WORM (Write One, Run Many) is a powerful and versatile tool designed to improve the efficiency of today’s criticality safety analyst by allowing: + input decks for parametric studies to be created quickly and easily, + calculations and variables to be imbedded into any input deck, thus allowing for meaningful parameter specifications, + problems to be specified using any combination of units, and + complex mathematically defined models to be created. A very simple syntax is employed, and therefore the WORM is easy to learn. A WORM model is essentially a standard input deck with some of its numerical values replaced by WORM code. WORM code may include and evaluate the following mathematical operators and functions: addition, subtraction, multiplication, division, exponentiation, modulus, sine, cosine, tangent, arcsine, arccosine, arctangent, the natural logarithm, logarithm base 10, integer truncation, absolute value, and random number. Several common constants, e.g., pi, e, and Avogadros’s Number (both as 6.022e23 and 0.6022), are predefined in WORM. Additionally, many unit conversion factors are also predefined: millimeters, meters, inches, feet, yards, and mils to centimeters; kilograms, pounds, and ounces to grams; liters, milliliters, gallons, and fluid ounces to cubic centimeters; and angular degrees to radians. For parametric studies, WORM supports various shorthand list specifications: the explicit step size, linear interpolation, and logarithmic interpolation. The list notation sequentially assigns multiple values to a name. WORM creates an input deck for each value of the name. If multiple lists are used, WORM steps through each list individually, i.e., WORM creates input decks corresponding to each and every permutation of the list values. Additionally, a library of standard material definitions and Perl subroutines are included. Any one of these files can be incorporated into the subject model with a simple WORM read command. WORM is completely written in Perl, the Practical Extraction and Reporting Language. Perl is one of the most portable programming languages available today. As such, the WORM works on practically any computer platform.

Sartor, Raymond↗

Proximal Galerkin: A Structure-Preserving Finite Element Method for Pointwise Bound Constraints

The proximal Galerkin finite element method is a high-order, low iteration complexity, nonlinear numerical method that preserves the geometric and algebraic structure of pointwise bound constraints in infinite-dimensional function spaces. This paper introduces the proximal Galerkin method and applies it to solve free boundary problems, enforce discrete maximum principles, and develop a scalable, mesh-independent algorithm for optimal design with pointwise bound constraints. This paper also introduces the latent variable proximal point (LVPP) algorithm, from which the proximal Galerkin method derives. When analyzing the classical obstacle problem, we discover that the underlying variational inequality can be replaced by a sequence of second-order partial differential equations (PDEs) that are readily discretized and solved with, e.g., the proximal Galerkin method. Throughout this work, we arrive at several contributions that may be of independent interest. These include (1) a semilinear PDE we refer to as the entropic Poisson equation; (2) an algebraic/geometric connection between high-order positivity-preserving discretizations and certain infinite-dimensional Lie groups; and (3) a gradient-based, bound-preserving algorithm for two-field, density-based topology optimization. The complete proximal Galerkin methodology combines ideas from nonlinear programming, functional analysis, tropical algebra, and differential geometry and can potentially lead to new synergies among these areas as well as within variational and numerical analysis. Open-source implementations of our methods accompany this work to facilitate reproduction and broader adoption.

97 MATHEMATICS AND COMPUTING↗

Tikiri—Towards a lightweight blockchain for IoT

Internet of Things (IoT) platforms have been deployed in several domains to enhance efficiency of business process and improve productivity. Most IoT platforms comprise of heterogeneous software and hardware components which can potentially introduce security and privacy challenges. Blockchain technology has been proposed as one of the solutions to realize IoT security by leveraging the (a) Immutable ledger, (b) Decentralized architecture and (c) Strong cryptography primitives. However, integrating blockchain platforms with IoT based applications presents several challenges due to lack of (a) acceptable performance on resource-constrained devices, (b) high transaction throughput, (c) keyword-based search and retrieve, (d) transaction back pressure operations, and (e) real-time response. In this paper, we propose a lightweight blockchain platform, “Tikiri”, for resource-constrained IoT devices. Tikiri uses Apache Kafka for the consensus and proposes new blockchain architecture to handle real-time transaction execution on the blockchain. Tikiri is characterized by functional programming and actor-based smart contract platform that realizes concurrent execution of transactions in the blockchain. Tikiri realizes a lightweight and scalable blockchain that can provides performance on the resource-constrained IoT devices.

97 MATHEMATICS AND COMPUTING↗

Rahasak—Scalable blockchain architecture for enterprise applications

Blockchain-based decentralized infrastructure has been adapted in various industries to handle the sensitive data in a privacy-preserving manner without trusting third parties. However, integrating state-of-the-art blockchain platforms with the scalable, enterprise-level applications result in several challenges. Current blockchain platforms do not support high transaction throughput, lack high scalability, and cannot provide real-time transaction processing and back-pressure operation handling in high transaction throughput applications(e.g Big data, IoT). In this paper, we propose a novel permissioned blockchain platform “Rahasak” for highly scalable, enterprise applications. Rahasak blockchain adopts the Apache Kafka-based consensus on top of a “Validate-Execute-Group” blockchain architecture to handle realtime transaction execution on the blockchain. The architecture is equipped with a functional programming and actor-based smart contract platform that enables concurrent execution of transactions in the blockchain. Rahasak supports high transaction throughput, high scalability, concurrent transaction execution, data analytics features. Finally, with Rahasak, we make blockchain more scalable, secure, structured and meaningful for further data analytics.

97 MATHEMATICS AND COMPUTING↗

A SQL to C compiler in 500 lines of code

Abstract We present the design and implementation of a SQL query processor that outperforms existing database systems and is written in just about 500 lines of Scala code – a convincing case study that high-level functional programming can handily beat C for systems-level programming where the last drop of performance matters. The key enabler is a shift in perspective toward generative programming. The core of the query engine is an interpreter for relational-algebra operations, written in Scala. Using the open-source lightweight modular staging framework, we turn this interpreter into a query compiler with very low effort. To do so, we capitalize on an old and widely known result from partial evaluation: the first Futamura projection, which states that a process that can specialize an interpreter to any given input program is equivalent to a compiler. In this context, we discuss lightweight modular staging programming patterns such as mixed-stage data structures (e.g., data records with static schema and dynamic field components) and techniques to generate low-level C code, including specialized data structures and data loading primitives.

Computer Science↗

PyFaults: A Python Toolkit for Stacking Fault Screening

PyFaults is an open-source Python library designed to model stacking fault disorder in crystalline materials and qualitatively assess the characteristic selective broadening effects in powder X-ray diffraction (PXRD). Here, the main capabilities of PyFaults are presented, including unit cell and supercell model construction, PXRD pattern calculation, assessment against experimental PXRD, and methods for rapid screening of candidate models within a set of possible stacking vectors and fault occurrence probabilities. This program aims to serve as a computationally inexpensive tool for identifying and screening potential stacking fault models in materials with planar disorder. Three diverse case studies, involving GaN, Li2MnO3 and Li3YCl6, are presented to illustrate the program functionality across a range of structure types and stacking fault modalities.

MATHEMATICS AND COMPUTING↗

Command-line Interface for Gamma Lighthouse Detectors

This report is a light-weight functional program for interacting with the Gamma Lighthouse Detectors (GLD) made by Quaesta Instruments. The program creates a TCP connection and requests live reporting from the detector. The messages are received in hexadecimal format then saved to a data file.

46 INSTRUMENTATION RELATED TO NUCLEAR SCIENCE AND ↗

Material Developments for 3D/4D Additive Manufacturing (AM) Technologies

Additive Manufacturing (AM), or 3D printing, is a unique technology in which structurally complex objects can be easily manufactured. While AM allows for the creation of intricate 3D objects, these objects are inactive and motionless. With recent incorporation of a “pre-programmed functionality’’ to the 3D printed objects, a new concept has emerged, 4D printing. Specifically, the 4D printing technology enables a static 3D printed object to change its shape, functionality or property over time upon exposure to a specific stimulus such as heat, stress, light, pH, and moisture, etc. We designed and produced compact 3D/4D printable materials that can be used as (a) structural components of the unmanned aerial vehicles (UAVs), and (b) as hydrogen storage materials that supply hydrogen to a fuel cell to expand the operational reach, namely flight time, and endurance of the UA Vs.

36 MATERIALS SCIENCE↗