Engineering Papers⌕ Search

SEARCH · Engineering Papers

Results for “PYTHON”

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 919 records · Page 51

An Open-Source Parallel EMT Simulation Framework

As the integration level of inverter-based resources (IBRs) increases, ensuring the reliable operation of the bulk power systems requires the use of electromagnetic transient (EMT) simulation tools to identify and mitigate system-wide stability risks. Conducting EMT studies for large-scale, IBR-rich grids, however, is challenging due to the inherent computational bottleneck caused by the underlying high-fidelity models and required small time steps. This paper introduces ParaEMT: an open-source, generic EMT simulation framework designed to accelerate simulations by leveraging advanced parallel computational technologies, such as high-performance computers. This paper presents a comprehensive exposition of ParaEMT, covering its modeling library, simulation strategy, framework structure, operational procedures, and auxiliary features, alongside its extensible parallel computational architecture. Notably, ParaEMT is a publicly accessible and modularized framework written in Python, thereby facilitating future development and the integration of new models and algorithms. The accuracy and efficiency of ParaEMT are demonstrated by rigorous validations via multiple case studies.

electromagnetic transient simulation↗

Memory forensic analysis of a programmable logic controller in industrial control systems

In industrial control systems (ICS), programmable logic controllers (PLCs) are used to automate physical processes such as nuclear plants and power grid stations, and are often subject to cyber attacks. As in conventional IT domain, the memory analysis of the PLCs can help answer important forensic questions about the attack, such as the presence of malicious firmware, injection of modified control logic (the program running on the PLC), and manipulation of I/O devices (e.g., sensors and actuators). Unlike conventional IT domain, PLCs have heterogeneous hardware architecture, proprietary firmware and control software, making it challenging to employ a unified framework for their memory forensics. For merely extracting artifacts of forensic importance, reverse-engineering the firmware is a tedious task, and the effort needs to be repeated for every PLC model. As a community, a step-wise approach to tackle this challenge is to analyze the memory of specific PLCs, and subsequently find a generic framework applicable to all PLCs. Our work is a step forward in this direction. By following a methodology that focuses on the functional layer of PLCs instead of reverse engineering the firmware, we analyze the digital forensic artifacts available in a common PLC, Allen-Bradley ControlLogix 1756-L61. Before diving into the memory dump, we analyze the PLC control software to create a list of important artifacts that are sure to exist in the PLC memory dump. The approach employs a setup where PLC control software RSLogix-5000 is connected to the PLC, and the memory dump can be obtained as and when needed. We create test cases that sequentially highlight each category of artifacts, followed by an examination of the resultant impact on memory. After attaining the listed artifacts, we employ conventional string and known data searches to extract interesting information present in this PLC's memory. The memory analysis profile, presented as a Python library and shared with the community, can help a forensic investigator to readily extract forensic artifacts from the same model's controller. The adopted approach may help researchers in creating memory profile of other PLCs, and ultimately formulating a generic PLC memory analysis framework.

Rais, Muhammad Haris↗

Towards generic memory forensic framework for programmable logic controllers

A Programmable Logic Controller (PLC) is a microprocessor-based controller that is used to automate physical processes in critical infrastructure and various other industries and manufacturing sectors. Initially, PLCs were completely isolated from the Internet, and cyber security was not incorporated at the time of development. The introduction of industry 4.0 and the evolution of ICS systems to communicate over public IP addresses from the Internet enhanced productivity and efficiency, but Internet connectivity exposed the systems and their vulnerabilities, which led to an increase in cyber attacks. When a system is sabotaged/compromised, security analysts need to get to the root cause of the attack as quickly as possible to recover the system. To do so, memory forensic analysis is critical to provide a unique insight into the run-time memory activities and extract a reliable source of evidence. In this paper, we analyze the memory structure of the Schneider Electric Modicon M221 PLC. To build a memory profile, we reverse engineer the communication protocol and conduct differential analysis to gain knowledge about the structure of the memory and the low-level representation of control logic instructions. We then identify dynamic and static memory regions by modifying different project fields and conducting differential analysis, which allows us to identify boundaries of critical memory structures and extract important forensic artifacts that can be found in the memory. The Python implementation of the memory profile can help reduce the time and effort required for manual analysis in case of cyber incident or system failure.

