Engineering Papers⌕ Search

SEARCH · Engineering Papers

Results for “application programming interfaces”

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 1,081 records · Page 60

LEGION: Lightweight Expandable Group of Independently Operating Nodes

LEGION is a lightweight C-language software library that enables distributed asynchronous data processing with a loosely coupled set of compute nodes. Loosely coupled means that a node can offer itself in service to a larger task at any time and can withdraw itself from service at any time, provided it is not actively engaged in an assignment. The main program, i.e., the one attempting to solve the larger task, does not need to know up front which nodes will be available, how many nodes will be available, or at what times the nodes will be available, which is normally the case in a "volunteer computing" framework. The LEGION software accomplishes its goals by providing message-based, inter-process communication similar to MPI (message passing interface), but without the tight coupling requirements. The software is lightweight and easy to install as it is written in standard C with no exotic library dependencies. LEGION has been demonstrated in a challenging planetary science application in which a machine learning system is used in closed-loop fashion to efficiently explore the input parameter space of a complex numerical simulation. The machine learning system decides which jobs to run through the simulator; then, through LEGION calls, the system farms those jobs out to a collection of compute nodes, retrieves the job results as they become available, and updates a predictive model of how the simulator maps inputs to outputs. The machine learning system decides which new set of jobs would be most informative to run given the results so far; this basic loop is repeated until sufficient insight into the physical system modeled by the simulator is obtained.

Burl, Michael C.↗

Application of higher harmonic blade feathering on the OH-6A helicopter for vibration reduction

The design, implementation, and flight test results of higher harmonic blade feathering for vibration reduction on the OH-6A helicopter are described. The higher harmonic control (HHC) system superimposes fourth harmonic inputs upon the stationary swashplate. These inputs are transformed into 3P, 4P and 5P blade feathering angles. This results in modified blade loads and reduced fuselage vibrations. The primary elements of this adaptive vibration suppression system are: (1) acceleration transducers sensing the vibratory response of the fuselage; (2) a higher harmonic blade pitch actuator system; (3) a flightworthy microcomputer, incorporating the algorithm for reducing vibrations, and (4) a signal conditioning system, interfacing between the sensors, the microcomputer and the HHC actuators. The program consisted of three distinct phases. First, the HHC system was designed and implemented on the MDHC OH-6A helicopter. Then, the open loop, or manual controlled, flight tests were performed, and finally, the closed loop adaptive control system was tested. In 1983, one portion of the closed loop testing was performed, and in 1984, additional closed loop tests were conducted with improved software. With the HHC system engaged, the 4P pilot seat vibration levels were significantly lower than the baseline ON-6A levels. Moreover, the system did not adversely affect blade loads or helicopter performance. In conclusion, this successful proof of concept project demonstrated HHC to be a viable vibration suppression mechanism.

Straub, F. K.↗

Block-structured, equal-workload, multi-grid-nesting interface for the Boussinesq wave model FUNWAVE-TVD (Total Variation Diminishing)

Abstract. We describe the development of a block-structured, equal-CPU-load (central processing unit), multi-grid-nesting interface for the Boussinesq wave model FUNWAVE-TVD (Fully Nonlinear Boussinesq Wave Model with Total Variation Diminishing Solver). The new model framework does not interfere with the core solver, and thus the core program, FUNWAVE-TVD, is still a standalone model used for a single grid. The nesting interface manages the time sequencing and two-way nesting processes between the parent grid and child grid with grid refinement in a hierarchical manner. Workload balance in the MPI-based (message passing interface) parallelization is handled by an equal-load scheme. A strategy of shared array allocation is applied for data management that allows for a large number of nested grids without creating additional memory allocations. Four model tests are conducted to verify the nesting algorithm with assessments of model accuracy and the robustness in the application in modeling transoceanic tsunamis and coastal effects.

Choi, Young-Kwang↗

Physics through the 1990s: Scientific interfaces and technological applications

