Search NASA⌕ Search

SEARCH · Search NASA

Results for “computer 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 775 records · Page 43

ROCOPT: A user friendly interactive code to optimize rocket structural components

ROCOPT is a user-friendly, graphically-interfaced, microcomputer-based computer program (IBM compatible) that optimizes rocket components by minimizing the structural weight. The rocket components considered are ring stiffened truncated cones and cylinders. The applied loading is static, and can consist of any combination of internal or external pressure, axial force, bending moment, and torque. Stress margins are calculated by means of simple closed form strength of material type equations. Stability margins are determined by approximate, orthotropic-shell, closed-form equations. A modified form of Powell's method, in conjunction with a modified form of the external penalty method, is used to determine the minimum weight of the structure subject to stress and stability margin constraints, as well as user input constraints on the structural dimensions. The graphical interface guides the user through the required data prompts, explains program options and graphically displays results for easy interpretation.

Rule, William K.↗

Upgrade of Core Conduction Cooldown Test Facility Control System

The CCCTF was designed and installed at ORNL in the 1990s for high-temperature gas-cooled reactor accident simulation. It is located within a modular hot cell housed in the IFEL facility. In 2008 and 2009, modifications were made to the CCCTF in preparation for AGR safety testing. A new airlock was designed and installed to better support periodic exchange of the fission product deposition cups while maintaining the fuel at safety test temperature, and modifications were made to add routines to the existing user interface software for computer-controlled automation of the He sweep gas flow and liquid nitrogen supply to the 85Kr cold traps. However, the furnace control hardware and software remained essentially unchanged. At the conclusion of the AGR-1 and AGR-2 PIE campaigns, continued use of the CCCTF was in question because of the gradual obsolescence of the hardware and software used to control the furnace and ancillary systems that make up the CCCTF. Therefore, an effort was undertaken to replace all the obsolete components with new hardware and update the software to increase system reliability and ensure this capability’s maintenance for future research and fuel qualification efforts. The modifications included creating a new National Instruments (NI) LabVIEW-based control system with a graphical user interface (GUI).

11 NUCLEAR FUEL CYCLE AND FUEL MATERIALS↗

PLUM: Parallel Load Balancing for Unstructured Adaptive Meshes

Dynamic mesh adaption on unstructured grids is a powerful tool for computing large-scale problems that require grid modifications to efficiently resolve solution features. Unfortunately, an efficient parallel implementation is difficult to achieve, primarily due to the load imbalance created by the dynamically-changing nonuniform grid. To address this problem, we have developed PLUM, an automatic portable framework for performing adaptive large-scale numerical computations in a message-passing environment. First, we present an efficient parallel implementation of a tetrahedral mesh adaption scheme. Extremely promising parallel performance is achieved for various refinement and coarsening strategies on a realistic-sized domain. Next we describe PLUM, a novel method for dynamically balancing the processor workloads in adaptive grid computations. This research includes interfacing the parallel mesh adaption procedure based on actual flow solutions to a data remapping module, and incorporating an efficient parallel mesh repartitioner. A significant runtime improvement is achieved by observing that data movement for a refinement step should be performed after the edge-marking phase but before the actual subdivision. We also present optimal and heuristic remapping cost metrics that can accurately predict the total overhead for data redistribution. Several experiments are performed to verify the effectiveness of PLUM on sequences of dynamically adapted unstructured grids. Portability is demonstrated by presenting results on the two vastly different architectures of the SP2 and the Origin2OOO. Additionally, we evaluate the performance of five state-of-the-art partitioning algorithms that can be used within PLUM. It is shown that for certain classes of unsteady adaption, globally repartitioning the computational mesh produces higher quality results than diffusive repartitioning schemes. We also demonstrate that a coarse starting mesh produces high quality load balancing, at a fraction of the cost required a fine initial mesh. Results indicate that our parallel load balancing strategy will remain viable on large numbers of processors.

Oliker, Leonid↗

An investigation to determine the producibility of a 3-D braider and bias direction weaving loom

