Engineering Papers⌕ Search

SEARCH · Engineering Papers

Results for “programming language”

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 307 records · Page 17

User Interface Design and Development for the Enhanced Radiological Nuclear Inspection and Evaluation (ERNIE) Tool Internship Report

There are radioactive and nuclear threats that affect the security of the United States. The Enhanced Radiological Nuclear Inspection Evaluation project aims to develop better methods for finding these threats. The general user interface of ERNIE needs to efficiently and clearly display all the necessary information that is used to support the decision of the Customs and Border Patrol officers. The Vehicle Presence Sensors (VPS) are located in various entry points all around the nation to detect any nuclear or radiological threat. The main purpose of my job in the internship is to transform MATLAB code to Java, and to create and develop a general user interface (GUI) for ERNIE using Java as the main programming language. All the tasks will be performed in the Lawrence Livermore National Laboratory in Livermore, California.

97 MATHEMATICS AND COMPUTING↗

SHARP Assembly-Scale Multiphysics Demonstration Simulations

The NEAMS Reactor Product Line effort aims to develop an integrated multiphysics simulation capability for the design and analysis of future generations of nuclear power plants. The Reactor Product Line code suite’s multi-resolution hierarchy is being designed to ultimately span the full range of length and time scales present in relevant reactor design and safety analyses, as well as scale from desktop to petaflop computing platforms. In this report, we describe our efforts to integrate thermal/hydraulics, neutronics, and structural mechanics modeling codes to perform coupled analysis of a representative fast sodium-cooled reactor fuel assembly. Over the past five years, the Reactor Product Line effort has developed high-fidelity single-physics codes for neutron transport modeling, in the PROTEUS code, and Large Eddy Simulation-based thermal/fluid modeling in the Nek5000 code. Both these codes have been exercised on over 100,000 processors of the IBM Blue Gene/P. The Diablo code has been used to perform structural mechanics and thermo-mechanical modeling. MOAB, the Reactor Geometry Generator (RGG), and MeshKit have been developed to generate and manipulate mesh and mesh-based data, in both serial and parallel environments. These tools together form a strong basis on which to build a multi-physics modeling capability. The goal of developing such a tool is to perform multi-physics neutronics, thermal/fluid, and structural mechanics modeling of the components inside a reactor core. While the focus of this report is on modeling a fast sodium-cooled reactor, it is also the goal that this simulation tool be useful for most reactor types. Here we report on the integration of PROTEUS and Nek5000 into the NEAMS framework. Both codes have been modified to read and write data from and to the MOAB library, in both serial and parallel environments. We focused on broad support for as many original physics code options as possible, rather than focusing only on near-term needs. Both codes were demonstrated through this interface on a relatively simple, seven-pin hexagonal fuel assembly. To support coupled analysis, the new multi-physics driver library COUPE was developed; this library provides flexible support for both loose and tight coupling, and can interface flexibly with codes in multiple programming languages. To couple results between the separate meshes used in each physics, the driver, PROTEUS, and Nek5000 all interface with the MBCoupler solution transfer tool provided with MOAB. Together, these tools form the basis of a new, coupled neutronics and thermal/fluid modeling code, that works in both serial and parallel. In a related effort, a driver in the Diablo code was used to access Nek5000-computed results written to a MOAB database, as well as the temperature data used to drive structural mechanics computations.

Tautges, Timothy J.↗

Award ER25750: Coordinated Infrastructure for Fault Tolerance Systems Indiana University Final Report

