Engineering Papers⌕ Search

SEARCH · Engineering Papers

Results for “Computer Programming and 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 163 records · Page 9

Oak Ridge Computing Academy: An HPC cluster deployment and management pilot

The High Performance Computing Technologies (HPCT) course is a hands-on High Performance Computing (HPC) cluster deployment and management training program offered as part of the International School for Advanced Studies (SISSA) and the International Center for Theoretical Physics (ICTP) Master in High Performance Computing (MHPC) specialization. Here, this training program introduces students to key concepts in cluster configuration. which include networking, software stack provisioning, job scheduling, and monitoring. The publicly available course materials feature several examples and underlying methods that are broadly applicable to cluster deployment and management. This paper discusses the design of a new workforce development program at the Oak Ridge National Laboratory that is based on HPCT, the Oak Ridge Computing Academy (ORCA). The ORCA pilot program was hosted by the Oak Ridge Leadership Computing Facility (OLCF) in Summer 2025. As a part of this discussion, HPCT and ORCA course contents and infrastructure are outlined, ORCA participant experiences are detailed, and potential opportunities for improvement are discussed.

Education↗

PETSc Users Manual (Rev. 3.4)

This manual describes the use of PETSc for the numerical solution of partial differential equations and related problems on high-performance computers. The Portable, Extensible Toolkit for Scientific Computation (PETSc) is a suite of data structures and routines that provide the building blocks for the implementation of large-scale application codes on parallel (and serial) computers. PETSc uses the MPI standard for all message-passing communication. PETSc includes an expanding suite of parallel linear, nonlinear equation solvers and time integrators that may be used in application codes written in Fortran, C, C++, Python, and MATLAB (sequential). PETSc provides many of the mechanisms needed within parallel application codes, such as parallel matrix and vector assembly routines. The library is organized hierarchically, enabling users to employ the level of abstraction that is most appropriate for a particular problem. By using techniques of object-oriented programming, PETSc provides enormous flexibility for users. PETSc is a sophisticated set of software tools; as such, for some users it initially has a much steeper learning curve than a simple subroutine library. In particular, for individuals without some computer science background, experience programming in C, C++ or Fortran and experience using a debugger such as gdb or dbx, it may require a significant amount of time to take full advantage of the features that enable efficient software use. However, the power of the PETSc design and the algorithms it incorporates may make the efficient implementation of many application codes simpler than “rolling them” yourself; For many tasks a package such as MATLAB is often the best tool; PETSc is not intended for the classes of problems for which effective MATLAB code can be written. PETSc also has a MATLAB interface, so portions of your code can be written in MATLAB to “try out” the PETSc solvers. The resulting code will not be scalable however because currently MATLAB is inherently not scalable; and PETSc should not be used to attempt to provide a “parallel linear solver” in an otherwise sequential code. Certainly all parts of a previously sequential code need not be parallelized but the matrix generation portion must be parallelized to expect any kind of reasonable performance. Do not expect to generate your matrix sequentially and then “use PETSc” to solve the linear system in parallel. Since PETSc is under continued development, small changes in usage and calling sequences of routines will occur. PETSc is supported; see the web site http://www.mcs.anl.gov/petsc for information on contacting support. A http://www.mcs.anl.gov/petsc/publications may be found a list of publications and web sites that feature work involving PETSc. We welcome any reports of corrections for this document.

97 MATHEMATICS AND COMPUTING↗

PETSc Users Manual (Rev. 3.5)

This manual describes the use of PETSc for the numerical solution of partial differential equations and related problems on high-performance computers. The Portable, Extensible Toolkit for Scientific Computation (PETSc) is a suite of data structures and routines that provide the building blocks for the implementation of large-scale application codes on parallel (and serial) computers. PETSc uses the MPI standard for all message-passing communication. PETSc includes an expanding suite of parallel linear, nonlinear equation solvers and time integrators that may be used in application codes written in Fortran, C, C++, Python, and MATLAB (sequential). PETSc provides many of the mechanisms needed within parallel application codes, such as parallel matrix and vector assembly routines. The library is organized hierarchically, enabling users to employ the level of abstraction that is most appropriate for a particular problem. By using techniques of object-oriented programming, PETSc provides enormous flexibility for users. PETSc is a sophisticated set of software tools; as such, for some users it initially has a much steeper learning curve than a simple subroutine library. In particular, for individuals without some computer science background, experience programming in C, C++ or Fortran and experience using a debugger such as gdb or dbx, it may require a significant amount of time to take full advantage of the features that enable efficient software use. However, the power of the PETSc design and the algorithms it incorporates may make the efficient implementation of many application codes simpler than “rolling them” yourself. ;For many tasks a package such as MATLAB is often the best tool; PETSc is not intended for the classes of problems for which effective MATLAB code can be written. PETSc also has a MATLAB interface, so portions of your code can be written in MATLAB to “try out” the PETSc solvers. The resulting code will not be scalable however because currently MATLAB is inherently not scalable; and PETSc should not be used to attempt to provide a “parallel linear solver” in an otherwise sequential code. Certainly all parts of a previously sequential code need not be parallelized but the matrix generation portion must be parallelized to expect any kind of reasonable performance. Do not expect to generate your matrix sequentially and then “use PETSc” to solve the linear system in parallel. Since PETSc is under continued development, small changes in usage and calling sequences of routines will occur. PETSc is supported; see the web site http://www.mcs.anl.gov/petsc for information on contacting support. A http://www.mcs.anl.gov/petsc/publications may be found a list of publications and web sites that feature work involving PETSc. We welcome any reports of corrections for this document.