The volume examines the scientific interfaces and technological applications of physics. Twelve areas are dealt with: biological physics-biophysics, the brain, and theoretical biology; the physics-chemistry interface-instrumentation, surfaces, neutron and synchrotron radiation, polymers, organic electronic materials; materials science; geophysics-tectonics, the atmosphere and oceans, planets, drilling and seismic exploration, and remote sensing; computational physics-complex systems and applications in basic research; mathematics-field theory and chaos; microelectronics-integrated circuits, miniaturization, future trends; optical information technologies-fiber optics and photonics; instrumentation; physics applications to energy needs and the environment; national security-devices, weapons, and arms control; medical physics-radiology, ultrasonics, MNR, and photonics. An executive summary and many chapters contain recommendations regarding funding, education, industry participation, small-group university research and large facility programs, government agency programs, and computer database needs.

Source record↗

Engineering data compendium. Human perception and performance, volume 3

The concept underlying the Engineering Data Compendium was the product of a research and development program (Integrated Perceptual Information for Designers project) aimed at facilitating the application of basic research findings in human performance to the design of military crew systems. The principal objective was to develop a workable strategy for: (1) identifying and distilling information of potential value to system design from existing research literature, and (2) presenting this technical information in a way that would aid its accessibility, interpretability, and applicability by system designers. The present four volumes of the Engineering Data Compendium represent the first implementation of this strategy. This is Volume 3, containing sections on Human Language Processing, Operator Motion Control, Effects of Environmental Stressors, Display Interfaces, and Control Interfaces (Real/Virtual).

Boff, Kenneth R.↗

NASA KSC Intern Final Paper

I am finishing up my internship with the Application & Simulation group at NASA Kennedy Space Center (KSC). During this internship I was working with the Plant Habitat development team. The Plant Habitat provides a large enclosed, environmentally controlled chamber designed to support commercial and fundamental plant research onboard the International Space Station (ISS). The work that I did was for the prototype of the Graphical User Interface (GUI) display. This display is used by the scientists to monitor the system health, start new experiment configurations, and get real-time information about the experiment as its being run. This display is developed using the Qt Framework Integrated Development Environment (IDE) and the programming language C++.

Colton, Andrew↗

Reimagining Disassembly Interfaces With Visualization: Combining Instruction Tracing and Control Flow With DisViz

In applications where efficiency is critical, developers may examine their compiled binaries, seeking to understand how the compiler transformed their source code and what performance implications that transformation may have. This analysis is challenging due to the vast number of disassembled binary instructions and the many-to-many mappings between them and the source code. These problems are exacerbated as source code size increases, giving the compiler more freedom to map and disperse binary instructions across the disassembly space. Interfaces for disassembly typically display instructions as an unstructured listing or sacrifice the order of execution. Here, we design a new visual interface for disassembly code that combines execution order with control flow structure, enabling analysts to both trace through code and identify familiar aspects of the computation. Central to our approach is a novel layout of instructions grouped into basic blocks that displays a looping structure in an intuitive way. We add to this disassembly representation a unique block-based mini-map that leverages our layout and shows context across thousands of disassembly instructions. Finally, we embed our disassembly visualization in a web-based tool, DisViz, which adds dynamic linking with source code across the entire application. DizViz was developed in collaboration with program analysis experts following design study methodology and was validated through evaluation sessions with ten participants from four institutions. Participants successfully completed the evaluation tasks, hypothesized about compiler optimizations, and noted the utility of our new disassembly view. Our evaluation suggests that our new integrated view helps application developers in understanding and navigating disassembly code.

Computer science↗

Towards a decision support system for space flight operations