The main purpose of the Coordinated Infrastructure for Fault Tolerance in Systems initiative has been to conduct research with a goal of providing end-to-end fault tolerance on a systemwide basis for applications and other system software. While fault tolerance has been an integral part of most high-performance computing (HPC) system software developed over the past decade, it has been treated mostly as a collection of isolated stovepipes. Visibility and response to faults has typically been limited to the particular hardware and software subsystems in which they are initially observed. Little fault information is shared across subsystems, allowing little flexibility or control on a system-wide basis, making it practically impossible to provide cohesive end-to-end fault tolerance in support of scientific applications. As an example, consider faults such as communication link failures that can be seen by a network library but are not directly visible to the job scheduler, or consider faults related to node failures that can be detected by system monitoring software but are not inherently visible to the resource manager. If information about such faults could be shared by the network libraries or monitoring software, then other system software, such as a resource manager or job scheduler, could ensure that failed nodes or failed network links were excluded from further job allocations and that further diagnosis could be performed. As a founding member and one of the lead developers of the Open MPI project, our efforts over the course of this project have been focused on making Open MPI more robust to failures by supporting various fault tolerance techniques, and using fault information exchange and coordination between MPI and the HPC system software stack from the application, numeric libraries, and programming language runtime to other common system components such as jobs schedulers, resource managers, and monitoring tools.

97 MATHEMATICS AND COMPUTING↗

C++ Implementation of IAPWS Water Properties

For the calculations of water-involved systems, such as safety analysis of light water reactors, it is essential to provide accurate water properties. The International Association for the Properties of Water and Steam is an international non-profit association of national organizations concerned with the properties of water and steam. It provides internationally accepted formulations of water/steam properties for scientific and industrial applications. The purpose of this work is to provide a stand-alone software package in C++ programming language to provide accurate and efficient water/steam properties evaluation, based on the latest IAPWS releases. The discussion on related IAPWS releases, code implementations and verifications are provided in details.

22 GENERAL STUDIES OF NUCLEAR REACTORS↗

CaveMan Enterprise version 1.0 Software Validation and Verification.

The U.S. Department of Energy Strategic Petroleum Reserve stores crude oil in caverns solution-mined in salt domes along the Gulf Coast of Louisiana and Texas. The CaveMan software program has been used since the late 1990s as one tool to analyze pressure mea- surements monitored at each cavern. The purpose of this monitoring is to catch potential cavern integrity issues as soon as possible. The CaveMan software was written in Microsoft Visual Basic, and embedded in a Microsoft Excel workbook; this method of running the CaveMan software is no longer sustainable. As such, a new version called CaveMan Enter- prise has been developed. CaveMan Enterprise version 1.0 does not have any changes to the CaveMan numerical models. CaveMan Enterprise represents, instead, a change from desktop-managed work- books to an enterprise framework, moving data management into coordinated databases and porting the numerical modeling codes into the Python programming language. This document provides a report of the code validation and verification testing.

Hart, David↗

Tierless Programming for the Internet of Things

The Internet of Things (IoT) is about Internet-addressability and connectivity for everyday devices. The goal of this project was to create a framework to allow developers to more easily control IoT devices and turn their interactions into meaningful applications. We leveraged a tierless approach for Software Defined Networking (SDN) to build this framework. We expanded Flowlog, a tierless programming language for SDN controllers, to support IoT devices developed by Spark IO to build this framework.

97 MATHEMATICS AND COMPUTING↗

Documentation and Instructions for Running Two Python Scripts that Aid in Setting up 3D Measurements using the Polytec 3D Scanning Laser Doppler Vibrometer

Sandia National Laboratories has recently purchased a Polytec 3D Scanning Laser Doppler Vibrometer for vibration measurement. This device has proven to be a very nice tool for making vibration measurements, and has a number of advantages over traditional sensors such as accelerometers. The non-contact nature of the laser vibrometer means there is no mass loading due to measuring the response. Additionally, the laser scanning heads can position the laser spot much more quickly and accurately than placing an accelerometer or performing a roving hammer impact. The disadvantage of the system is that a significant amount of time must be invested to align the lasers with each other and the part so that the laser spots can be accurately positioned. The Polytec software includes a number of nice tools to aid in this procedure; however, certain portions are still tedious. Luckily, the Polytec software is readily extensible by programming macros for the system, so tedious portions of the procedure can be made easier by automating the process. The Polytec Software includes a WinWrap (similar to Visual Basic) editor and interface to run macros written in that programming language. The author, however, is much more proficient in Python, and the latter also has a much larger set of libraries that can be used to create very complex macros, while taking advantage of Python’s inherent readability and maintainability.

47 OTHER INSTRUMENTATION↗