97 MATHEMATICS AND COMPUTING↗

BARC Element Classifier (barc)

SAND2024-02120O This program enumerates and classifies all possible functional elements in several different categories within the Ballistic Asynchronous Reversible Computing (barc) model of computation. barc software is a research tool that is being used to help document the possible digital behaviors of primitive functional elements in the ABRC a.k.a. BARC model of computation. The method of operation of this software leverages elementary concepts and methods from discrete mathematics: combinatorics (permutations), partitions and equivalence classes, symmetry transformations, and the theory of finite groups. Implementation is in Python programming language. Sandia National Laboratories is a multimission laboratory managed and operated by National Technology & Engineering Solutions of Sandia, LLC, a wholly owned subsidiary of Honeywell International Inc., for the U.S. Department of Energy’s National Nuclear Security Administration under contract DE-NA0003525.

Frank, Michael↗

SonicPy: a suite of programs for ultrasound pulse-echo data acquisition and analysis

Sound speed and elastic constants measurements in solids and liquids are commonly performed using the ultrasound pulse-echo technique. Recent advances have expanded the use of this technique at numerous high pressure synchrotron beamlines and offline laboratories. However, the increased experimental throughput has revealed many limitations in existing software for handling the rapid measurement and the subsequent data-reduction. Here, we report the development of a collection of computer programs for sound speed measurements using the ultrasound pulse-echo technique, compatible with stepped multi-frequency, as well as broadband-pulse, couplant-corrected methods. The programs provide a highly interactive graphical interface, enable efficient measurement, exploration and near real-time analysis of the ultrasound data, and contain features useful for working with samples under high pressure and/or high temperature. The included analysis programs can alleviate the time required for data reduction from hours to less than a minute, allowing users to make timely and informed decisions regarding the appropriate experimental parameters.

97 MATHEMATICS AND COMPUTING↗

Hardening DOE R&D Software Tools for Web-based Visualization SBIR Phase I Final Report

Ubiquitous web-based visualization is essential to delivering large-scale data visualization to various stakeholders, from the scientist to the board member. These stakeholders will not tolerate a stalled application or a pop-up window asking them to wait for the processing to complete. They require a responsive and interactive visualization environment with high-quality imagery suitable for detailed analysis and boardroom presentations. At Kitware, Inc., we have accomplished web visualization to this point, leveraging state-of-the-art tools like HTML5, CSS3, SVG, Canvas, and WebGL. Solutions that leverage a combination of these technologies are necessary to handle workloads that vary significantly in data size efficiently. However, it is not always practical to move large data to the web client for visualization. Kitware's ParaView as a Service combines client-side visualization using both distributed processing and remote rendering on big data impractical to move. Existing distributed processing and remote rendering solution's interactivity is below the expectations of web-based applications. Our project examined proposed solutions to the areas outlined above in ParaView as a Service. We have investigated concurrent pipelines, streaming images, progressive rendering, and optimization of algorithms and data movement to address these concerns. For the Phase I project, we completed the proposed work plan. As a result, the project produced three prototypes of essential importance for web visualization and the ParaView as a Service community. We created a simple desktop application for an interactive streamline placement prototype, a web-based interactive streamline placement prototype, and a web-based progressive rendering utilizing raytracing prototype. These prototypes relied on the hardening of emerging software toolkits funded by the Department of Energy (DOE) Advanced Scientific Computing Research (ASCR) program (such as ParaView, VTK-m, and Mochi). We blended these components into web-based visualization prototypes that meet the industry's expectations for interactivity and responsiveness. The Phase I project had four essential focus areas: 1. Develop prototype ParaView as a Service backend server using asynchronous, non-blocking design principles. 2. Develop a prototype web application that uses the ParaView as a Service backend server for remote data visualization. 3. Implement image streaming with encoding/compression and progressive rendering capabilities in the proposed platform. 4. Evaluate the prototype developed and summarize observations, including the challenges and pitfalls of our approach. After our successful completion of Phase I, we are strongly positioned to propose a successful Phase II project.