The Mission Operations Directorate (MOD) at the Johnson Space Center (JSC) has put in place a Model Based Systems Engineering (MBSE) technological framework for the development and execution of the Flight Production Process (FPP). This framework has provided much added value and return on investment to date. This paper describes a vision for a model based Decision Support System (DSS) for the development and execution of the FPP and its design and development process. The envisioned system extends the existing MBSE methodology and technological framework which is currently in use. The MBSE technological framework currently in place enables the systematic collection and integration of data required for building an FPP model for a diverse set of missions. This framework includes the technology, people and processes required for rapid development of architectural artifacts. It is used to build a feasible FPP model for the first flight of spacecraft and for recurrent flights throughout the life of the program. This model greatly enhances our ability to effectively engage with a new customer. It provides a preliminary work breakdown structure, data flow information and a master schedule based on its existing knowledge base. These artifacts are then refined and iterated upon with the customer for the development of a robust end-to-end, high-level integrated master schedule and its associated dependencies. The vision is to enhance this framework to enable its application for uncertainty management, decision support and optimization of the design and execution of the FPP by the program. Furthermore, this enhanced framework will enable the agile response and redesign of the FPP based on observed system behavior. The differences between the anticipated system behavior and the observed behavior may be due to the processing of tasks internally, or due to external factors such as changes in program requirements or conditions associated with other organizations that are outside of MOD. The paper provides a roadmap for the four increments of this vision. These increments include (1) the existing capabilities (2) hardware and software system components and interfaces with the NASA ground system, (3) uncertainty management and (4) re-planning and automated execution. Each of these increments provides value independently; but some may also enable building of a subsequent increment.

Ruszkowski, James↗

Structural optimization - Challenges and opportunities

A review of developments in structural optimization techniques and their interface with growing computer capabilities is presented. Structural design steps comprise functional definition of an object, an evaluation phase wherein external influences are quantified, selection of the design concept, material, object geometry, and the internal layout, and quantification of the physical characteristics. Optimization of a fully stressed design is facilitated by use of nonlinear mathematical programming which permits automated definition of the physics of a problem. Design iterations terminate when convergence is acquired between mathematical and physical criteria. A constrained minimum algorithm has been formulated using an Augmented Lagrangian approach and a generalized reduced gradient to obtain fast convergence. Various approximation techniques are mentioned. The synergistic application of all the methods surveyed requires multidisciplinary teamwork during a design effort.

Sobieszczanski-Sobieski, J.↗

Structural optimization: Challenges and opportunities

A review of developments in structural optimization techniques and their interface with growing computer capabilities is presented. Structural design steps comprise functional definition of an object, an evaluation phase wherein external influences are quantified, selection of the design concept, material, object geometry, and the internal layout, and quantification of the physical characteristics. Optimization of a fully stressed design is facilitated by use of nonlinear mathematical programming which permits automated definition of the physics of a problem. Design iterations terminate when convergence is acquired between mathematical and physical criteria. A constrained minimum algorithm has been formulated using an Augmented Lagrangian approach and a generalized reduced gradient to obtain fast convergence. Various approximation techniques are mentioned. The synergistic application of all the methods surveyed requires multidisciplinary teamwork during a design effort.

Sobieszczanski-Sobieski, J.↗

CEA2022: A Modernization of NASA Glenn’s Software CEA (Chemical Equilibrium with Applications)

The software program “Chemical Equilibrium with Applications” (CEA) is used to solve chemical equilibrium, and compute thermodynamic and transport properties of the resulting mixture, and also has special solvers dedicated to rocket, shock, and detonation problems. We have recently completed a full re-write of CEA with modernization and improvements, called “CEA2022”. In this paper, we will give an overview of CEA2022’s features, and discuss some of the fundamental equations used by CEA2022, as well as the fundamental assumptions, in order to provide users with a complete understanding of the software’s methodology. Several enhancements have been made to the software, including modern software development practices, interface improvements, and additional features. The feature enhancements include: running cases in parallel with thread safe solves, thermodynamic and transport database updates, and allowing for negative and inert reactants. In terms of interface improvements, we have made CEA a reusable library by adding APIs for multiple languages, including Python, Matlab, Excel, Fortran, and C. The subroutine interface allows for integration with other applications, including flow-solver integration (i.e. with CFD). We also compare results between CEA2022 and the previous version (CEA2) as a validation of the new software.