The development of prototype machines for the production of generalized braid patterns is described. Mechanical operating principles and control strategies are presented for two prototype machines which were fabricated and evaluated. Both machines represent advances over current techniques for forming composite material preforms by enabling near ideal control of fiber orientation. Furthermore, they overcome both the lack of general control of produced fiber architectures and the complexity of other weaving processes that were produced for the same purpose. One prototype, the modified Farley braider, consists of an array of turntables which can be rotated 90 degrees and returned; hence, they can form tracks in the x and y axis. Yarn ends are transported about the surface formed by the turntables using motorized tractors. These tractors are controlled using an optical link with a control circuit and host computer. The tractors are powered through electrical contact with the turntables. The necessary relative motions are produced by a series of linear tractor moves combined with a sequence of turntable rotations. The movement of the tractors about the surface causes the yarns to produce the desired braiding pattern. The second device, the shuttle plate braider, consists of a braiding surface formed by an array of square elements, each separated from its neighbor by a gap. Beneath this surface lies a shuttle plate, which reciprocates first in one axis and then in the other. As this movement takes place, yarn carrying shuttles engage and disengage the plate by means of solenoid activated pins. By selective engagement and disengagement, the shuttles can move the yarn ends in any desired pattern, forming the desired braid. Control power, and control signals, are transmitted from the electronic interface circuit and host computer, via the braiding surface through electrical contact with the shuttles. Motive power is proved to the shuttles by motion of the shuttle plate, which is passively driven using pneumatic rams. Each shuttle is a simple device that uses only a solenoid to engage the plate and is a simple device that uses only a solenoid to engage the plate and is independently controllable. When compared with each other, the modified Farley braider has the advantage of speed, and the shuttle plate braider the advantage of mechanical control and simplicity.

Huey, Cecil O., Jr.↗

UPC++ v1.0 Programmer’s Guide (Revision 2022.3.0)

UPC++ is a C++ library that supports Partitioned Global Address Space (PGAS) programming. It is designed for writing efficient, scalable parallel programs on distributed-memory parallel computers. The key communication facilities in UPC++ are one-sided Remote Memory Access (RMA) and Remote Procedure Call (RPC). The UPC++ control model is single program, multiple-data (SPMD), with each separate constituent process having access to local memory as it would in C++. The PGAS memory model additionally provides one-sided RMA communication to a global address space, which is allocated in shared segments that are distributed over the processes. UPC++ also features Remote Procedure Call (RPC) communication, making it easy to move computation to operate on data that resides on remote processes. UPC++ was designed to support exascale high-performance computing, and the library interfaces and implementation are focused on maximizing scalability. In UPC++, all communication operations are syntactically explicit, which encourages programmers to consider the costs associated with communication and data movement. Moreover, all communication operations are asynchronous by default, encouraging programmers to seek opportunities for overlapping communication latencies with other useful work. UPC++ provides expressive and composable abstractions designed for efficiently managing aggressive use of asynchrony in programs. Together, these design principles are intended to enable programmers to write applications using UPC++ that perform well even on hundreds of thousands of cores.

97 MATHEMATICS AND COMPUTING↗

Understanding the use of message passing interface in exascale proxy applications

The Exascale Computing Project (ECP) focuses on the development of future exascale-capable applications. Most ECP applications use the message passing interface (MPI) as their parallel programming model with mini-apps serving as proxies. This paper explores the explicit usage of MPI in such ECP proxy applications. We empirically analyze 14 proxy applications from the ECP Proxy Apps Suite. We use the MPI profiling interface (PMPI) to collect MPI usage patterns in ECP proxy apps. Our analysis shows that a small subset of features from MPI is commonly used in the proxies of exascale-capable applications, even when they reference third-party libraries. Overall, this study is intended to provide a better understanding of the use of MPI in current exascale applications. The findings can help focus software investments made for exascale systems in the MPI middleware including optimization, fault-tolerance, tuning, and hardware-offload.

97 MATHEMATICS AND COMPUTING↗

An interface-aware sub-scale dynamics multi-material cell model for solids with void closure and opening at all speeds

Here, we present a multi-material cell model (closure model) for demanding arbitrary Lagrangian-Eulerian (ALE) simulations of fluids and solids. It is based on the interface-aware sub-scale dynamics (IASSD) approach which utilizes the exact material interface geometry within the computational cell to calculate internal material interactions. Our formulation of the closure model also aims to improve the accuracy in low-speed impact events. Voids are used to represent ambient vacuum and internal free boundaries of the distinct materials. Void regions can close and open at contact surfaces, allowing a transition from contact physics to free motion in vacuum. The coupling of void closure and opening with a new formulation of the IASSD model for solids is tested on several one- and two-dimensional numerical examples, ranging from gas expansion in vacuum to planar and round object impacts at various speeds.

42 ENGINEERING↗

UPC++ v1.0 Programmer’s Guide, Revision 2022.9.0

