Engineering Papers⌕ Search

SEARCH · Engineering Papers

Results for “Python software”

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 55 records · Page 3

MCM (Marine Carbon Management) [SWR-24-122]

The marine carbon management software is an open-source Python based software that contains generic models for marine carbon capture, marine carbon dioxide removal, marine carbon capture and utilization, marine carbon capture and storage. The models include design parameters, operational conditions and scenarios and technology costs.

Niffenegger, James↗

geoPFA: A Python-Based Open-Source Software for 3D Geothermal PFA

This work presents a novel Python-based framework, geoPFA, for conducting 3D play fairway analysis (PFA) tailored to superhot geothermal systems. The workflow has been applied to the Nesjavellir field in Iceland, a candidate site for the third Iceland Deep Drilling Project's superhot production scenarios. This application demonstrates the value of modular, transparent, and extensible workflows for integrating geological, geophysical, and simulation-derived datasets in high-enthalpy environments. Preliminary results indicate favorable zones consistent with known hydrothermal activity. The geoPFA library will soon be publicly available, offering a scalable and reproducible approach to geothermal exploration across varied geological contexts.

15 GEOTHERMAL ENERGY↗

SBbadger: biochemical reaction networks with definable degree distributions

Abstract Motivation An essential step in developing computational tools for the inference, optimization and simulation of biochemical reaction networks is gauging tool performance against earlier efforts using an appropriate set of benchmarks. General strategies for the assembly of benchmark models include collection from the literature, creation via subnetwork extraction and de novo generation. However, with respect to biochemical reaction networks, these approaches and their associated tools are either poorly suited to generate models that reflect the wide range of properties found in natural biochemical networks or to do so in numbers that enable rigorous statistical analysis. Results In this work, we present SBbadger, a python-based software tool for the generation of synthetic biochemical reaction or metabolic networks with user-defined degree distributions, multiple available kinetic formalisms and a host of other definable properties. SBbadger thus enables the creation of benchmark model sets that reflect properties of biological systems and generate the kinetics and model structures typically targeted by computational analysis and inference software. Here, we detail the computational and algorithmic workflow of SBbadger, demonstrate its performance under various settings, provide sample outputs and compare it to currently available biochemical reaction network generation software. Availability and implementation SBbadger is implemented in Python and is freely available at https://github.com/sys-bio/SBbadger and via PyPI at https://pypi.org/project/SBbadger/. Documentation can be found at https://SBbadger.readthedocs.io. Supplementary information Supplementary data are available at Bioinformatics online.

59 BASIC BIOLOGICAL SCIENCES↗

Fox Trails

1. This software utilizes python pandas to pull data from P6 databases or XER files. The software transforms the datasets into multiple main tables by joining, filtering, iteratively flattening hierarchical structured data, and pivoting datasets to give simple flat output tables. The activity table includes all of the information related to an activity including activity codes, global, EPS, and project codes, UDFs, and WBS information as separate columns. This includes the code id, code value and sequence number for all levels in hierarchical codes. The resource table is similar to the activity table and includes all of the information related to resources on activities including UPFs and resource codes. The resource time phased table takes the resource information and time phases it for the budget, forecast, late, and actual dates/units/costs that closely matches P6's user interface's values as it implements the resource curve and calendars. The wbs table contains the WBS structure broken out by levels and includes UDFs, codes, and notebook topics. The final P6 data table is the relationships table which simply contains the relationships. 2. When a user updates the tool with data (via giving it P6 project names with database username/password information or XER files) the system creates the data in #1, then creates a networkx graph with the activity data imbedded in the node data and the relationships added as edges. Each edge also has it's float calculated (working time distance between the predecessor and successor) and attached to the edge. Activities are also tagged as a potential start of a path based on their constraints, constraint dates, remaining start date, and activity status. When a user enters an activity ID into the UI, it runs a shortest path calculation on the network graph between each node tagged as potential start to the entered activity id based on the float tagged on the edge. Each path returned by the algorithm contains all of the nodes on the path in order, as well as the total float of the edges that make the path. This data is then collected and returned to the user in the form of a gantt chart with groupings for each path that includes the total float for each group. 3. Similar to 2, if the user passes through a reference dataset each activity set in the path is checked to see if it had a path in the reference dataset, if that path was the primary path between the start and end activities, and what has changed regarding logic and durations. These changes are color coded and summarized before sent to the user to be displayed by the UI for simple discovery. 4. Utilizing the data from #1, the user can submit desired grouping code(s) and filters to the system. The system will then pull the activities, resources, and relationships and create a gantt chart based on the groupings sent and filtered based on the filters sent. 5. The system will produce a gantt chart in a similar method to #4, but allows interactivity with the data. As the user interacts with the gantt chart, the software captures the changes and stores it with the user making the change so that project controls and implement those changes in P6.