chemical equilibrium↗

Phase-Field Modeling of Materials Interfaces and Nanostructures

Nanostructured materials offer unique properties for a wide range of energy applications. Among various known processing methods, liquid metal dealloying (LMD)—the selective dissolution of a base alloy element into a metallic melt—has emerged as a powerful technique to produce a new class of nano-/meso-scale open porous and bicontinuous composite structures with ultra-high interfacial area. LMD has recently been complemented by the advent of vapor phase dealloying (VPD), a novel technique that exploits the selective evaporation of one element from a parent alloy containing elements with very different vapor pressures, thereby enabling to fabricate open nanoporous structures of various elements from less-noble metals to inorganic elements regardless of their chemical activity without requiring high LMD temperatures and chemical etching. Together LMD and VPD have greatly expanded the scope of dealloying techniques, limited by traditional electrochemical means to noble metals, and boosted the design of new functional and structural materials that combine a wide variety of elements. Topologically-connected open porous structures with ultra-high surface area allow mass transport within the structure while preserving structural integrity, enabling them to serve as catalysts, fuel cells, supercapacitors, or high-capacity battery materials. Bicontinuous composite structures in turn can display high strength and high ductility or superior radiation-damage resistance due to the ultra-high interface area between interpenetrating solid phases. This research program makes use of state-of-the-art computational methods to understand at a basic level the self-organizing dealloying process with main focus on dealloying kinetics and interfacial pattern formation at the dealloying front controlling initial structure size, topology, and phase compositions. Phase-field simulation studies of LMD focus on solid solutions, line compounds, and intermetallic systems that can form ternary composites by nucleation and growth of a new phase. Studies of VPD employ phase-field modeling and a hybrid method combining a kinetic Monte Carlo (KMC) model of evaporation and surface diffusion with molecular dynamics for vapor-phase transport inside nanopores. Simulations explore mechanisms of interface- and diffusion-controlled dealloying kinetics, both observed in VPD but not fundamentally understood. In addition, our newly developed multi-physics phase-field approach of large-volume-change phase transformations is being used to model novel 3D anode geometries based on dealloyed nanoporous structures including novel sandwiched graphene/Si/silica for highrate Li ion battery. Those studies are aimed at elucidating geometric design principles that improve mechanical stability. We expect this research to enhance the capability to tailor nano-/mesoscale structures for a wide range of energy-related materials applications and to yield further advances in computational methodologies that benefit a broad materials research community.

77 NANOSCIENCE AND NANOTECHNOLOGY↗

UPC++ v1.0 Specification, Revision 2020.10.0

UPC++ is a C++11 library providing classes and functions that support Partitioned Global Address Space (PGAS) programming. The key communication facilities in UPC++ are one-sided Remote Memory Access (RMA) and Remote Procedure Call (RPC). All communication operations are syntactically explicit and default to non-blocking; asynchrony is managed through the use of futures, promises and continuation callbacks, enabling the programmer to construct a graph of operations to execute asynchronously as high-latency dependencies are satisfied. A global pointer abstraction provides system-wide addressability of shared memory, including host and accelerator memories. The parallelism model is primarily process-based, but the interface is thread-safe and designed to allow efficient and expressive use in multi-threaded applications. The interface is designed for extreme scalability throughout, and deliberately avoids design features that could inhibit scalability.

97 MATHEMATICS AND COMPUTING↗

UPC++ v1.0 Specification, Revision 2021.9.0