UPC++ is a C++ library that supports Partitioned Global Address Space (PGAS) programming. It is designed for writing efficient, scalable parallel programs on distributed-memory parallel computers. The key communication facilities in UPC++ are one-sided Remote Memory Access (RMA) and Remote Procedure Call (RPC). The UPC++ control model is single program, multiple-data (SPMD), with each separate constituent process having access to local memory as it would in C++. The PGAS memory model additionally provides one-sided RMA communication to a global address space, which is allocated in shared segments that are distributed over the processes. UPC++ also features Remote Procedure Call (RPC) communication, making it easy to move computation to operate on data that resides on remote processes. UPC++ was designed to support exascale high-performance computing, and the library interfaces and implementation are focused on maximizing scalability. In UPC++, all communication operations are syntactically explicit, which encourages programmers to consider the costs associated with communication and data movement. Moreover, all communication operations are asynchronous by default, encouraging programmers to seek opportunities for overlapping communication latencies with other useful work. UPC++ provides expressive and composable abstractions designed for efficiently managing aggressive use of asynchrony in programs. Together, these design principles are intended to enable programmers to write applications using UPC++ that perform well even on hundreds of thousands of cores.

97 MATHEMATICS AND COMPUTING↗

UPC++ v1.0 Programmer’s Guide (Rev. 2023.9.0)

UPC++ is a C++ library that supports Partitioned Global Address Space (PGAS) programming. It is designed for writing efficient, scalable parallel programs on distributed-memory parallel computers. The key communication facilities in UPC++ are one-sided Remote Memory Access (RMA) and Remote Procedure Call (RPC). The UPC++ control model is single program, multiple-data (SPMD), with each separate constituent process having access to local memory as it would in C++. The PGAS memory model additionally provides one-sided RMA communication to a global address space, which is allocated in shared segments that are distributed over the processes. UPC++ also features Remote Procedure Call (RPC) communication, making it easy to move computation to operate on data that resides on remote processes. UPC++ was designed to support exascale high-performance computing, and the library interfaces and implementation are focused on maximizing scalability. In UPC++, all communication operations are syntactically explicit, which encourages programmers to consider the costs associated with communication and data movement. Moreover, all communication operations are asynchronous by default, encouraging programmers to seek opportunities for overlapping communication latencies with other useful work. UPC++ provides expressive and composable abstractions designed for efficiently managing aggressive use of asynchrony in programs. Together, these design principles are intended to enable programmers to write applications using UPC++ that perform well even on hundreds of thousands of cores.

97 MATHEMATICS AND COMPUTING↗

UPC++ v1.0 Programmer’s Guide, Revision 2023.3.0

UPC++ is a C++ library that supports Partitioned Global Address Space (PGAS) programming. It is designed for writing efficient, scalable parallel programs on distributed-memory parallel computers. The key communication facilities in UPC++ are one-sided Remote Memory Access (RMA) and Remote Procedure Call (RPC). The UPC++ control model is single program, multiple-data (SPMD), with each separate constituent process having access to local memory as it would in C++. The PGAS memory model additionally provides one-sided RMA communication to a global address space, which is allocated in shared segments that are distributed over the processes. UPC++ also features Remote Procedure Call (RPC) communication, making it easy to move computation to operate on data that resides on remote processes. UPC++ was designed to support exascale high-performance computing, and the library interfaces and implementation are focused on maximizing scalability. In UPC++, all communication operations are syntactically explicit, which encourages programmers to consider the costs associated with communication and data movement. Moreover, all communication operations are asynchronous by default, encouraging programmers to seek opportunities for overlapping communication latencies with other useful work. UPC++ provides expressive and composable abstractions designed for efficiently managing aggressive use of asynchrony in programs. Together, these design principles are intended to enable programmers to write applications using UPC++ that perform well even on hundreds of thousands of cores.

97 MATHEMATICS AND COMPUTING↗

Robust 3D multi-material hydrodynamics using discontinuous Galerkin methods

A high-order discontinuous Galerkin (DG) method is presented for nonequilibrium multi-material (m ≥ 2) flow with sharp interfaces. Material interfaces are reconstructed using the algebraic THINC approach, resulting in a sharp interface resolution. The system assumes stiff velocity relaxation and pressure nonequilibrium. The presented DG method uses Dubiner's orthogonal basis functions on tetrahedral elements. This results in a unique combination of sharp multimaterial interfaces and high-order accurate solutions in smooth single-material regions. A novel shock indicator based on the interface conservation condition is introduced to mark regions with discontinuities. Slope limiting techniques are applied only in these regions so that nonphysical oscillations are eliminated while maintaining high-order accuracy in smooth regions. A local projection is applied on the limited solution to ensure discrete closure law preservation. The effectiveness of this novel limiting strategy is demonstrated for complex three-dimensional multi-material problems, where robustness of the method is critical. The presented numerical problems demonstrate that more accurate and efficient multi-material solutions can be obtained by the DG method, as compared to second-order finite volume methods.