97 MATHEMATICS AND COMPUTING↗

Investigating the application of Kalman Filters for real-time accountancy in fusion fuel cycles

Here tritium accountancy in the fusion fuel cycle is a significant concern for the operation of commercial devices. It is expected that a limit on the maximum amount of tritium inventory in the system will be implemented, meaning that accountancy of the tritium inventory in the fuel cycle will need to be as accurate as possible. This is difficult since not all locations along the fuel cycle can benefit from the implementation of a tritium accountancy sensor and measurements will inherently contain error. Commercial fusion plants will also operate continuously, challenging current accountancy techniques that rely on static processes in well-controlled environments. In this paper a simple fusion fuel cycle concept is defined and the tritium inventory over time of each component is modelled using the Euler Approximation of a series of differential Equations in Python. This information is then used to simulate sensor measurements at specific points on the fuel cycle and then passed through a Kalman Filter (KF) to improve the accuracy of the true measurement of the sensors.

70 PLASMA PHYSICS AND FUSION TECHNOLOGY↗

Shutdown dose rate analysis with the Shift Monte Carlo radiation transport code and modular verification workflow

Calculation of the shutdown dose rate is crucial for safe fusion reactor operations. The Rigorous-two-step (R2S) method is a method that requires connected neutron transport, activation, and gamma transport. Shift has integrated variance reduction with a deterministic solver Denovo, supports multiple geometry formats, and is scalable. These features make it an attractive transport solver choice for an R2S workflow. An R2S workflow for the Shift Monte Carlo code is developed and compared to the existing Oak Ridge National Laboratory Shutdown Dose Rate Code Suite (ORCS) workflow. Also, a Python framework for integrating two R2S workflows is developed to mix and match each step in the R2S workflow for improved collaboration and verification experience. In this study, results show that the Shift-Denovo R2S workflow and the ORCS workflow calculate the shutdown dose rate of the ITER Shutdown Dose Rate benchmark problem with an average relative error of 2.285%.

70 PLASMA PHYSICS AND FUSION TECHNOLOGY↗

The globus compute dataset: An open function-as-a-service dataset from the edge to the cloud

Here we present a unique function-as-a-service (FaaS) dataset capturing the use of the Globus Compute (previously funcX) platform. Globus Compute implements a federated model via which users may deploy endpoints on arbitrary remote computers, from the edge to high performance computing (HPC) cluster, and they may then invoke Python functions on those endpoints via a reliable cloud -hosted service. The dataset covers 31 weeks and includes 2121472 task submissions from 252 users executed on 580 remote computing endpoints. It includes 277386 registered functions. We describe the dataset and various observations, some that are similar to other FaaS datasets, for example, that 74% of tasks run for less than 1 s, and some that are unique to Globus Compute, for example, that endpoints are used in different ways and that the majority of functions are related to scientific computing and machine learning. To the best of our knowledge, this dataset represents the first federated FaaS dataset that includes user workloads, distributed computing endpoints, and analysis of registered function bodies. We expect the dataset to be useful for researching FaaS architectures, workload modeling, container warming, and other distributed computing architectures.

97 MATHEMATICS AND COMPUTING↗

CG-Kit: Code Generation Toolkit for performant and maintainable variants of source code applied to Flash-X hydrodynamics simulations