Strategy and gaps for modeling, simulation, and control of hybrid systems

The purpose of this report is to establish a strategy for modeling and simulation of candidate hybrid energy systems. Modeling and simulation is necessary to design, evaluate, and optimize the system technical and economic performance. Accordingly, this report first establishes the simulation requirements to analysis candidate hybrid systems. Simulation fidelity levels are established based on the temporal scale, real and synthetic data availability or needs, solution accuracy, and output parameters needed to evaluate case-specific figures of merit. Accordingly, the associated computational and co-simulation resources needed are established; including physical models when needed, code assembly and integrated solutions platforms, mathematical solvers, and data processing. This report first attempts to describe the figures of merit, systems requirements, and constraints that are necessary and sufficient to characterize the grid and hybrid systems behavior and market interactions. Loss of Load Probability (LOLP) and effective cost of Effective Cost of Energy (ECE), as opposed to the standard Levelized Cost of Electricty (LCOE), are introduced as technical and economical indices for integrated energy system evaluations. Financial assessment methods are subsequently introduced for evaluation of non-traditional, hybrid energy systems. Algorithms for coupled and iterative evaluation of the technical and economic performance are subsequently discussed. This report further defines modeling objectives, computational tools, solution approaches, and real-time data collection and processing (in some cases using real test units) that will be required to model, co-simulate, and optimize; (a) an energy system components (e.g., power generation unit, chemical process, electricity management unit), (b) system domains (e.g., thermal, electrical or chemical energy generation, conversion, and transport), and (c) systems control modules. Co-simulation of complex, tightly coupled, dynamic energy systems requires multiple simulation tools, potentially developed in several programming languages and resolved on separate time scales. Whereas further investigation and development of hybrid concepts will provide a more complete understanding of the joint computational and physical modeling needs, this report highlights areas in which co-simulation capabilities are warranted. The current development status, quality assurance, availability and maintainability of simulation tools that are currently available for hybrid systems modeling is presented. Existing gaps in the modeling and simulation toolsets and development needs are subsequently discussed. This effort will feed into a broader Roadmap activity for designing, developing, and demonstrating hybrid energy systems.

11 NUCLEAR FUEL CYCLE AND FUEL MATERIALS↗

RELAP-7 User's Guide

The document contains a user's guide on how to run the RELAP-7 code. The RELAP-7 code is the next generation nuclear reactor system safety analysis code being developed at the Idaho National Laboratory. RELAP-7 will become the main reactor systems simulation toolkit for the LWRS (Light Water Reactor Sustainability) program’s RISMC (Risk Informed Safety Margin Characterization) effort and the next generation tool in the RELAP reactor safety/systems analysis application series. RELAP-7 is written with object oriented programming language C++. A number of example problems and their associated input files are presented in this document to guide users to run the RELAP-7 code starting with simple pipe problems to problems with increasing complexity.

21 SPECIFIC NUCLEAR REACTORS AND ASSOCIATED PLANTS↗

Guide to Using Onionskin Analysis Code (U)

This document is a guide to using R-code written for the purpose of analyzing onionskin experiments. We expect the user to be very familiar with statistical methods and the R programming language. For more details about onionskin experiments and the statistical methods mentioned in this document see Storlie, Fugate, et al. (2013). Engineers at LANL experiment with detonators and high explosives to assess performance. The experimental unit, called an onionskin, is a hemisphere consisting of a detonator and a booster pellet surrounded by explosive material. When the detonator explodes, a streak camera mounted above the pole of the hemisphere records when the shock wave arrives at the surface. The output from the camera is a two-dimensional image that is transformed into a curve that shows the arrival time as a function of polar angle. The statistical challenge is to characterize a baseline population of arrival time curves and to compare the baseline curves to curves from a new, so-called, test series. The hope is that the new test series of curves is statistically similar to the baseline population.

45 MILITARY TECHNOLOGY, WEAPONRY, AND NATIONAL DEF↗

Infrastructure for Multiphysics Software Integration in High Performance Computing-Aided Science and Engineering