97 MATHEMATICS AND COMPUTING↗

Application-Program-Installer Builder

A computer program builds application programming interfaces (APIs) and related software components for installing and uninstalling application programs in any of a variety of computers and operating systems that support the Java programming language in its binary form. This program is partly similar in function to commercial (e.g., Install-Shield) software. This program is intended to enable satisfaction of a quasi-industry-standard set of requirements for a set of APIs that would enable such installation and uninstallation and that would avoid the pitfalls that are commonly encountered during installation of software. The requirements include the following: 1) Properly detecting prerequisites to an application program before performing the installation; 2) Properly registering component requirements; 3) Correctly measuring the required hard-disk space, including accounting for prerequisite components that have already been installed; and 4) Correctly uninstalling an application program. Correct uninstallation includes (1) detecting whether any component of the program to be removed is required by another program, (2) not removing that component, and (3) deleting references to requirements of the to-be-removed program for components of other programs so that those components can be properly removed at a later time.

Wolgast, Paul↗

System and Method for Providing a Climate Data Analytic Services Application Programming Interface Distribution Package

A system, method and computer-readable storage devices for providing a climate data analytic services application programming interface distribution package. The example system can provide various components. The system provides a climate data analytic services application programming interface library that enables software applications running on a client device to invoke the capabilities of a climate data analytic service. The system provides a command-line interface that provides a means of interacting with a climate data analytic service by issuing commands directly to the system's server interface. The system provides sample programs that call on the capabilities of the application programming interface library and can be used as templates for the construction of new client applications. The system can also provide test utilities, build utilities, service integration utilities, and documentation.

Schnase, John L.↗

Development and Validation of SAM Multi-dimensional Flow Model for Thermal Mixing and Stratification Modeling

Thermal mixing and stratification in large pools or enclosures are very important phenomena that are critical to nuclear reactor safety. Because of the wide ranges of time and length scales associated with such phenomena, accurate modeling and simulation of thermal mixing and stratification remain as the key unresolved, challenging problems for reactor transient analyses. In traditional system analysis codes, simplified zero-dimensional (0-D) models are widely used for their high numerical efficiency, but they generally suffer from very limited prediction accuracies or range of applicability. Like traditional system analysis codes, the current version of the SAM code has implemented such simplified 0-D and one-dimensional mixing models. On the other hand, high-resolution Computational Fluid Dynamics (CFD) tools are often used to model complex thermal mixing and stratification phenomena. They are, however, generally numerically expensive, and they require large amounts of computational resources. It is therefore desirable to implement advanced and efficient thermal mixing and stratification modeling capabilities embedded in a system analysis code. This approach will improve the accuracy of reactor safety analyses when thermal mixing and stratification are involved, and also avoid using the large computational resources needed for high-resolution CFD analysis. Currently, with the support of the U.S. DOE Office of Nuclear Energy’s Nuclear Energy Advanced Modeling and Simulation program, an effort has been launched to develop and implement a multi-dimensional flow model in the system analysis code SAM, and demonstrate its applications to model thermal mixing and stratification phenomena in large enclosures. The main outcomes of this research and development activity are summarized in this report, which presents an attempt to include a built-in advanced multi-dimensional flow model in a system analysis code with the focus on overcoming the simulation challenges of thermal mixing and stratification phenomena. In this report, we start with the introduction of existing SAM code capabilities to simulate thermal mixing and stratification phenomena, which is followed by a short summary of the multi-dimensional model implemented in the SAM code, including both the physical model and the Finite Element Method code implementation. In this study, two options were implemented in the SAM code to model turbulent flows: a relatively simple built-in turbulence model and an interface to accept externally computed turbulent viscosities (e.g., from a high- resolution CFD simulation). Code validation studies on this newly added capability were then carried out to compare SAM simulation results with experimental data from the SUPERCAVNA facility, which was designed to study the complex flow recirculation and thermal stratification phenomena relevant to sodium fast reactor designs. In this study, one transient and two steady-state test cases were used for code validation. Different approaches have been used to model the complex turbulence flow fields in the SUPERCAVNA facility. A highly simplified zero-equation turbulence model was first used, but it was determined that it is too simple to capture the complex turbulence flow fields in these test cases. Subsequently, the code validation continued with the use of turbulent viscosity data from high-resolution STAR-CCM+ CFD simulations to improve the accuracy of the results. Using this approach, the SAM simulation results showed very good agreement with both the SUPERCAVNA experimental data and STAR-CCM+ simulation results. In this report, we demonstrate the development, implementation, and successful validation of a multi-dimensional flow model in the SAM code, which aims to improve the simulation accuracy for complex thermal mixing and stratification phenomena. Lessons have also been learned, including that in cases where the flow fields are not well predicted by the zero-equation model, the iinput of turbulent viscosities from an external source can enhance the overall predictive capabilities needed to accurately capture complex thermal-hydraulic phenomena. Therefore, future research will be needed to further improve the code’s capabilities, such as by developing a more efficient and robust approach to capture the turbulence effects in the SAM code.