CG-Kit is a new Code Generation tool-Kit that we have developed as a part of the solution for portability and maintainability for multiphysics computing applications. The development of CG-Kit is rooted in the urgent need created by the shifting landscape of high-performance computing platforms and the algorithmic complexities of a particular large-scale multiphysics application: Flash-X. To efficiently use computing resources on a heterogeneous node, an application must have a map of computation to resources and a mechanism to move the data and computation to the resources according to the map. Most existing performance portability solutions are focussed on abstracting the expression of computations so that a unified source code can be specialized to run on different resources. However, such an approach is insufficient for a code like Flash-X, which has a multitude of code components that can be assembled in various permutations and combinations to form different instances of applications. Similar challenges apply to any code that has composability, where a single specified way of apportioning work among devices may not be optimal. Additionally, use cases arise where the optimal control flow of computation may differ for different devices while the underlying numerics remain identical. This combination leads to unique challenges including handling an existing large code base in Fortran and/or C/C++, subdivision of code into a great variety of units supporting a wide range of physics and numerical methods, different parallelization techniques for distributed and shared memory systems and accelerator devices, and heterogeneity of computing platforms requiring coexisting variants of parallel algorithms. All of these challenges demand that scientific software developers apply existing knowledge about domain applications, algorithms, and computing platforms to determine custom abstractions and granularity for code generation. There is a critical lack of tools to tackle those problems. CG-Kit is designed to fill this gap by providing a user with the ability to express their desired control flow and computation-to-resource map in the form a pseudocode-like recipe. It consists of standalone tools that can be combined into highly specific and, we argue, highly effective portability and maintainability toolchains. Here we present the design of our new tools: parametrized source trees, control flow graphs, and recipes. The tools are implemented in Python. They are agnostic to the programming language of the source code targeted for code generation. In conclusion, we demonstrate the capabilities of the toolkit with two examples, first, multithreaded variants of the basic AXPY operation, and second, variants of parallel algorithms within a hydrodynamics solver, called Spark, from Flash-X that operates on block-structured adaptive meshes.

Algorithmic portability↗

Scalable Generation of High-fidelity Synthetic Population Ensembles

Used within social simulations, synthetic population ensembles enable uncertainty quantification (UQ) methods for obtaining more robust model inference and prediction. A synthetic population ensemble is a series of plausible virtual reconstructions of an area’s population at the granularity of people and residences, generated stochastically to preserve privacy of the source population survey’s respondents. In this paper, we demonstrate the production of large synthetic population ensembles for the U.S. via Oak Ridge National Laboratory’s UrbanPop framework to support modeling of high spatial resolution energy affordability metrics from nationwide social surveys in collaboration with the fusionACS project. The study involves two scenarios: creating ensembles for (1) 17 U.S. metropolitan areas in 2019 and (2) full U.S. Census Divisions in 2023, with each scenario consisting of 41 population instances (a base realization and 40 replicates). To accomplish this task at scale, we configured an integrated system within a research cloud, comprised of virtual containerizations, GPU-enhanced functionality, and orchestrated deployments of UrbanPop’s maturing Likeness Python ecosystem. Results demonstrate we maintained high-fidelity approximations of residential totals by areas of interest and the demographic characteristics of neighborhoods while reducing manual workflow burdens. Finally, we discuss plans to fine-tune and further develop our automated workflows for truly distributed job orchestration to increase computational efficiency, as well as provide an outlook for broadening applications of the ensembles.

Cluster computing↗

DTLMod: A simulation framework for in situ workflow optimization

In situ processing workflows have become essential for coping with the explosion in data volume and velocity in large-scale scientific computing, providing domain scientists with early insights at runtime. Multiple frameworks implement this paradigm through a data transport layer (DTL), offering different data access modes and deployment schemes, but researchers currently lack the appropriate tools to assess design and deployment options before committing to costly real experiments. We introduce DTLMod, an open-source simulated DTL that enables performance evaluation of in situ workflow configurations at scale. Built on SimGrid, it links into any SimGrid-based simulator and is available in C++ and Python. We evaluate DTLMod along four axes: scalability (tens of thousands of simulated processes across interconnected clusters in seconds, with linear memory scaling), versatility (three implementation variants trading fidelity for speed), accuracy (simulated times faithfully reflecting real behavior), and practical utility (two use cases demonstrating evidence-based workflow design decisions).

