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 379 records · Page 21

j5 v2.8.4

j5 automates and optimizes the design of the molecular biological process of cloning/constructing DNA. j5 enables users to benefit from (combinatorial) multi-part scar-less SLIC, Gibson, CPEC, Golden Gate assembly, or variants thereof, for which automation software does not currently exist, without the intense labor currently associated with the process. j5 inputs a list of the DNA sequences to be assembled, along with a Genbank, FASTA, jbei-seq, or SBOL v1.1 format sequence file for each DNA source. Given the list of DNA sequences to be assembled, j5 first determines the cost-minimizing assembly strategy for each part (direct synthesis, PCR/SOE, or oligo-embedding), designs DNA oligos with Primer3, adds flanking homology sequences (SLIC, Gibson, and CPEC; optimized with Primer3 for CPEC) or optimized overhang sequences (Golden Gate) to the oligos and direct synthesis pieces, and utilizes BLAST to check against oligo mis-priming and assembly piece incompatibility events. After identifying DNA oligos that are already contained within a local collection for reuse, the program estimates the total cost of direct synthesis and new oligos to be ordered. In the instance that j5 identifies putative assembly piece incompatibilities (multiple pieces with high flanking sequence homology), the program suggests hierarchical subassemblies where possible. The program outputs a comma-separated value (CSV) file, viewable via Excel or other spreadsheet software, that contains assembly design information (such as the PCR/SOE reactions to perform, their anticipated sizes and sequences, etc.) as well as a properly annotated genbank file containing the sequence resulting from the assembly, and appends the local oligo library with the oligos to be ordered j5 condenses multiple independent assembly projects into 96-well format for high-throughput liquid-handling robotics platforms, and generates configuration files for the PR-PR biology-friendly robot programming language. j5 thus provides a new way to design DNA assembly procedures much more productively and efficiently, not only in terms of time, but also in terms of cost. To a large extent, however, j5 does not allow people to do something that could not be done before by hand given enough time and effort. An exception to this is that, since the very act of using j5 to design the DNA assembly process standardizes the experimental details and workflow, j5 enables a single person to concurrently perform the independent DNA construction tasks of an entire group of researchers. Currently, this is not readily possible, since separate researchers employ disparate design strategies and workflows, and furthermore, their designs and workflows are very infrequently fully captured in an electronic format which is conducive to automation.

Hillson, Nathan↗

Python GST Implementation v. 0.9 beta

PyGSTi is an implementation of Gate Set Tomography in the python programming language. Gate Set Tomography (GST) is a theory and protocol for simultaneously estimating the state preparation, gate operations, and measurement effects of a physical system of one or many quantum bits (qubits). These estimates are based entirely on the statistics of experimental measurements, and their interpretation and analysis can provide a detailed understanding of the types of errors/imperfections in the physical system. In this way, GST provides not only a means of certifying the "goodness" of qubits but also a means of debugging (i.e. improving) them.

Nielsen, Erik↗

Mads.jl