Geveci, Berk↗

Computer Programs For Analysis Of Thermally Reactive Tracer Tests In Geothermal Reservoirs

The Tracer Analysis Toolbox (TAT) is a stand-alone executable software package that focuses on reservoir monitoring, using changes in concentration of thermally degrading tracers between and injection well and a production well to reflect the temperature-time histories along flow paths through the reservoir. By conducting such tests periodically, the thermal evolution of the flow paths connecting injection wells to production wells can be monitored. Because this approach is sensitive to temperature along the whole path, it can detect changes well before they occur at the distal end of the path (i.e., the production well). Thus, the thermally degrading tracer method provides early detection of thermal decline before it impacts that well. The goal of TAT is to simplify planning of a reactive tracer monitoring campaign and interpretation of results by providing: (1) tracer test planning and analysis tools to define the necessary kinetic parameters, injection concentrations, and other tracer parameters that are suitable for the expected reservoir residence time and temperature, (2) identification of tracers with suitable characteristics (defined by (1)) and (3) a suite of analysis programs to analyze tracer test results.

Plummer, MitchellAaron [Idaho National Laboratory ↗

Economic Analysis of Complex Nuclear Fuel Cycles with NE-COST

The purpose of this work is to present a new methodology, and associated computational tools, developed within the U.S. Department of Energy (U.S. DOE) Fuel Cycle Option Campaign to quantify the economic performance of complex nuclear fuel cycles. The levelized electricity cost at the busbar is generally chosen to quantify and compare the economic performance of different baseload generating technologies, including of nuclear: it is the cost of electricity which renders the risk-adjusted discounted net present value of the investment cash flow equal to zero. The work presented here is focused on the calculation of the levelized cost of electricity of fuel cycles at mass balance equilibrium, which is termed LCAE (Levelized Cost of Electricity at Equilibrium). To alleviate the computational issues associated with the calculation of the LCAE for complex fuel cycles, a novel approach has been developed, which has been called the “island approach” because of its logical structure: a generic complex fuel cycle is subdivided into subsets of fuel cycle facilities, called islands, each containing one and only one type of reactor or blanket and an arbitrary number of fuel cycle facilities. A nuclear economic software tool, NE-COST, written in the commercial programming software MATLAB®, has been developed to calculate the LCAE of complex fuel cycles with the “island” computational approach. NE-COST has also been developed with the capability to handle uncertainty: the input parameters (both unit costs and fuel cycle characteristics) can have uncertainty distributions associated with them, and the output can be computed in terms of probability density functions of the LCAE. In this paper NE-COST will be used to quantify, as examples, the economic performance of (1) current Light Water Reactors (LWR) once-through systems; (2) continuous plutonium recycling in Fast Reactors (FR) with driver and blanket; (3) Recycling of plutonium bred in FR into LWR. For each fuel cycle, the contributions to the total LCAE of the main cost components will be identified.

Fuel Cycles↗

Performance on HPC Platforms Is Possible Without C++

Computing at large scales has become extremely challenging due to increasing heterogeneity in both hardware and software. More and more scientific workflows must tackle a range of scales and use machine learning and AI intertwined with more traditional numerical modeling methods, placing more demands on computational platforms. These constraints indicate a need to fundamentally rethink the way computational science is done and the tools that are needed to enable these complex workflows. The current set of C++-based solutions may not suffice, and relying exclusively upon C++ may not be the best option, especially because several newer languages and boutique solutions offer more robust design features to tackle the challenges of heterogeneity. In June 2023, we held a mini symposium that explored the use of newer languages and heterogeneity solutions that are not tied to C++ and that offer options beyond template metaprogramming and Parallel. For for performance and portability. In conclusion, we describe some of the presentations and discussion from the mini symposium in this article.

97 MATHEMATICS AND COMPUTING↗

DeePKS-kit: A package for developing machine learning-based chemically accurate energy and density functional models

We introduce DeePKS-kit, an open-source software package for developing machine learning based energy and density functional models. DeePKS-kit is interfaced with PyTorch, an open-source machine learning library, and PySCF, an ab initio computational chemistry program that provides simple and customized tools for developing quantum chemistry codes. It supports the DeePHF and DeePKS methods. In addition to explaining the details in the methodology and the software, we also provide an example of developing a chemically accurate model for water clusters.

37 INORGANIC, ORGANIC, PHYSICAL, AND ANALYTICAL CH↗

Thermodynamic Investigation of the Effect of Target Compositions and Conditions of Their Magnetron Sputtering on Phase Compositions of the Resulting Films

A thermodynamic investigation of plasmochemical processes taking place in a magnetron during sputtering of the targets consisting of indium and dysprosium ions is performed, which allowed identifying the feasibility of forming under the given conditions certain amounts of the chemical compounds In{sub 2}O{sub 3}, Dy{sub 2}O{sub 3}, DyInO{sub 3}. In the thermodynamic analysis of the equilibrium compositions during magnetron sputtering of the films, a universal TERRA software program is used.

75 CONDENSED MATTER PHYSICS, SUPERCONDUCTIVITY AND↗

An extension to V ORO ++ for multithreaded computation of Voronoi cells

V ORO ++ is a software library written in C++ for computing the Voronoi tessellation, a technique in computational geometry that is widely used for analyzing systems of particles. V ORO ++ was released in 2009 and is based on computing the Voronoi cell for each particle individually. Here, we take advantage of modern computer hardware, and extend the original serial version to allow for multithreaded computation of Voronoi cells via the OpenMP application programming interface. We test the performance of the code, and demonstrate that it can achieve parallel efficiencies greater than 95% in many cases. Further, the multithreaded extension follows standard OpenMP programming paradigms, allowing it to be incorporated into other programs. We provide an example of this using the VoroTop software library, performing a multithreaded Voronoi cell topology analysis of up to 102.4 million particles.

97 MATHEMATICS AND COMPUTING↗

A large-scale analysis of bioinformatics code on GitHub

In recent years, the explosion of genomic data and bioinformatic tools has been accompanied by a growing conversation around reproducibility of results and usability of software. However, the actual state of the body of bioinformatics software remains largely unknown. Here, the purpose of this paper is to investigate the state of source code in the bioinformatics community, specifically looking at relationships between code properties, development activity, developer communities, and software impact. To investigate these issues, we curated a list of 1,720 bioinformatics repositories on GitHub through their mention in peer-reviewed bioinformatics articles. Additionally, we included 23 high-profile repositories identified by their popularity in an online bioinformatics forum. We analyzed repository metadata, source code, development activity, and team dynamics using data made available publicly through the GitHub API, as well as article metadata. We found key relationships within our dataset, including: certain scientific topics are associated with more active code development and higher community interest in the repository; most of the code in the main dataset is written in dynamically typed languages, while most of the code in the high-profile set is statically typed; developer team size is associated with community engagement and high-profile repositories have larger teams; the proportion of female contributors decreases for high-profile repositories and with seniority level in author lists; and, multiple measures of project impact are associated with the simple variable of whether the code was modified at all after paper publication. In addition to providing the first large-scale analysis of bioinformatics code to our knowledge, our work will enable future analysis through publicly available data, code, and methods.

97 MATHEMATICS AND COMPUTING↗

PyGDH: Python Grid Discretization Helper

Mathematical models expressed in the form of discretized equations play an important role inmany scientific disciplines. In our experience, few domain scientists have sufficient backgroundin numerical computing (or the time required to acquire such a background) to use manyflexible and powerful but complex open source packages, such as FEniCS (Alnæs et al., 2015)and OpenFOAM (The OpenFOAM Foundation Ltd, n.d.). Many user-friendly open sourcepackages, such as FiPy (J. E. Guyer & Warren, 2009), and many commercial packages, suchas COMSOL Multiphysics (COMSOL AB, n.d.) and Simcenter STAR-CCM+ (Siemens DigitalIndustries Software, n.d.), provide limited flexibility in the equations that users can express.Additionally, the use of commercial packages, which by nature do not perform calculationstransparently, can hinder reproducibility, which is vital to the scientific process. PyGDH(“pigged”) is a Python 2 / Python 3 (Python Software Foundation, 1991–2020) package thatis meant to be accessible to scientists who might not be specialists in scientific computing,while approaching the level of flexibility associated with writing dedicated programs tailoredto solving specific problems. The PyGDH User’s Guide provides detailed instructions forcreating numerical models, including a brief introduction to necessary command line andPython (Python Software Foundation, 1991–2020) skills, and discussions of discretization andvalidation. Note that PyGDH emphasizes flexibility and simplicity over performance, and wasnot designed for high-performance applications or models describing complex spatial domains.

97 MATHEMATICS AND COMPUTING↗

Systems, methods and computer program products for self-tuning sensor data processing

Systems and methods are disclosed that include tools that utilize Dynamic Detector Tuning (DDT) software that identifies near-optimal parameter settings for each sensor using a neuro-dynamic programming (reinforcement learning) paradigm. DDT adapts parameter values to the current state of the environment by leveraging cooperation within a neighborhood of sensors. The key metric that guides the dynamic tuning is consistency of each sensor with its nearest neighbors: parameters are automatically adjusted on a per station basis to be more or less sensitive to produce consistent agreement of detections in its neighborhood. The DDT algorithm adapts in near real-time to changing conditions in an attempt to automatically self-tune a signal detector to identify (detect) only signals from events of interest. The disclosed systems and methods reduce the number of missed legitimate detections and the number of false detections, resulting in improved event detection.

Draelos, Timothy J.↗

xSDK: Building an ecosystem of highly efficient math libraries for exascale

Current efforts to build increasingly powerful computer architectures are opening up new avenues for more complex and higher fidelity simulations coupled with data analytics and learning, leading to new scientific insights and deeper understanding. At one extreme, exascale computers will be much faster than previous computer generations (performing 10 18 operations per second—that is, 1,000 times faster than petascale). To achieve these performance improvements, computer architectures are becoming increasingly complex, with deep memory hierarchies, very high node and core counts, and heterogeneous features such as graphics processing units (GPUs). Such architectural changes impact the full breadth of computing scales, as heterogeneity pervades even current-generation laptops, workstations, and moderate-sized clusters. While emerging advanced architectures provide unprecedented opportunities, they also present significant challenges for developers of scientific applications, such as multiphysics and multiscale codes, who must adapt their software to handle disruptive changes in architectures and new programming models that have not yet stabilized. Developers must consider increasing concurrency while reducing communication and synchronization, and other complexities such as the potential for using mixed precision to leverage the compute power available in low-precision tensor cores. On one hand, developers must implement new scientific capabilities, which in turn increase code complexity. On the other hand, the codes must be ported to new architectures, requiring the inclusion of new programming models and the restructuring of code to achieve good performance. Addressing these issues is beyond the capability of any single person or team—leading to the need for collaboration among many teams, who encapsulate their expertise in reusable software and work together to create sustainable software ecosystems.

97 MATHEMATICS AND COMPUTING↗

Industrial Deployment of Computer Aided Manufacturing Software for Hybrid Advanced Manufacturing

GibbsCAM, 3D Systems’ software product, is a full-featured CAM system that provides powerful CNC programming, capabilities, and solutions, delivering high quality parts without sacrificing ease of use. Oak Ridge National Laboratory (ORNL) collaborated with GibbsCAM to evaluate their toolpath generating software being developed for both blown powder and hybrid CNC/additive manufacturing machinery. The current approach in toolpath solutions for additive manufacturing is to utilize subtractive toolpaths created by existing CAM software and reversing it for additive manufacturing applications. GibbsCAM is working to develop a full solution to mitigate the challenges that arise with this approach and deploy a fully customized solution for producing quality, reliable components for a range of different DED systems. When successful, this will be an automated solution deployed through a future release of GibbsCAM software.

97 MATHEMATICS AND COMPUTING↗

AENET–LAMMPS and AENET–TINKER : Interfaces for accurate and efficient molecular dynamics simulations with machine learning potentials

Machine-learning potentials (MLPs) trained on data from quantum-mechanics based first-principles methods can approach the accuracy of the reference method at a fraction of the computational cost. To facilitate efficient MLP-based molecular dynamics and Monte Carlo simulations, an integration of the MLPs with sampling software is needed. Here, we develop two interfaces that link the atomic energy network (ænet) MLP package with the popular sampling packages TINKER and LAMMPS. The three packages, ænet, TINKER, and LAMMPS, are free and open-source software that enable, in combination, accurate simulations of large and complex systems with low computational cost that scales linearly with the number of atoms. Scaling tests show that the parallel efficiency of the ænet–TINKER interface is nearly optimal but is limited to shared-memory systems. The ænet–LAMMPS interface achieves excellent parallel efficiency on highly parallel distributed memory systems and benefits from the highly optimized neighbor list implemented in LAMMPS. We demonstrate the utility of the two MLP interfaces for two relevant example applications: the investigation of diffusion phenomena in liquid water and the equilibration of nanostructured amorphous battery materials.

37 INORGANIC, ORGANIC, PHYSICAL, AND ANALYTICAL CH↗