Suter, Fred [ORNL] (ORCID:0000000319021955)↗

Web-based wide-area monitoring platform for ringdown and clustering analytics in power systems

This paper introduces an open-source research platform for monitoring the Mexican interconnected power grid, allowing real-time processing and information extraction of the grid’s dynamic condition. Moreover, the platform is a Python-based development that embeds different ringdown and clustering analytics tools. In the case of ringdown analysis, the modal information can be extracted using some of the most known algorithms, i.e., Prony analysis, eigensystem realization algorithm (ERA), and matrix pencil (MP). For clustering analysis, the coherent behaviour of generator and non-generator buses is provided by applying recent state-of-the-art techniques such as affinity propagation, K-means, hierarchical agglomerative clustering, and typicality data analysis. The results of up to 93 PMUs show that this open-source platform suits researchers’ and engineers’ power system dynamic analysis requirements.

Clustering↗

Carbon dioxide pipeline network transportation cost model: evaluating economic and geographic factors for efficient carbon capture, storage, and utilization

This study presents a comprehensive pipeline network modeling framework to estimate the CO 2 delivery cost for CO 2 utilization and geologic CO 2 storage across the United States. We developed a Python-based CO 2 pipeline transportation cost model leveraging Argonne National Laboratory’s pipeline engineering expertise and detailed natural gas transmission pipeline cost data across U.S. regions. Using existing road corridors as practical routing guides, the model designs pipeline networks that aggregate CO 2 from one or multiple sources and deliver it to selected destinations. It then minimizes the total transportation cost by optimizing pipeline diameters and incorporating booster pumps. A key contribution is the incorporation of up-to-date, region-specific cost factors with itemized components for materials, labor, miscellaneous construction expenses, and right-of-way acquisition. Results emphasize that regional variation and economies of scale associated with CO 2 pipeline costs are significant and should be explicitly accounted for in screening and planning studies. By combining realistic routing constraints with regionalized cost inputs, the model provides transparent design methodology and location-specific insights into source–destination delivery costs, including the effects of routing complexity along existing road networks. We demonstrate the model with two illustrative case studies – one for CO 2 storage and one for CO 2 utilization – in which the model designs pipeline networks spanning hundreds of miles across the states, collecting CO 2 from multiple sources and delivering it to designated endpoints while minimizing levelized cost of delivery via diameter and compression optimization. The model offers a practical, scalable approach for alternative design option screening and early-stage CO 2 transportation planning.

CCS↗

Metal additively manufactured wavy fin cold-plate architecture for improved thermal-hydraulic performance

Rapid growth in artificial intelligence and data center workloads demands high-performance liquid cooling to manage increasing chip power. This study presents two metal-additive-manufactured cold plates with sinusoidal fins, constant-amplitude wavy fins and linearly variable-amplitude wavy fins and compares them against metal-additive-manufactured straight fins using experiments conducted at 1 kW heat dissipation as well as high-fidelity 3D conjugate computational fluid dynamic simulations. The cold plates were printed in AlSi10Mg material and underwent design using a Python-automated workflow prior to manufacture and testing. The experiments show that wavy fins reduce the normalized thermal resistance by 35 to 45 % at water flow rates from 1 to 4 LPM. At a fixed 20 kPa pressure drop, the variable-waviness design lowered peak surface temperature by 9 °C and thermal resistance by 51 %, while edge-channel maldistribution in the constant wavy fin design limited gains. A thermal resistance breakdown revealed that 55–63 % of the total thermal resistance in wavy designs comes from base heat conduction, 27–33 % from fin heat conduction, and 9–13 % from fin heat convection, indicating the need to address conduction bottlenecks. Parametric sweeps identify a 3 mm fin pitch as optimal, and that horizontal inlet/outlet manifolds further reduce pressure drop by 30–60 % and thermal resistance by 9–16 % relative to vertical inlet-outlet manifolds. The results yield comprehensive guidelines for fin geometry, manifold alignment, material selection and additive-manufacturing constraints to realize high-performance liquid-cooled cold plates for power-dense electronics.