Fox, Ben↗

HOMP (Hybrid Operation and Maintenance Platform) [SWR-22-81]

The HOMP software module is contained within NREL's Hybrid Optimization and Performance Platform (HOPP) at this URL: https://github.com/NREL/HOPP/tree/feature/HOMP. HOMP is a python-based software module which can be used concurrently with the Hybrid Optimization and Performance Platform (HOPP) to model, simulate, and optimize degradation, reliability, and operations and maintenance of hybrid power plant components. The program currently models lithium ion battery, PEM electrolyzer, wind turbine, and solar PV array components, which enables users to understand the design and operation tradeoffs of hybrid power plants. For instance, HOMP enables users to answer questions like: how large does a battery bank need to be to achieve optimal charge/discharge rates for performance and reliability? How does plant design change for different objectives (e.g., profit versus resilience)? Under what conditions is it better to produce electricity versus hydrogen? How do we optimally control hybrid power plants to reduce downtime and increase performance?

Clark, Caitlyn↗

Automated descriptor selection, volcano curve generation, and active site determination using the DescMAP software

The material space for catalyst discovery is expansive. Volcano curves are traditionally employed to provide physical insights into optimal catalyst characteristics for new material selection. Their generation lies on a single descriptor picked using expert knowledge. Here we present DescMAP, a Python-based software, to automate the selection of descriptors, the generation of volcano maps, and the identification of active sites for structure-sensitive reactions. Here, we consider traditional energy-based and geometric descriptors for structure-sensitive reactions. DescMAP is integrated with the Virtual Kinetic Laboratory (VLab) to provide multiple functionalities. It inputs spreadsheets or template files for flexibility and outputs interactive graphs for post-processing. We demonstrate its features using the non-oxidative dehydrogenation of ethane to ethylene over (111) closed-packed surfaces and the methane total oxidation over various Pt facets. It can be easily applied to other complex chemistries and achieves quick screening of potential catalysts.

37 INORGANIC, ORGANIC, PHYSICAL, AND ANALYTICAL CH↗

Evidence-based Graph Adversary Mapping (EGRAM) [Poster]

Cybersecurity companies such as CrowdStrike, Dragos, Microsoft and Unit 42 categorize Advanced Persistent Threats (APTs) using their own naming schemes. As a result, these APTs are mapped to different malware sources and campaigns, all from differing sources, leading to inconsistent mapping. Inconsistent mapping causes confusion and adds further obscurity around these groups, making it difficult to track and mitigate APT cyberattacks. The Evidence-based Graph Adversary Mapping (EGRAM) tool remediates the mapping challenge by collecting, updating and converting adversary data and their sources into a valid, codified STIX v2.1 bundle which is then stored in a Neo4j graph database. It utilizes graph traversal methods and centrality analysis to generate actionable information as a Structured Threat Intelligence Graph (STIG), based on user queries. EGRAM exists as Python code and a Jupyter Notebook that acts as a searchable, evidence-based, source of intelligence for APT groups’ artifacts and cyber campaigns.

24 - POWER TRANSMISSION AND DISTRIBUTION↗

ZMPY3D: accelerating protein structure volume analysis through vectorized 3D Zernike moments and Python-based GPU integration