The project described in this report constructed and exercised an innovative multiphysics coupling toolkit called the Illinois Rocstar MultiPhysics Application Coupling Toolkit (IMPACT). IMPACT is an open source, flexible, natively parallel infrastructure for coupling multiple uniphysics simulation codes into multiphysics computational systems. IMPACT works with codes written in several high-performance-computing (HPC) programming languages, and is designed from the beginning for HPC multiphysics code development. It is designed to be minimally invasive to the individual physics codes being integrated, and has few requirements on those physics codes for integration. The goal of IMPACT is to provide the support needed to enable coupling existing tools together in unique and innovative ways to produce powerful new multiphysics technologies without extensive modification and rewrite of the physics packages being integrated. There are three major outcomes from this project: 1) construction, testing, application, and open-source release of the IMPACT infrastructure, 2) production of example open-source multiphysics tools using IMPACT, and 3) identification and engagement of interested organizations in the tools and applications resulting from the project. This last outcome represents the incipient development of a user community and application echosystem being built using IMPACT. Multiphysics coupling standardization can only come from organizations working together to define needs and processes that span the space of necessary multiphysics outcomes, which Illinois Rocstar plans to continue driving toward. The IMPACT system, including source code, documentation, and test problems are all now available through the public gitHUB.org system to anyone interested in multiphysics code coupling. Many of the basic documents explaining use and architecture of IMPACT are also attached as appendices to this document. Online HTML documentation is available through the gitHUB site. There are over 100 unit tests provided that run through the Illinois Rocstar Application Development (IRAD) lightweight testing infrastructure that is also supplied along with IMPACT. The package as a whole provides an excellent base for developing high-quality multiphysics applications using modern software development practices. To facilitate understanding how to utilize IMPACT effectively, two multiphysics systems have been developed and are available open-source through gitHUB. The simpler of the two systems, named ElmerFoamFSI in the repository, is a multiphysics, fluid-structure-interaction (FSI) coupling of the solid mechanics package Elmer with a fluid dynamics module from OpenFOAM. This coupling illustrates how to combine software packages that are unrelated by either author or architecture and combine them into a robust, parallel multiphysics system. A more complex multiphysics tool is the Illinois Rocstar Rocstar Multiphysics code that was rebuilt during the project around IMPACT. Rocstar Multiphysics was already an HPC multiphysics tool, but now that it has been rearchitected around IMPACT, it can be readily expanded to capture new and different physics in the future. In fact, during this project, the Elmer and OpenFOAM tools were also coupled into Rocstar Multiphysics and demonstrated. The full Rocstar Multiphysics codebase is also available on gitHUB, and licensed for any organization to use as they wish. Finally, the new IMPACT product is already being used in several multiphysics code coupling projects for the Air Force, NASA and the Missile Defense Agency, and initial work on expansion of the IMPACT-enabled Rocstar Multiphysics has begun in support of a commercial company. These initiatives promise to expand the interest and reach of IMPACT and Rocstar Multiphysics, ultimately leading to the envisioned standardization and consortium of users that was one of the goals of this project.

42 ENGINEERING↗

Status on the Component Models Developed in the Modelica Framework: High-Temperature Steam Electrolysis Plant & Gas Turbine Power Plant