3d printing↗

Economic assessment of seismic monitoring for underground hydrogen storage

Underground hydrogen storage (UHS) plays a key role in the energy landscape. However, like other subsurface engineering technologies, UHS may cause leakage into the groundwater or atmosphere and possibly induce local seismicity. To reduce these risks, seismic monitoring could be a viable technique to track the UHS plume, detect leakages, and locate induced seismicity events. Seismic monitoring has been proposed to safely monitor UHS, but research in this area is still new and requires field studies. Lab and theoretical studies have demonstrated the validity of seismic monitoring for UHS. Therefore, it is imperative to analyze the economic feasibility of seismic monitoring for UHS. Hence, we develop a cost model and open-source Python code for seismic monitoring that considers types of seismometers, comprehensive operational scenarios, detection thresholds, and long-term leakage monitoring. A case study is further provided to validate the cost model on reservoir simulations of UHS. We find that the levelized cost for a 10-year operating UHS site will range on the order of ∼0.003 $\$$/kg. The methods developed in this study could also be applied to the monitoring of groundwater, gas, and/or wastewater injection.

08 HYDROGEN↗

Uncertainty quantification in scientific machine learning: Methods, metrics, and comparisons

Neural networks (NNs) are currently changing the computational paradigm on how to combine data with mathematical laws in physics and engineering in a profound way, tackling challenging inverse and ill-posed problems not solvable with traditional methods. However, quantifying errors and uncertainties in NN-based inference is more complicated than in traditional methods. This is because in addition to aleatoric uncertainty associated with noisy data, there is also uncertainty due to limited data, but also due to NN hyperparameters, overparametrization, optimization and sampling errors as well as model misspecification. Although there are some recent works on uncertainty quantification (UQ) in NNs, there is no systematic investigation of suitable methods towards quantifying the total uncertainty effectively and efficiently even for function approximation, and there is even less work on solving partial differential equations and learning operator mappings between infinite-dimensional function spaces using NNs. In this work, we present a comprehensive framework that includes uncertainty modeling, new and existing solution methods, as well as evaluation metrics and post-hoc improvement approaches. Further, to demonstrate the applicability and reliability of our framework, we present an extensive comparative study in which various methods are tested on prototype problems, including problems with mixed input-output data, and stochastic problems in high dimensions. In the Appendix, we include a comprehensive description of all the UQ methods employed. Further, to help facilitate the deployment of UQ in Scientific Machine Learning research and practice, we present and develop in [1] an open-source Python library (github.com/Crunch-UQ4MI/neuraluq), termed NeuralUQ, that is accompanied by an educational tutorial and additional computational experiments.

11 physics-informed neural networks↗

Quantitative assessment of particle dispersion in polymeric composites and its effect on mechanical properties

In this work, an automated image analysis tool is developed to establish quantitative correlations between the particle/cluster size distribution and the mechanical properties of particle reinforced polymer composites (PRPC).This automated image analysis tool is developed within python programming software to process and analyze the microstructural images of the polymerbased composite materials. The spent coffee bean powder (SCBP) reinforced poly-propylene carbonate (PPC) polymer composite with differing wt.% of the filler is selected for the analysis. Detailed statistical analysis of the microstructural images reveals that ‘clustering of clusters’ is also presented in addition to the most commonly reported ‘clustering of particles’, and the distribution of particle/clusters is bimodal. Based on these findings, an effective volume fraction for the filler material is proposed to mainly capture the agglomeration effect. With this effective volume fraction, the standard rule-of-mixture model correctly captures the experimentally measured tensile strength and modulus as a function of filler wt.%. Further, the applicability of this effective volume fraction for other theoretical models is also analyzed. The detailed statistical analysis of the microstructure and the proposed effective volume fraction helps to develop a deeper quantitative understanding of the PRPC than the conventional qualitative correlation of microstructural features with the properties and failure processes.