Abstract Motivation Volumetric 3D object analyses are being applied in research fields such as structural bioinformatics, biophysics, and structural biology, with potential integration of artificial intelligence/machine learning (AI/ML) techniques. One such method, 3D Zernike moments, has proven valuable in analyzing protein structures (e.g., protein fold classification, protein–protein interaction analysis, and molecular dynamics simulations). Their compactness and efficiency make them amenable to large-scale analyses. Established methods for deriving 3D Zernike moments, however, can be inefficient, particularly when higher order terms are required, hindering broader applications. As the volume of experimental and computationally-predicted protein structure information continues to increase, structural biology has become a “big data” science requiring more efficient analysis tools. Results This application note presents a Python-based software package, ZMPY3D, to accelerate computation of 3D Zernike moments by vectorizing the mathematical formulae and using graphical processing units (GPUs). The package offers popular GPU-supported libraries such as CuPy and TensorFlow together with NumPy implementations, aiming to improve computational efficiency, adaptability, and flexibility in future algorithm development. The ZMPY3D package can be installed via PyPI, and the source code is available from GitHub. Volumetric-based protein 3D structural similarity scores and transform matrix of superposition functionalities have both been implemented, creating a powerful computational tool that will allow the research community to amalgamate 3D Zernike moments with existing AI/ML tools, to advance research and education in protein structure bioinformatics. Availability and implementation ZMPY3D, implemented in Python, is available on GitHub (https://github.com/tawssie/ZMPY3D) and PyPI, released under the GPL License.

Lai, Jhih-Siang (ORCID:0000000156775890)↗

Jas4pp — A data-analysis framework for physics and detector studies

This paper describes the Jas4pp framework for exploring physics cases and for detector-performance studies of future particle collision experiments. Jas4pp is a multi-platform Java program for numeric calculations, scientific visualization in 2D and 3D, storing data in various file formats and displaying collision events and detector geometries. It also includes complex data-analysis algorithms for function minimization, regression analysis, event reconstruction (such as jet reconstruction), limit settings and other libraries widely used in particle physics. The framework can be used with several scripting languages, such as Python/Jython, Groovy and JShell. Several benchmark tests discussed in the paper illustrate significant improvements in the performance of the Groovy and JShell scripting languages compared to the standard Python implementation in C. Furthermore, the improvements for numeric computations in Java are attributed to recent enhancements in the Java Virtual Machine.

97 MATHEMATICS AND COMPUTING↗

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↗

Identification of Novel Microcystins Using High-Resolution MS and MS n with Python Code

Cyanotoxins called microcystins (MCs) are highly toxic and can be present in drinking water sources. Determining the structure of MCs is paramount because of its effect on toxicity. Though over 300 MC congeners have been discovered, many remain unidentified. In this work, a method is described for the putative identification of MCs using liquid chromatography (LC) coupled with high-resolution (HR) Orbitrap mass spectrometry (MS) and a new bottom-up sequencing strategy. Maumee River water samples were collected during a harmful algal bloom and analyzed by LC–MS with simultaneous HRMS and MS/MS. Unidentified ions with characteristic MC fragments (135 and 213 m/z) were recognized as possible novel MC congeners. An innovative workflow was developed for the putative identification of these ions. Python code was written to generate the potential structures of unidentified MCs and to assign ions after the fragmentation for structural confirmation. The workflow enabled the putative identification of eight previously reported MCs for which standards are not available and two newly discovered congeners, MC-HarR and MC-E(OMe)R.

54 ENVIRONMENTAL SCIENCES↗

Statistical Uncertainty of Inhalation Dose Coefficients: Impact of Particle Deposition in ICRP 66 Human Respiratory Tract Model

Inhaled radioactive materials can pose a long-term health concern, as the material can be incorporated into the body’s metabolic pathways and remain in organs and tissues for extended durations. During the retention period, the radioactive material may localize in a source organ and irradiate adjacent target organs and tissues. Distribution of these materials changes over time, requiring biokinetic modeling to evaluate their movement through various tissues and organs. The evolving distribution depends on multiple inputs characterizing the inhaled material, such as particle size and size distribution, particle density, aspect ratio, specific radionuclide, the chemical form, and solubility. In addition, biological parameters such as breathing rate, breathing type (nasal or nasal/oral), respiratory system morphometry, tidal volume, functional residual capacity, and anatomical dead space all influence material transport. These aerosol properties and physiological characteristics of the respiratory tract jointly define a range of initial conditions that influence the time-dependent distribution of radioactive material. To evaluate both uncertainty in the initial conditions of inhalation exposure and the final output (committed effective dose) from biokinetic models, a Python-based software tool, Radiological Exposure Dose Calculator (REDCAL), was developed to propagate uncertainty within the human respiratory tract model. Focusing on deposition fraction uncertainty, the primary objective was to characterize the initial activity distribution across respiratory regions as a function of anticipated particle sizes and distributions. The impact of the deposition fraction uncertainty was propagated to committed effective dose coefficients for selected radionuclides in a companion publication. For each particle size, a lognormal distribution, characterized by its geometric mean as defined within ICRP Publication 66, serves as the basis for introducing uncertainty into the physical processes governing deposition in various lung regions. Finally, this study addresses the deposition process and examines how uncertainty in deposition mechanisms affects activity distribution in the airways, ultimately presenting the expected range and standard deviation of deposited activity as a function of particle size.

International Commission on Radiological Protectio↗

A differentiable simulation package for performing inference of synchrotron-radiation-based diagnostics

The direction of particle accelerator development is ever-increasing beam quality, currents and repetition rates. This poses a challenge to traditional diagnostics that directly intercept the beam due to the mutual destruction of both the beam and the diagnostic. An alternative approach is to infer beam parameters non-invasively from the synchrotron radiation emitted in bending magnets. However, inferring the beam distribution from a measured radiation pattern is a complex and computationally expensive task. To address this challenge we present SYRIPY ( SYnchrotron Radiation In PYthon ), a software package intended as a tool for performing inference of synchrotron-radiation-based diagnostics. SYRIPY has been developed using PyTorch , which makes it both differentiable and able to leverage the high performance of GPUs, two vital characteristics for performing statistical inference. The package consists of three modules: a particle tracker, Lienard–Wiechert solver and Fourier optics propagator, allowing start-to-end simulation of synchrotron radiation detection to be carried out. SYRIPY has been benchmarked against SRW , the prevalent numerical package in the field, showing good agreement and up to a 50× speed improvement. Finally, we have demonstrated how SYRIPY can be used to perform Bayesian inference of beam parameters using stochastic variational inference.

43 PARTICLE ACCELERATORS↗

PV Hosting Capacity Estimation: Experiences with Scalable Framework

Hosting capacity is an indication of the amount of solar photovoltaics (PV) that can be hosted in a distribution system without additional changes to infrastructure or oper-ations. This paper presents a framework for estimating the PV hosting capacity at scale. First, we analyze computational, modeling and other key challenges of performing relevant, large-scale simulations, provided along with the experiences and lessons learned. Then, we develop two open-source Python-based software tools to conduct repeatable distribution analyses: the Distribution Integration Solution Cost Options (DISCO) for configuring and analyzing simulations and the Job Automation and Deployment Engine (JADE) for parallelizing jobs on high-performance computing clusters. A case study of hosting capacity estimation for the SMART-DS San Francisco (SFO) 2000+ synthetic feeders, is used to demonstrate the capability of the developed DISCO+JADE framework and tools. The framework and tools can help utilities assess the overall hosting capacity of their service territory, which can help them better plan for the overall upgrade costs to integrate more PV in the future. The experiences are shared to aid the tool users and researchers to conduct relevant studies and research.

distributed energy resources↗

radkit v1.2

The radkit software suite (python) consists of three primary libraries: stark, trajan, and curie. The trajan library provides the tools to analyze and manipulate data from lidar and inertial measurement unit (IMU) devices as well as trajectories from algorithms such as simultaneous localization and mapping (SLAM). These components allow reading and writing standard data formats, performing rigid affine transformations, discretizing three-dimensional space, and visualizing data products. The curie library comprises a standard set of object-oriented tools for radiation data and analysis in the following modules: (1) listmode and binmode data classes with methods for manipulation, plotting, slicing and file IO; (2) radiological/nuclear source detection/identification analysis results; (3) source encounters of correlated analyses and (4) energy-dependent angular detector response functions. The stark package provides low-level tools that are leveraged by both curie and trajan. The tools are flexible for offline analysis as well as performant for real-time integrations. The radkit libraries have associated Robot Operating System packages for use in real-time and robotic systems.

Joshi, Tenzing↗

Wrapper for the optimization of cross-section generation in OpenMC

The "Wrapper for the optimization of cross-section generation in OpenMC" is Python-based software that runs the open-source Monte Carlo code OpenMC (https://docs.openmc.org/en/stable/ ) to generate cross-sections for any reactor geometry. The wrapper then optimizes those cross sections. The optimization aims to choose an energy group structure and a scattering representation that maximize accuracy with respect to continuous-energy results while avoiding significant computational expense. It then outputs these cross-sections in an ISOXML format readable by the Idaho National Lab code suite MOOSE (Olin William Calvin, Mark D DeHart, “Architecture for the Performance of Nuclear Fuel Depletion Calculations”, Idaho National Laboratory report, November 2019). The expected use-cases of this software include: -finding the best group structure and scattering representation for a specific reactor -testing the appropriateness of energy group structures for different reactor types -comparing energy group structures and scattering representations to each other -generating cross sections for use in deterministic codes, including ones found in the MOOSE suite The example reactor geometry included in this release is a generic reactor design, not based on any reactor in existence or in development. It was fabricated for the sole purpose of being a “testbed-geometry” upon which to develop this tool. Since the tool is designed to be generic, the nature of the test geometry is not very important, however, it is valuable to include as an example for users who are unfamiliar with developing reactor geometries for OpenMC.

Kreher, Miriam↗

Autonomous Controls For Reactor Technologies (acorn)

ACORN (Autonomous Controls fOr Reactor techNologies) software utilizes data, obtained from an experimental test bed and/or simulation, to implement a control command for microreactor operation. Command examples include a change to the temperature profile, power profiles, heat fluxes, etc. The control command recommended by the code is derived based on future predicted states of a microreactor, allowing proactive optimal and autonomous microreactor operation. The software is written in Python languages. The current software supports autonomous temperature controls of heat pipe simulator and autonomous heat flux controls of a 37 heat pipe non-nuclear testbed simulator (or its surrogate models).

Lin, Linyu [Idaho National Laboratory (INL), Idaho↗

y0-causal-inference/y0

❓y0 (pronounced "why not?") is for causal inference in Python: a software library intended to support the scientific discovery process.

Hoyt, Charles Tapley↗