This report has been prepared as part of an effort to design and build a modeling and simulation (M&S) framework to assess the economic viability of a nuclear-renewable hybrid energy system (N-R HES). In order to facilitate dynamic M&S of such an integrated system, research groups in multiple national laboratories have been developing various subsystems as dynamic physics-based components using the Modelica programming language. In fiscal year (FY) 2015, Idaho National Laboratory (INL) performed a dynamic analysis of two region-specific N-R HES configurations, including the gas-to-liquid (natural gas to Fischer-Tropsch synthetic fuel) and brackish water reverse osmosis desalination plants as industrial processes. In FY 2016, INL has developed two additional subsystems in the Modelica framework: a high-temperature steam electrolysis (HTSE) plant and a gas turbine power plant (GTPP). HTSE has been proposed as a high priority industrial process to be integrated with a light water reactor (LWR) in an N-R HES. This integrated energy system would be capable of dynamically apportioning thermal and electrical energy (1) to provide responsive generation to the power grid and (2) to produce alternative industrial products (i.e., hydrogen and oxygen) without generating any greenhouse gases. A dynamic performance analysis of the LWR/HTSE integration case was carried out to evaluate the technical feasibility (load-following capability) and safety of such a system operating under highly variable conditions requiring flexible output. To support the dynamic analysis, the detailed dynamic model and control design of the HTSE process, which employs solid oxide electrolysis cells, have been developed to predict the process behavior over a large range of operating conditions. As first-generation N-R HES technology will be based on LWRs, which provide thermal energy at a relatively low temperature, complementary temperature-boosting technology was suggested for integration with the HTSE process that requires higher temperature input. Simulation results involving several case studies show that the suggested control scheme could maintain the controlled variables (including the steam utilization factor, cathode stream inlet composition, and temperatures of the process streams at various locations) within desired limits under various plant operating conditions. The results also indicate that the proposed HTSE plant could provide operational flexibility to participate in energy management at the utility scale by dynamically optimizing the use of excess plant capacity within an N-R HES. A natural-gas fired GTPP has been proposed as a secondary energy supply to be included in an N-R HES. This auxiliary generator could be used to cover rapid dynamics in grid demand that cannot be met by the remainder of the N-R HES. To evaluate the operability and controllability of the proposed process during transients between load (demand) levels, the dynamic model and control design were developed. Special attention was given to the design of feedback controllers to regulate the power frequency, and exhaust gas and turbine firing temperatures. Several case studies were performed to investigate the system responses to the major disturbance (power load demand) in such a control system. The simulation results show that the performance of the proposed control strategies was satisfactory under each test when the GTPP experienced high rapid variations in the load.

08 HYDROGEN↗

Simulation-based Testing of Control Software

It is impossible to adequately test complex software by examining its operation in a physical prototype of the system monitored. Adequate test coverage can require millions of test cases, and the cost of equipment prototypes combined with the real-time constraints of testing with them makes it infeasible to sample more than a small number of these tests. Model based testing seeks to avoid this problem by allowing for large numbers of relatively inexpensive virtual prototypes that operate in simulation time at a speed limited only by the available computing resources. In this report, we describe how a computer system emulator can be used as part of a model based testing environment; specifically, we show that a complete software stack including operating system and application software - can be deployed within a simulated environment, and that these simulations can proceed as fast as possible. To illustrate this approach to model based testing, we describe how it is being used to test several building control systems that act to coordinate air conditioning loads for the purpose of reducing peak demand. These tests involve the use of ADEVS (A Discrete Event System Simulator) and QEMU (Quick Emulator) to host the operational software within the simulation, and a building model developed with the MODELICA programming language using Buildings Library and packaged as an FMU (Functional Mock-up Unit) that serves as the virtual test environment.

97 MATHEMATICS AND COMPUTING↗

Evaluation of the OpenCL AES Kernel using the Intel FPGA SDK for OpenCL

The OpenCL standard is an open programming model for accelerating algorithms on heterogeneous computing system. OpenCL extends the C-based programming language for developing portable codes on different platforms such as CPU, Graphics processing units (GPUs), Digital Signal Processors (DSPs) and Field Programmable Gate Arrays (FPGAs). The Intel FPGA SDK for OpenCL is a suite of tools that allows developers to abstract away the complex FPGA-based development flow for a high-level software development flow. Users can focus on the design of hardware-accelerated kernel functions in OpenCL and then direct the tools to generate the low-level FPGA implementations. The approach makes the FPGA-based development more accessible to software users as the needs for hybrid computing using CPUs and FPGAs are increasing. It can also significantly reduce the hardware development time as users can evaluate different ideas with high-level language without deep FPGA domain knowledge. In this report, we evaluate the performance of the kernel using the Intel FPGA SDK for OpenCL and Nallatech 385A FPGA board. Compared to the M506 module, the board provides more hardware resources for a larger design exploration space. The kernel performance is measured with the compute kernel throughput, an upper bound to the FPGA throughput. The report presents the experimental results in details. The Appendix lists the kernel source code.