36 MATERIALS SCIENCE↗

Optimal checkpointing for adjoint multistage time-stepping schemes

Here, we consider checkpointing strategies that minimize the number of recomputations needed when performing discrete adjoint computations using multistage time-stepping schemes that require computing several substeps within one complete time step. Specifically, we propose two algorithms that can generate optimal checkpoint-ing schedules under weak assumptions. The first is an extension of the seminal Revolve algorithm adapted to multistage schemes. The second algorithm, named CAMS, is developed based on dynamic programming, and it requires the least number of recomputations when compared with other algorithms. The CAMS algorithm is made publicly available in a library with bindings to C and Python. Numerical results show that the proposed algorithms can deliver up to two times the speedup compared with that of classical Revolve. Moreover, we discuss the utilization of the CAMS library in mature scientific computing libraries and demonstrate the ease of using it in an adjoint workflow. The proposed algorithms have been adopted by the PETSc TSAdjoint library. Their performance has been demonstrated with a large-scale PDE-constrained optimization problem on a leadership-class supercomputer. This work is a significant extension of the authors' conference paper.

97 MATHEMATICS AND COMPUTING↗

A pseudo-two-dimensional (P2D) model for FeS 2 conversion cathode batteries

Conversion cathode materials are gaining interest for secondary batteries due to their high theoretical energy and power density. However, practical application as a secondary battery material is currently limited by practical issues such as poor cyclability. To better understand these materials, we have, for this study, developed a pseudo-two-dimensional model for conversion cathodes. We apply this model to FeS 2 – a material that undergoes intercalation followed by conversion during discharge. The model is derived from the half-cell Doyle–Fuller–Newman model with additional loss terms added to reflect the converted shell resistance as the reaction progresses. We also account for polydisperse active material particles by incorporating a variable active surface area and effective particle radius. Using the model, we show that the leading loss mechanisms for FeS 2 are associated with solid-state diffusion and electrical transport limitations through the converted shell material. The polydisperse simulations are also compared to a monodisperse system, and we show that polydispersity has very little effect on the intercalation behavior yet leads to capacity loss during the conversion reaction. Finally, we provide the code as an open-source Python Battery Mathematical Modeling (PyBaMM) model that can be used to identify performance limitations for other conversion cathode materials.

25 ENERGY STORAGE↗

A discrete integral transform for rapid spectral synthesis

Accurate synthetic spectra that rely on large Line-By-Line (LBL)-databases are used in a wide range of applications such as high temperature combustion, atmospheric re-entry, planetary surveillance and laboratory plasmas. Conventionally synthetic spectra are calculated by computing a lineshape for every spectral line in the database and adding those together, which may take multiple hours for large databases. In this paper we propose a new approach for spectral synthesis based on an integral transform: the synthetic spectrum is calculated as the integral over the product of a Voigt profile and a newly proposed three-dimensional “lineshape distribution function”, which is a function of spectral position and Gaussian- & Lorentzian width coordinates. A fast discrete version of this transform based on the Fast Fourier Transform (FFT) is proposed, which improves performance compared to the conventional approach by several orders of magnitude while maintaining accuracy. Strategies that minimize the discretization error are discussed. A Python implementation of the method is compared against state-of-the-art spectral code RADIS, and is since adopted as RADIS's default synthesis method. The synthesis of a benchmark CO2 spectrum consisting of 1.8 M spectral lines and 200k spectral points took only 3.1 s using the proposed method (1011 lines × spectral points/s), a factor ~300 improvement over the state-of-the-art, with the relative improvement generally increasing for higher number of lines and/or number of spectral points. Finally, an experimental GPU-implementation of the method was also benchmarked, which demonstrated another 2~3 orders performance increase, achieving up to 5 ∙ 10 14 lines × spectral points/s.

42 ENGINEERING↗