UPC++ is a C++ library providing classes and functions that support Partitioned Global Address Space (PGAS) programming. The key communication facilities in UPC++ are one-sided Remote Memory Access (RMA) and Remote Procedure Call (RPC). All communication operations are syntactically explicit and default to non-blocking; asynchrony is managed through the use of futures, promises and continuation callbacks, enabling the programmer to construct a graph of operations to execute asynchronously as high-latency dependencies are satisfied. A global pointer abstraction provides system-wide addressability of shared memory, including host and accelerator memories. The parallelism model is primarily process-based, but the interface is thread-safe and designed to allow efficient and expressive use in multi-threaded applications. The interface is designed for extreme scalability throughout, and deliberately avoids design features that could inhibit scalability.

96 KNOWLEDGE MANAGEMENT AND PRESERVATION↗

UPC++ v1.0 Specification (Rev. 2023.9.0)

UPC++ is a C++ library providing classes and functions that support Partitioned Global Address Space (PGAS) programming. The key communication facilities in UPC++ are one-sided Remote Memory Access (RMA) and Remote Procedure Call (RPC). All communication operations are syntactically explicit and default to non-blocking; asynchrony is managed through the use of futures, promises and continuation callbacks, enabling the programmer to construct a graph of operations to execute asynchronously as high-latency dependencies are satisfied. A global pointer abstraction provides system-wide addressability of shared memory, including host and accelerator memories. The parallelism model is primarily process-based, but the interface is thread-safe and designed to allow efficient and expressive use in multi-threaded applications. The interface is designed for extreme scalability throughout, and deliberately avoids design features that could inhibit scalability.

97 MATHEMATICS AND COMPUTING↗

UPC++ v1.0 Specification (Revision 2022.3.0)

UPC++ is a C++ library providing classes and functions that support Partitioned Global Address Space (PGAS) programming. The key communication facilities in UPC++ are one-sided Remote Memory Access (RMA) and Remote Procedure Call (RPC). All communication operations are syntactically explicit and default to non-blocking; asynchrony is managed through the use of futures, promises and continuation callbacks, enabling the programmer to construct a graph of operations to execute asynchronously as high-latency dependencies are satisfied. A global pointer abstraction provides system-wide addressability of shared memory, including host and accelerator memories. The parallelism model is primarily process-based, but the interface is thread-safe and designed to allow efficient and expressive use in multi-threaded applications. The interface is designed for extreme scalability throughout, and deliberately avoids design features that could inhibit scalability.

97 MATHEMATICS AND COMPUTING↗

UPC++ v1.0 Specification, Revision 2023.3.0

UPC++ is a C++ library providing classes and functions that support Partitioned Global Address Space (PGAS) programming. The key communication facilities in UPC++ are one-sided Remote Memory Access (RMA) and Remote Procedure Call (RPC). All communication operations are syntactically explicit and default to non-blocking; asynchrony is managed through the use of futures, promises and continuation callbacks, enabling the programmer to construct a graph of operations to execute asynchronously as high-latency dependencies are satisfied. A global pointer abstraction provides system-wide addressability of shared memory, including host and accelerator memories. The parallelism model is primarily process-based, but the interface is thread-safe and designed to allow efficient and expressive use in multi-threaded applications. The interface is designed for extreme scalability throughout, and deliberately avoids design features that could inhibit scalability.

97 MATHEMATICS AND COMPUTING↗

UPC++ v1.0 Specification (Revision 2021.3.0)

UPC++ is a C++11 library providing classes and functions that support Partitioned Global Address Space (PGAS) programming. The key communication facilities in UPC++ are one-sided Remote Memory Access (RMA) and Remote Procedure Call (RPC). All communication operations are syntactically explicit and default to non-blocking; asynchrony is managed through the use of futures, promises and continuation callbacks, enabling the programmer to construct a graph of operations to execute asynchronously as high-latency dependencies are satisfied. A global pointer abstraction provides system-wide addressability of shared memory, including host and accelerator memories. The parallelism model is primarily process-based, but the interface is thread-safe and designed to allow efficient and expressive use in multi-threaded applications. The interface is designed for extreme scalability throughout, and deliberately avoids design features that could inhibit scalability.

97 MATHEMATICS AND COMPUTING↗