97 MATHEMATICS AND COMPUTING↗

Evaluation of CHO Benchmarks on the Arria 10 FPGA using Intel FPGA SDK for OpenCL

The OpenCL standard is an open programming model for accelerating algorithms on heterogeneous computing system. OpenCL extends the C-based programming language for developing portable codes on different platforms such as CPU, Graphics processing units (GPUs), Digital Signal Processors (DSPs) and Field Programmable Gate Arrays (FPGAs). The Intel FPGA SDK for OpenCL is a suite of tools that allows developers to abstract away the complex FPGA-based development flow for a high-level software development flow. Users can focus on the design of hardware-accelerated kernel functions in OpenCL and then direct the tools to generate the low-level FPGA implementations. The approach makes the FPGA-based development more accessible to software users as the needs for hybrid computing using CPUs and FPGAs are increasing. It can also significantly reduce the hardware development time as users can evaluate different ideas with high-level language without deep FPGA domain knowledge. Benchmarking of OpenCL-based framework is an effective way for analyzing the performance of system by studying the execution of the benchmark applications. CHO is a suite of benchmark applications that provides support for OpenCL [1]. The authors presented CHO as an OpenCL port of the CHStone benchmark. Using Altera OpenCL (AOCL) compiler to synthesize the benchmark applications, they listed the resource usage and performance of each kernel that can be successfully synthesized by the compiler. In this report, we evaluate the resource usage and performance of the CHO benchmark applications using the Intel FPGA SDK for OpenCL and Nallatech 385A FPGA board that features an Arria 10 FPGA device. The focus of the report is to have a better understanding of the resource usage and performance of the kernel implementations using Arria-10 FPGA devices compared to Stratix-5 FPGA devices. In addition, we also gain knowledge about the limitations of the current compiler when it fails to synthesize a benchmark application.

97 MATHEMATICS AND COMPUTING↗

Fragment Impact Toolkit (FIT)

The Fragment Impact Toolkit (FIT) is a software package used for probabilistic consequence evaluation of fragmenting sources. The typical use case for FIT is to simulate an exploding shell and evaluate the consequence on nearby objects. FIT is written in the programming language Python and is designed as a collection of interacting software modules. Each module has a function that interacts with the other modules to produce desired results.

97 MATHEMATICS AND COMPUTING↗

Solutions for Digital Video Transmission Technology Final Report CRADA No. TC02068.0

This Project aimed at development of software for seismic data processing based on the Geotool code developed by the American company Multimax., Inc. The Geotool code was written in early 90-es for the UNIX platform. Under Project# 2821, functions of the old Geotool code were transferred into a commercial version for the Microsoft XP and Vista platform with addition of new capabilities on visualization and data processing. The developed new version of the Geotool+ was implemented using the up-to-date tool Microsoft Visual Studio 2005 and uses capabilities of the .NET platform. C++ was selected as the main programming language for the Geotool+. The two-year Project was extended by six months and funding levels increased from 600,000 to $670,000. All tasks were successfully completed and all deliverables were met for the project even though both the industrial partner and LLNL principal investigator left the project before its final report.

58 GEOSCIENCES↗

Sensor Placement Optimization using Chama

Continuous or regularly scheduled monitoring has the potential to quickly identify changes in the environment. However, even with low - cost sensors, only a limited number of sensors can be deployed. The physical placement of these sensors, along with the sensor technology and operating conditions, can have a large impact on the performance of a monitoring strategy. Chama is an open source Python package which includes mixed - integer, stochastic programming formulations to determine sensor locations and technology that maximize monitoring effectiveness. The methods in Chama are general and can be applied to a wide range of applications. Chama is currently being used to design sensor networks to monitor airborne pollutants and to monitor water quality in water distribution systems. The following documentation includes installation instructions and examples, description of software features, and software license. The software is intended to be used by regulatory agencies, industry, and the research community. It is assumed that the reader is familiar with the Python Programming Language. References are included for addit ional background on software components. Online documentation, hosted at http://chama.readthedocs.io/, will be updated as new features are added. The online version includes API documentation .

47 OTHER INSTRUMENTATION↗