Mads.jl (Model analysis and decision support in Julia) is a code that streamlines the process of using data and models for analysis and decision support. It is based on another open-source code developed at LANL and written in C/C++ (MADS; http://mads.lanl.gov; LA-CC-11- 035). Mads.jl can work with external models of arbitrary complexity as well as built-in models of flow and transport in porous media. It enables a number of data- and model-based analyses including model calibration, sensitivity analysis, uncertainty quantification, and decision analysis. The code also can use a series of alternative adaptive computational techniques for Bayesian sampling, Monte Carlo, and Bayesian Information-Gap Decision Theory. The code is implemented in the Julia programming language, and has high-performance (parallel) and memory management capabilities. The code uses a series of third party modules developed by others. The code development will also include contributions to the existing third party modules written in Julia; this contributions will be important for the efficient implementation of the algorithm used by Mads.jl. The code also uses a series of LANL developed modules that are developed by Dan O'Malley; these modules will be also a part of the Mads.jl release. Mads.jl will be released under GPL V3 license. The code will be distributed as a Git repo at gitlab.com and github.com. Mads.jl manual and documentation will be posted at madsjulia.lanl.gov.

Vesselinov, Velimir↗

toyplot

Toyplot integrates high quality interactive, animated plotting capabilities into web browsers using the Python programming language.

Shead, Timothy M.↗

PcapDB: Search Optimized Packet Capture, Version 0.1.0.0

PcapDB is a packet capture system designed to optimize the captured data for fast search in the typical (network incident response) use case. The technology involved in this software has been submitted via the IDEAS system and has been filed as a provisional patent. It includes the following primary components: capture: The capture component utilizes existing capture libraries to retrieve packets from network interfaces. Once retrieved the packets are passed to additional threads for sorting into flows and indexing. The sorted flows and indexes are passed to other threads so that they can be written to disk. These components are written in the C programming language. search: The search components provide a means to find relevant flows and the associated packets. A search query is parsed and represented as a search tree. Various search commands, written in C, are then used resolve this tree into a set of search results. The tree generation and search execution management components are written in python. interface: The PcapDB web interface is written in Python on the Django framework. It provides a series of pages, API's, and asynchronous tasks that allow the user to manage the capture system, perform searches, and retrieve results. Web page components are written in HTML,CSS and Javascript.

Ferrell, Paul↗

A Latency Tolerant Runtime System for Mass Market Computer Systems

Grappa is a latency tolerant runtime system for mass market computer systems comprised of multiple nodes having x86 multicore processors and infiniband interconnect. Grappa is designed to enable in-memory irregular applications written in the C++ programming language to scale up on multiprocessor systems. Grappa addresses the load balance, communication, and synchronization challenges posed by running applications that do not partition evenly across large systems. Two mechanisms are essential to its success: fast task switching and message aggregation. Fast task switching enables processors to tolerate communication and synchronization delays; aggregation sustains high bandwidth on low injection rate networks.

Source record↗

Laterally Primed Adaptive Resonance Theory

LAPART is an artificial neural network algorithm written in the Python programming language. The algorithm can learn patterns using multi-dimensional hyper boxes. It can also perfrom regression and classification calculations based on learned associations.

Jones, Christian Birk↗

TRANSFORM - TRANsient Simulation Framework of Reconfigurable Models

Existing development tools for early stage design and scoping of energy systems are often time consuming to use, proprietary, and do not contain the necessary function to model complete systems (i.e., controls, primary, and secondary systems) in a common platform. The Modelica programming language based TRANSFORM tool (1) provides a standardized, common simulation environment for early design of energy systems (i.e., power plants), (2) provides a library of baseline component modules to be assembled into full plant models using available geometry, design, and thermal-hydraulic data, (3) defines modeling conventions for interconnecting component models, and (4) establishes user interfaces and support tools to facilitate simulation development (i.e., configuration and parameterization), execution, and results display and capture.

Greenwood, Michael S↗

AutoBEMGen

Generating energy models from scratch is a costly and time consuming task. A detailed energy model can have thousands of input parameters that are necessary for a complete simulation of a building. A solution to this problem is the AutoBEMGen framework. This Python-based framework requires a user supplied data file, currently in comma separated variable format, that defines a subset of building properties and parameters to quickly and easily generate a building energy model. This building properties include building type, 2-D footprint, number of floors, window-to-wall ratio, and more. AutoBEMGen then uses OpenStudio and EnergyPlus, two of DOE's flagship energy modeling tools, to create and simulate an OpenStudio model and EnergyPlus input file. Additionally, the AutoBEMGen framework is scalable to any number of user supplied buildings in the data field by leveraging multi-threading built into the Python programming language. By leveraging a small subset of building inputs required from end users, AutoBEMGen is able to generate complete building enervy models in a fraction of the time compared to generating them from scratch.

Adams, Mark B↗

Women in Science: Fermilab computing analyst Margherita Vittone-Wiersma

With February 11 marking the International Day of Women and Girls in Science, female physicists, engineers and computer scientists from CERN and Fermilab share their experiences of building careers in science. Margherita Vittone-Wiersma came to Fermilab as a physicist in February 1985. Together with a group of researchers from Italy's Institute of Nuclear Physics, she began a new experiment called E687. But she soon learned that she preferred working on data acquisition and the many methods to store and access the huge amount of data coming out of science experiments. What was once mere megabytes of data is now terabytes of information - and experimental physicists need to be able to retrieve stored data and monitor data coming from the detectors in real-time. "It's been an incredible change in scale of the amount of data that is handled by computers and has to be analyzed by the physicists," she says. Margherita migrated from physics to her new role in computing through lots of hands-on learning and classes in different programming languages and software development offered at Fermilab. She officially joined the lab's computing division in 1989. "It's a great experience to work with the physicists," she says. Together physicists and computing experts iterate over tools "to make sure that everything is working the way they expect. It's very rewarding." Credits: Video production - Fermilab Creative Services Music Copyright: Universal Production Music Astral Light Chevalier Idea originally conceived by Tanya Levshina, Fermilab and Maria Dimou, CERN.

99 GENERAL AND MISCELLANEOUS↗

Coffea -- Columnar Object Framework For Effective Analysis

The coffea framework provides a new approach to High-Energy Physics analysis, via columnar operations, that improves time-to-insight, scalability, portability, and reproducibility of analysis. It is implemented with the Python programming language, the scientific python package ecosystem, and commodity big data technologies. To achieve this suite of improvements across many use cases, coffea takes a factorized approach, separating the analysis implementation and data delivery scheme. All analysis operations are implemented using the NumPy or awkward-array packages which are wrapped to yield user code whose purpose is quickly intuited. Various data delivery schemes are wrapped into a common front-end which accepts user inputs and code, and returns user defined outputs. We will discuss our experience in implementing analysis of CMS data using the coffea framework along with a discussion of the user experience and future directions.

72 PHYSICS OF ELEMENTARY PARTICLES AND FIELDS↗

Integration of the Kromek D3S Detector and Spot Robot For Secondary Inspections

Inspecting vehicles and containers for the presence of nuclear material is a challenging task for border control and security. When performed manually by inspectors, this task also has an associated risk of exposing the inspectors to unknown radiation. With the advent of agile, easy-to-program, quadruped robots like the Boston Dynamics Spot, automation of secondary inspection can improve the efficiency of the inspection process and alleviates the radiation risks to inspectors. In this project, Brookhaven National Laboratory and the University of Massachussetts at Lowell explored how to automate a simple secondary inspection mission. The Spot robot comes with its own software development kit (SDK) that allows clients/users to write custom code in the Python programming language to control the robot. Spot also has a payload computer called Spot-CORE, which runs the Ubuntu Linux operating system and allows users to integrate external sensors, such as a radiation detector, with Spot. In this study, the Kromek D3S detector has been integrated with Spot via the Spot-CORE, allowing Spot to capture gamma spectra and neutron counts for a specified acquisition period. Two custom routines, search and confirmation, have been developed and executed in this specified order. The search routine directs Spot to go around the nearest obstacle, e.g., vehicle and container, in a preset distance and step to collect gamma and neutron gross counts with the D3S detector. The radiation data and the robot location corresponding to each step are stored and fed to the confirmation routine at the end of the search. The confirmation routine then navigates Spot to the locations of the highest gamma or neutron counts to perform a long, e.g., one minute, measurement, and gives the operators the signature gamma spectra and neutron counts at the hotspots. This paper presents a detailed description of this automated system along with results of the preliminary tests in identifying the location and signature of a 137Cs radiation source in a vehicle.

98 NUCLEAR DISARMAMENT, SAFEGUARDS, AND PHYSICAL P↗

A dynamic, dependent type system for nuclear fuel cycle code generation

The nuclear fuel cycle may be interpreted as a network or graph, thus allowing methods from formal graph theory to be used. Nodes are often idealized as nuclear fuel cycle facilities (reactors, enrichment cascades, deep geologic repositories). With the advent of modern object-oriented programming languages - and fuel cycle simulators implemented in these languages - it is natural to define a class hierarchy of facility types. Bright is a quasi-static simulator, meaning that the number of material passes through a facility is tracked rather than natural time. Bright is implemented as a C++ library that models many canonical components such as reactors, storage facilities, and more. Cyclus is a discrete time simulator, meaning that natural time is tracked through out the simulation. Therefore a robust, dependent type system was developed to enable inter-operability between Bright and Cyclus. This system is capable of representing any fuel cycle facility. Types declared in this system can then be used to automatically generate code which binds a facility implementation to a simulator front end. Facility model wrappers may be used either internally to a fuel cycle simulator or as a mechanism for inter-operating multiple simulators. While such a tool has many potential use cases it has two main purposes: enabling easy performance of code-to-code comparisons and the verification and the validation of user input.

11 NUCLEAR FUEL CYCLE AND FUEL MATERIALS↗

The Acoustic Emission signal acquired by the microphones placed in the CABRI test device along the fourteen last R.I.A. experiments: an example of reproducible research in nuclear science

The CABRI facility is an experimental nuclear reactor of the French Atomic Energy Commission. It is located at the Cadarache Research Centre in southern France and it is designed to act as a support to the French nuclear infrastructure. The purpose of the new testing programme termed, 'CABRI International Programme' (CIP) is to study the behaviour of PWR-type fuel rods at high burnup, equipped with an 'advanced' cladding, under Reactivity Initiated Accident (RIA) conditions (such as the scenario of a control rod ejection). Within the framework of this programme, piloted and funded by the French Institute of Nuclear Radioprotection and Safety (IRSN), ten tests are to be conducted with a frequency of two tests per year. The LPRE laboratory of the CEA which is in charge of the Preparation, realisation and breakdown of the test results studies the possibility to set up a new test analysis based on the processing of signals coming from sensors placed within the test equipment. During the experimental phase, the behaviour of the fuel element generates acoustic waves which can be detected by two microphones placed upstream and downstream of the test device. Studies showed the interest to realize temporal and spectral analyses on these signals by showing the existence of signatures which can be correlated with physical phenomena as the rod failure or the test shutdown (i.e. scram). The work presented in this article results from the will to consolidate these studies. Since the main phenomenon to be tracked is the fuel rod failure, the aim would be to highlight specific events which would have been precursors of the rod failure in order to use in the future these signals for further interpretation. Such an antecedent works resumption leads to a better understanding of the experimental needs and constitutes a good initial state to prepare the new very fast digital data acquisition systems. Although all the raw data are accessible in the form of text files, analyses and graphics representations were not straightforward to reproduce from the ancient studies since that, on one hand, people who were in charge of the original work left the laboratory and on the other hand because it is not easy when the time passes, even with our own work, to be able to remember the steps of data manipulations and the exact setup: - During the ancient experiments the use of analog data acquisition systems required to digitize tapes to be able to realize computer treatments. That had had for consequence to lose the initial dating. This one must be correctly edited to do temporal comparisons. - Analyses require functions for calculations whose parameters has to be well-known to reach the same results. We thus wished to manage our workflow in the idea that it can be easily reproducible on all the experiments. The object of the work presented in this article was to put in practice this strong bind between the data, treatments and generation of the document in order not to hesitate to do the iteration principle in action. We do not have to be afraid by the data driven analyses. According to the philosophy of the literate programming, the text of the technical document is woven with the computer code that produces all the printed output as tables, graphs for the study eliminating hence the unrealistic cut and paste. This difficulty is not specific to the nuclear domain. For many years, researchers have been worked out solutions to this mundane issue. And, presently, new technologies and high-level programming languages offer us actual answers. We will firstly present the tools applied in our laboratory to implement this workflow, then we will describe the global perception carried out to continue the study of the Acoustic Emission signals recorded by the two microphones during the fourteen last CABRI R.I.A. test.

21 SPECIFIC NUCLEAR REACTORS AND ASSOCIATED PLANTS↗

Application of performance portability solutions for GPUs and many-core CPUs to track reconstruction kernels

Next generation High-Energy Physics (HEP) experiments are presented with significant computational challenges, both in terms of data volume and processing power. Using compute accelerators, such as GPUs, is one of the promising ways to provide the necessary computational power to meet the challenge. The current programming models for compute accelerators often involve using architecture-specific programming languages promoted by the hardware vendors and hence limit the set of platforms that the code can run on. Developing software with platform restrictions is especially unfeasible for HEP communities as it takes significant effort to convert typical HEP algorithms into ones that are efficient for compute accelerators. Multiple performance portability solutions have recently emerged and provide an alternative path for using compute accelerators, which allow the code to be executed on hardware from different vendors. We apply several portability solutions, such as Kokkos, SYCL, C++17 std::execution::par and Alpaka, on two mini-apps extracted from the mkFit project: p2z and p2r. These apps include basic kernels for a Kalman filter track fit, such as propagation and update of track parameters, for detectors at a fixed z or fixed r position, respectively. The two mini-apps explore different memory layout formats. We report on the development experience with different portability solutions, as well as their performance on GPUs and many-core CPUs, measured as the throughput of the kernels from different GPU and CPU vendors such as NVIDIA, AMD and Intel.

Kwok, Ka Martin↗

ZEM: Integrated Framework for Real-Time Data and Model Analyses for Robust Environmental Management Decision Making - 16438

Typically environmental management (EM) problems require analysis of large and complex data sets originating from concurrent data streams with different data collection frequencies and pedigree. These big data sets require on-the-fly analysis, assimilation and integration into a series of models with different complexity for various types of model-based analyses. This is needed to provide fast iterative model analyses based on the latest available data to guide decision-making. Furthermore, the data and model are associated with uncertainties. The uncertainties are probabilistic (e.g. measurement errors) and non-probabilistic (unknowns, e.g. alternative conceptual models characterizing site conditions). To address all of these issues, we have developed an integrated framework for real-time data and model analyses for environmental decision-making called ZEM. The framework allows for seamless and on-the-fly integration of data and modeling results for robust and scientifically-defensible decision-making applying advanced decision analyses tools such as Bayesian-Information-Gap Decision Theory (BIG-DT). The framework also includes advanced methods for optimization that are capable of dealing with a large number of unknown model parameters, and surrogate (reduced order) modeling capabilities based on support vector regression techniques. The framework is predominantly coded in Julia, a state-of-the-art high-performance programing language (http://julialang.org) and incorporates the MADS computational tools (Model Analysis and Decision Support; http://mads.lanl.gov). We demonstrate the application of ZEM for data and model analyses at the LANL Chromium site. The ZEM framework will be released as open-source code and can be applied to any environmental management site. (authors)

12 MANAGEMENT OF RADIOACTIVE AND NON-RADIOACTIVE W↗

Scaling Input Distributions for Probabilistic Models - 19472

It is important to address scaling issues when building models to support risk-based decisions for radioactive waste disposal sites. Currently, probabilistic risk assessment and probabilistic performance assessment models are run for multiple realizations where each realization uses one value from each input distribution over the entire modeled time. The input distributions represent the current state of knowledge in the mean of the input variable over the spatial region of interest and over the time period of the model run. This paper focuses on the time factor in input distribution scaling because it presents more serious conceptual and distributional challenges than the spatial factor. One of the challenges in temporal scaling is the effect of non-linearity on propagation of distribution uncertainty through to uncertainty in results. Radioactive waste disposal models tend to have both linear and non-linear components in their models. Dose assessment calculations are typically represented by linear models, while contaminant transport models have linear and non-linear components. In principle, temporal scaling of input parameter distributions for a linear model is straightforward, but scaling of input distributions for non-linear models is not. This paper uses examples to investigate the effects of input distribution temporal scaling on simple linear and non-linear models. Different scaling scenarios were investigated by comparing three analysis tools: analytical mathematical representations, statistical software programming, and GoldSim Monte Carlo simulation software. R statistical software is an open source statistical programming language often used for statistical analyses and graphical representation of data. GoldSim is a robust probabilistic dynamic modeling platform used in performance assessment modeling of radioactive waste sites. A simple linear model, a quadratic model and a multiplicative model were the cases explored for each of these tools. For the three analysis tools considered and with each of the scaling cases, 1,000 realizations were implemented from distributions of the random variables of interest. This is a sufficient number of realizations for simple models to capture the model space. An annual temporal resolution of a 100-year simulation period was chosen for all models and analysis tools. The effects of temporal scaling were demonstrated by investigating two different options for time scaling. Option 1 was set up so that the input distributions represented the expected value on an annual time scale, and a new value from that distribution was chosen every year (at every time step which equaled a year) for 100 years. In Option 2, the input distributions were scaled to represent the expected mean value of the input variable over the 100 years of simulation, and one value from that distribution was chosen for the entire elapsed time. Results show agreement across the three analysis tools. As expected, the linear models have identical results for the two different scaling Options, and the non-linear models diverge in the results for different time scale implementation. The implications of this work point to the need for careful consideration of input distribution temporal scaling. (authors)

12 MANAGEMENT OF RADIOACTIVE AND NON-RADIOACTIVE W↗

Implementation of new PRODIAG algorithm and simulation-based acceptance test - 219

This paper presents the improvement of an automated-reasoning computer program for nuclear power plant diagnosis, namely PRODIAG. PRODIAG, first developed at the Argonne National Laboratory, uses confluence-based reasoning to perform fault diagnosis in engineering systems that can be described by the conservation laws for mass, energy, and momentum. Therefore, unlike other plant configuration-dependent rule-based diagnosis algorithms, the code is generally applicable to a wide variety of plant configurations by simply replacing the plant instrumentation diagram (PID) database. The need for improvement was raised when the original PRODIAG failed to provide the requisite degree of extensibility and maintainability for new applications. These shortcomings have been addressed through a new code architecture that uses an objected-oriented logic-programming language in place of the original Prolog language and uses an open-source automated reasoning engine in place of the original hardwired rule-evaluation sequence. This paper presents the architecture and implementation details of the code transition. Verification and validation studies were performed for the new PRODIAG, which involved re-running the distinct fault cases defined at the time the code was originally developed. (authors)

22 GENERAL STUDIES OF NUCLEAR REACTORS↗