11 NUCLEAR FUEL CYCLE AND FUEL MATERIALS↗

PyPele Rewritten To Use MPI

A computer program known as PyPele, originally written as a Pythonlanguage extension module of a C++ language program, has been rewritten in pure Python language. The original version of PyPele dispatches and coordinates parallel-processing tasks on cluster computers and provides a conceptual framework for spacecraft-mission- design and -analysis software tools to run in an embarrassingly parallel mode. The original version of PyPele uses SSH (Secure Shell a set of standards and an associated network protocol for establishing a secure channel between a local and a remote computer) to coordinate parallel processing. Instead of SSH, the present Python version of PyPele uses Message Passing Interface (MPI) [an unofficial de-facto standard language-independent application programming interface for message- passing on a parallel computer] while keeping the same user interface. The use of MPI instead of SSH and the preservation of the original PyPele user interface make it possible for parallel application programs written previously for the original version of PyPele to run on MPI-based cluster computers. As a result, engineers using the previously written application programs can take advantage of embarrassing parallelism without need to rewrite those programs.

Hockney, George↗

Redesign of the Timeline Generator at Fermilab using a web-based Flutter application, GraphQL API and an IOC

The control system at Fermilab is undergoing an evolution with a shift towards web-based applications with connections to the EPICS infrastructure. The Timeline Generator (TLG) is an application that serves to coordinate events across the lab using different timing links. These links include the Tevatron clock (TCLK), a 10 MHz serial link with events encoded at 20Hz and Machine Data (MDAT), a communication link with states encoded at 720Hz. This paper covers the redesign of the major components of the TLG. This includes a web-based Flutter application for building timelines. A placement service is in use that has a GraphQL interface and uses a timeline input to compute a schedule of events and states. The Flutter application sends this computed schedule to the TLG IOC via a GraphQL interface to the Data Pool Manager (DPM). The TLG IOC runs on an Arria FPGA, the Accelerator Clock Generator (ACLK-GEN), which is responsible for writing the events and states on to the different timing links.

Carmichael, Linden [Fermilab]↗

Redesign of the Timeline Generator at Fermilab using a web-based Flutter Application, GraphQL API and an IOC

Redesign of the Timeline Generator at Fermilab using a web-based Flutter application, GraphQL API and an IOC ABSTRACT = The control system at Fermilab is undergoing an evolution with a shift towards web-based applications with connections to the EPICS infrastructure. The Timeline Generator (TLG) is an application that serves to coordinate events across the lab using different timing links. These links include the Tevatron clock (TCLK), a 10 MHz serial link with events encoded at 20Hz and Ma-chine Data (MDAT), a communication link with states encoded at 720Hz. This paper covers the redesign of the major components of the TLG. This includes a web-based Flutter application for building timelines. A placement service is in use that has a GraphQL interface and uses a timeline input to compute a schedule of events and states. The Flutter application sends this computed schedule to the TLG IOC via a GraphQL interface to the Data Pool Manager (DPM). The TLG IOC runs on an Arria FPGA, the Accelerator Clock Generator (ACLK-GEN), which is responsible for writing the events and states on to the different timing links.

Carmichael, Linden [Fermilab]↗

TIA Software User's Manual

This user's manual describes the installation and operation of TIA, the Thermal-Imaging acquisition and processing Application, developed by the Nondestructive Evaluation Sciences Branch at NASA Langley Research Center, Hampton, Virginia. TIA is a user friendly graphical interface application for the Macintosh 2 and higher series computers. The software has been developed to interface with the Perceptics/Westinghouse Pixelpipe(TM) and PixelStore(TM) NuBus cards and the GW Instruments MacADIOS(TM) input-output (I/O) card for the Macintosh for imaging thermal data. The software is also capable of performing generic image-processing functions.

Cramer, K. Elliott↗