Search NASA⌕ Search

SEARCH · Search NASA

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 811 records · Page 45

Utilization of Renewable Energy to Meet New National Challenges in Energy and Climate Change

The project aims to design a microgrid system to promote utilization of renewable energy resources such as wind and solar to address the national challenges in energy and climate change. Different optimization techniques and simulation software are used to study the performance of the renewable energy system under study. A series of research works performed under the grant Department of Energy (DOE) is presented. This grant opportunity affords Howard faculty, students, graduates, undergraduates, K-12, postdocs and visiting scholars to benefit state of the art research work. The research work has led to improve or advance understanding of new hardware technologies, software development and engineering optimization methods necessary and sufficient for handling probabilistic models and real-time computation and functions necessary for development of microgrid system. Consistent with State of Project Objective Howard University has partitioned the task into the following integrated activities: 1. Stochastic Model for RER and Load • Development of modeling Renewable Energy Resources (RER) and load which is used to perform distribution power flow study which leads to publication in refereed journals and conferences. The work was also published at the IEEE conference. 2. Stochastic optimization for voltage/Var • The development of voltage VAr optimization based on a review of existing knowledge in optimization led to the use of stochastic program and evolution of programming optimization method for V/VAr optimization. Papers were presented at the North America Power Systems Conference and the IEEE PES general meeting. 3. Modeling RER and Storage • Extending the concept of optimization method an RER with storage, such as the development of microgrid V/VAr and storage is performed. Several papers were published at the North America Power Systems Conference and the IEEE PES general meeting. 4. Power Game • Development of power game experiment using Labvolt to allow for hands on understanding of design and development of microgrid functions is performed. Publication were done by students at the end of their summer program. 5. Designing Microgrid Testbed • Example microgrid test bed is developed. In addition, function of the test bed are developed. The papers were presented at the North America Power Systems Conference and the IEEE general meeting. 6. Outreach Program • From the outreach program, topics from the project have been included in the revision of courses at Howard University, new book called Energy Processing and Smartgrid has being developed. • Hosted masters students from University of Denver to complete their projects with us. • Hosted high school students for early exposure for careers in STEM • Representations made in IEEE conferences to share the lessons learned in the use of micro grid to expose students to STEM education and research.

54 ENVIRONMENTAL SCIENCES↗

TU-FG-201-07: Development of SRS Conical Collimator Collision Prediction Software for Radiation Treatment Safety

Purpose: Stereotactic radiosurgery (SRS) treatments using conical collimators can potentially result in gantry collision with treatment table due to limited collision-clear spaces. An in-house software was developed to help the SRS treatment planner mitigate potential SRS conical collimator (Varian Medical System, Palo Alto, CA) collisions with the treatment table. This software was designed to remove treatment re-planning secondary to unexpected collisions. Methods: A BrainLAB SRS ICT Frameless Extension used for SRS treatments in our clinic was mathematically modelled using surface points registered to the 3D co-ordinate space of the couch extension. The surface points are transformed based on the treatment isocenter point and potential collisions are determined in 3D space for couch and gantry angle combinations. The distance between the SRS conical collimators and LINAC isocenter is known. The collision detection model was programmed in MATLAB (Mathwork, Natick, MA) to display graphical plots of the calculations, and the plotted data is used to avoid the gantry and couch angle combinations that would likely result in a collision. We have utilized the cone collision tool for 23 SRS cone treatment plans (8 retrospective and 15 prospective for 10 patients). Results: Twenty one plans strongly agreed with the software tool prediction for collision. However, in two plans, a collision was observed with a 0.5 cm margin when the software predicted no collision. Therefore, additional margins were added to the clearance criteria in the program to achieve a lower risk of actual collisions. Conclusion: Our in-house developed collision check software successfully avoided SRS cone re-planning by 91.3% due to a reduction in cone collisions with the treatment table. Future developments to our software will include a CT image data set based collision prediction model as well as a beam angle optimization tool to avoid normal critical tissues as well as previously treated lesions.

60 APPLIED LIFE SCIENCES↗

TH-D-BRB-04: Pinnacle Scripting: Improving Efficiency While Maintaining Safety

Scripting capabilities and application programming interfaces (APIs) are becoming commonly available in modern treatment planning systems. These links to the treatment planning system (TPS) allow users to read data from the TPS, and in some cases use TPS functionality and write data back to the TPS. Such tools are powerful extensions, allowing automation of routine clinical tasks and supporting research, particularly research involving repetitive tasks on large patient populations. The data and functionality exposed by scripting/API capabilities is vendor dependent, as are the languages used by script/API engines, such as the Microsoft .NET framework or Python. Scripts deployed in a clinical environment must be commissioned and validated like any other software tool. This session will provide an overview of scripting applications and a discussion of best practices, followed by a practical introduction to the scripting capabilities of three commercial treatment planning systems. Learning Objectives: Understand the scripting capabilities available in several treatment planning systems Learn how to get started using scripting capabilities Understand the best practices for safe script deployment in a clinical environment R. Popple, Varian Medical Systems has provided research support unrelated to the topic of this session.R. Cardan, Varian Medical Systems for grant research, product evaluation, and teaching honorarium.

60 APPLIED LIFE SCIENCES↗

Light Water Reactor Sustainability Program External review of Risk Analysis and Virtual Environment (RAVEN) software for RISMC applications

The aim of this report is to describe the outcomes and findings of the review of the Risk Analysis and Virtual ENviroment (RAVEN) code performed by two external entities. In order to assess the code capabilities and maturity level from different prospective, a university (The Ohio State University) and a private company (FPoliSolutions LLC) have been identified for this review. These two groups provided an in-depth review of the RAVEN code – the resulting reviews were positive and included suggestions for potential enhancements to the code.

21 SPECIFIC NUCLEAR REACTORS AND ASSOCIATED PLANTS↗

Corrosion Detection LDRD Seedling (Final Report)

Automation techniques for recognizing material defects are very common in fields like infrastructure survey and civil engineering; however, the defects are usually easily distinguishable from their background, on a larger scale (e.g. cement bridges), and very specific. Extracting information about a defect that is near or equal to the background of the data can be extremely difficult. Images with heavy background corrosion, pitting, cracking, and man-made defects (such as welding) makes extracting information on a specific defect near-impossible. This is especially true when the defect is on the micron level and the dynamic range of your image taking instrument is low. So, a simplified, Java-based Fiji™ (ImageJ) defect detection program, dependent on a ‘flag’ system, was proposed for data that has a micron level hairline crack that is near or equal to the background. The utilization of the built-in functions, plugins, and macro scripting capability of the Java-based software sends a series of flags to the user that help to identify if the surface contains a defect of interest and to characterize that defect.

42 ENGINEERING↗

Development of a Reference Governor-based Control Scheme for Integrated Energy Systems

The concept of an Integrated Energy System (IES) is meant to combine different energy technologies in synergistic ways to achieve a more secure and economical energy supply. The RAVEN-based HYBRID framework is used to find the optimal installed capacity and the optimal economical dispatch of each component of the IES. In practice what is achievable is limited by not only the inherent physical response characteristics of individual plant units but also by equipment operating limits. The inherent response characteristics are presently accounted for in the RAVEN-based HYBRID framework by dynamic models for plant units. The equipment operating limits, which are not yet addressed in HYBRID, are the subject of this report. These limits are set to achieve a design service life for a plant unit and are based on material degradation in the presence of mechanical fatigue induced by thermal cycling and by structure creep resulting from elevated temperature conditions. In general, the plant unit designer determines and specifies the allowable operating range of key process variables. It is then up to the integrated system design engineer to ensure those conditions are met. This can be accomplished through a combination of limiting the demand rates made on the plant unit and designing a control system that limits variations of key process variables. The typical control system design procedure, however, is not well suited for achieving this for complex dynamic systems such as encountered in integrated energy systems where multiple plant units must be simultaneously coordinated. This report describes how equipment operating limitations in an IES can be formally met through a control system design procedure know as the Reference Governor. The approach augments the existing controllers in a plant unit with an advance controller that modifies the issued setpoints so that selected process variables remain within limits. The design procedure is applied to the reference multi-unit system that has been the focus of Modeling and Simulation task in the Integrated Energy System program. Results describing application to the problem of limiting key process variables during operational transients for two of the plant units, the balance of plant and the gas turbine, are then presented. It is demonstrated that the Reference Governor method is an effective means for ensuring equipment operating constraints can be met in an IES. The software that implements the method has been made accessible to others on the Modeling and Simulation upload site.

42 ENGINEERING↗

kynema-fmb [SWR-23-07]

Kynema-FMB (FKA: Kynema) is an open-source performance portable flexible multibody (FMB) dynamics solver designed for time-domain simulations. While originally tailored for wind turbine structural dynamics, the formulation and implementation are those of a general flexible-multidbody dynamics solver that can readily be applied to a wide range of systems. Kynema was designed with a narrow focus, namely to provide a lightweight, fast, accurate FMD solver for coupling to computational-fluid-dynamics (CFD) codes, especially the CFD codes in the Kynema suite, for fluid-structure-interaction (FSI) simulations. Kynema-FMB is equipped to model systems that can be represented as a collection of beams and rigid bodies that are connected through constraints. Degrees of freedom are defined in the inertial/global frame of reference and include displacements and rotations (formally as rotation matrices, but stored as quaternions). The underlying formulation is built on a Lie-group time integrator designed for index-3 differential-algebraic equations, which is second-order accurate in time (Bruls et al., 2012). Beam models are based on geometrically exact beam theory and are discretized as high-order spectral finite elements similar to those in BeamDyn (Wang et al., 2017). The governing equations for a FMD system like a wind turbine constitute a highly nonlinear system of constrained partial-differential equations. Kynema-FMB uses analytical Jacobians in the nonlinear-system solves in each time step. Linear systems use sparse storage and several third-party sparse-linear-system solvers are enabled. Ill conditioning of linear systems is mitigated with preconditioning described in Bottasso et al, 2008. Kynema-FMB is integrated with a simple open-source controller (ROSCO). There is an application programming interface (API) for coupling to geometry-resolved CFD (like that in Sharma et al., 2023) and actuator-force CFD (like that in Kuhn et al., 2025). In the latter, for actuator-line models, Kynema-FMB includes an internal blade-element solver that depends on user-provided lookup tables for coefficients of lift and drag, i.e., aerodynamic polars. Kynema-FMB is written in C++ and leverages Kokkos and Kokkos-Kernels (KokkosEcosystem) as its performance portability layer enabling simulations on both CPU and GPU systems. The repository is equipped with extensive automated testing at the unit and regression/system levels. The following describes the high-level development objectives conceived for Kynema: *Kynema will follow modern software development best practices, including test-driven development (TDD), version control, hierarchical automated testing, and continuous integration (CI) for a robust development environment. *The core data structures are memory efficient and enable vectorization and parallelization at multiple levels. *Data structures are data-oriented to exploit methods for accelerated computing including high utilization of chip resources (e.g., single instruction multiple data (SIMD) instruction sets) and parallelization using GP-GPUs. *The computational algorithms incorporate robust open-source libraries for mathematical operations, resource allocation, and data management. *The API design considers multiple stakeholder needs and ensure integration with existing and future ecosystems for data science, machine learning, and AI. *Kynema-FMB is written in modern C++ and leverages Kokkos as its performance-portability library with inspiration from the kynema stack.

Sprague, MichaelA.↗

Experimental Characterization of OpenMP Offloading Memory Operations and Unified Shared Memory Support

The OpenMP specification recently introduced support for unified shared memory, allowing implementation to leverage underlying system software to provide a simpler GPU offloading model where explicit mapping of variables is optional. Support for this feature is becoming more available in different OpenMP implementations on several hardware platforms. A deeper understanding of the different implementation’s execution profile and performance is crucial for applications as they consider the performance portability implications of adopting a unified memory offloading programming style. This work introduces a benchmark tool to characterize unified memory support in several OepnMP compilers and runtimes, with emphasis on identifying discrepancies between different OpenMP implementations as to how they various memory allocation strategies interact with unified shared memory. The benchmark tool is used to characterize OpenMP compilers on three leading High Performance Computing platforms supporting different CPU and device architectures. The benchmark tool is used to assess the impact of enabling unified shared memory on the performance of memory-bound code, highlighting implementation differences that should be accounted for when applications consider performance portability across platforms and compilers.

Elwasif, Wael↗

eQuilibrator 3.0: a database solution for thermodynamic constant estimation

Abstract eQuilibrator (equilibrator.weizmann.ac.il) is a database of biochemical equilibrium constants and Gibbs free energies, originally designed as a web-based interface. While the website now counts around 1,000 distinct monthly users, its design could not accommodate larger compound databases and it lacked a scalable Application Programming Interface (API) for integration into other tools developed by the systems biology community. Here, we report on the recent updates to the database as well as the addition of a new Python-based interface to eQuilibrator that adds many new features such as a 100-fold larger compound database, the ability to add novel compounds, improvements in speed and memory use, and correction for Mg2+ ion concentrations. Moreover, the new interface can compute the covariance matrix of the uncertainty between estimates, for which we show the advantages and describe the application in metabolic modelling. We foresee that these improvements will make thermodynamic modelling more accessible and facilitate the integration of eQuilibrator into other software platforms.

59 BASIC BIOLOGICAL SCIENCES↗

Assessment of Microstructure Prediction Capabilities for Powder Bed Fusion Stainless Steel 316

The Advanced Materials and Manufacturing Technologies program aims to accelerate the development, qualification, demonstration, and deployment of advanced materials and manufacturing technologies to enable reliable and economical nuclear energy. However, the characteristic process-structure-property relationships of additive manufacturing (AM) materials pose challenges for the qualification and certification of AM nuclear components. In particular, component-scale variations in microstructure and properties can be driven by localized changes in melt pool dynamics due to how process parameters interact with different part geometries. Computational modeling tools can play a crucial role in predicting and controlling this variability. This report presents final results on process modeling tools designed to predict microstructure variability in additively manufactured stainless steel 316 parts. It details the software packages and physical modeling approaches employed to simulate an AM component within an automated process modeling workflow. Results are demonstrated through comparisons between predicted microstructures and experimental measurements across various representative processing conditions. The report concludes by discussing identified challenges and future opportunities for connecting the developed simulation workflow with mechanics simulations for prediction of part performance.

36 MATERIALS SCIENCE↗

SAM Code Enhancement, Validation, and Reference Model Development for Fluoride-salt-cooled High-temperature Reactors

The System Analysis Module (SAM) is under development at Argonne National Laboratory as a modern system-level modeling and simulation tool for advanced non-light water reactor safety analyses. It utilizes the object-oriented application framework MOOSE to leverage the modern software environment and advanced numerical methods. The capabilities of SAM are being extended to enable the transient modeling, analysis, and design of various advanced nuclear reactor systems. This report summarizes recent progress under DOE-NE’s Nuclear Energy Advanced Modeling and Simulation program in SAM code development, demonstration, and validation to support transient safety analysis of Fluoride-salt-cooled High-temperature Reactors.

22 GENERAL STUDIES OF NUCLEAR REACTORS↗

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↗

The Monte Carlo estimation of an effect of uncertainties in initial data on solving the transport equation by means of the MCU code

A new version of the tally module of the MCU software package is developed in which the approach for taking directly into account the uncertainty in initial data is implemented that is recommended by the international standard on estimating the uncertainty in results of measuring (ISO 13005). The new module makes it possible to evaluate the effect of uncertainty in initial data (caused by technological tolerances in fabrication of structural members of the core) on neutronic characteristics of the reactor. The developed software is adapted to parallel computing with the use of multiprocessor computers, which significantly reduces the computation time: the parallelization coefficient is almost equal to 1. Testing is performed by examples of solving the problem on criticality for the Godiva benchmark experiment and also for the infinite lattice of fuel assemblies of the VVER-440, VVER-1000, and VVER-1200. The results of calculations of the uncertainty in neutronic characteristics (effective multiplication factor, fission reaction rate), which is caused by uncertainties in initial data due to technological tolerances, are compared (in the first case) to the published results obtained using the precision MCNP5 code and (in the second case) to those obtained by means of the RADAR engineering program. A good agreement of results is achieved for all cases.

21 SPECIFIC NUCLEAR REACTORS AND ASSOCIATED PLANTS↗

Large Program Design [Slides]

A slideshow presentation describing how different writing small software coding projects is from writing large software coding projects. It can be OK to just throw together code that is small, single-purpose, and short-lived, but there's more need for good design if the code has to live longer, give highly reliable results, be easy to use, get bigger/cover more physics, cover more application domains. Larger projects also need good code if they are to have more widely-distributed users, have more developers work on it, run larger problems, or run on new architectures.

97 MATHEMATICS AND COMPUTING↗

Improved Throughput and Analysis of Scratch Test Results via Automation and Machine Learning

A data analysis automation interface that incorporates machine learning (ML) has been developed to improve productivity, efficiency, and consistency in identifying and defining critical load values (or other values associated with optically identifiable characteristics) of a coating when a scratch test is performed. In this specific program, the machine learning component of the program has been trained to identify the Critical Load 2 (L C2 ) value by analyzing images of the scratch tracks created in each test. An optical examination of the scratch by a human operator is currently used to determine where this value occurs. However, the vagueness of the standard has led to varying interpretations and nonuniform usage by different operators at different laboratories where the test is implemented, resulting in multiple definitions of the desired parameter. Using a standard set of training and validation images to create the dataset, the critical load can be identified consistently amongst different laboratories using the automation interface without requiring the training of human operators. When the model was used in conjunction with an instrument manufacturer's scratch test software, the model produced accurate and repeatable results and defined L C2 values in as little as half of the time compared to a human operator. When combined with a program that automates other aspects of the scratch testing process usually conducted by a human operator, scratch testing and analysis can occur with little to no intervention from a human beyond initial setup and frees them to complete other work in the lab.

36 MATERIALS SCIENCE↗

The Automatic Reactor Control System (ARCS) Upgrade, version 2.0 for TREAT

The Transient REActor Test Facility (TREAT) recently underwent an upgraded to the Automatic Reactor Control System (ARCS). The purpose of the upgrade was to institute a new software architecture that is better suited for the programming environment, patched software bugs and applied two new segments for reactor control. This paper will focus on the new segments for reactor control. The two new control segments added to ARCS are called Generic Power and Generic Rods. The original version of ARCS provided only two power related functions, namely periods and ramps, that had to be spliced together to generate any power shape. The Generic Power segment allows the user to input data points to define the function and then the algorithm does its best to create the desired shape. The original ARCS program utilized two direct rod commands (i.e. open loop control), these were a rod stop and clip. A Generic Rod segment extends the ability of the computer to directly command any rod position. The functionality of these new segments was proven during the TREAT outage in 2024.

46 - INSTRUMENTATION RELATED TO NUCLEAR SCIENCE AN↗

Analysis of Threading Libraries for High Performance Computing

With the appearance of multi-/many core machines, applications and runtime systems have evolved in order to exploit the new on-node concurrency brought by new software paradigms. POSIX threads (Pthreads) was widely-adopted for that purpose and it remains as the most used threading solution in current hardware. Lightweight thread (LWT) libraries emerged as an alternative offering lighter mechanisms to tackle the massive concurrency of current hardware. In this article, we analyze in detail the most representative threading libraries including Pthread- and LWT-based solutions. In addition, to examine the suitability of LWTs for different use cases, we develop a set of microbenchmarks consisting of OpenMP patterns commonly found in current parallel codes, and we compare the results using threading libraries and OpenMP implementations. Moreover, we study the semantics offered by threading libraries in order to expose the similarities among different LWT application programming interfaces and their advantages over Pthreads. This article exposes that LWT libraries outperform solutions based on operating system threads when tasks and nested parallelism are required.

GLT↗

Application Experiences on a GPU-Accelerated Arm-based HPC Testbed

This paper assesses and reports the experience of ten teams working to port, validate, and benchmark several High Performance Computing applications on a novel GPU-accelerated Arm testbed system. The testbed consists of eight NVIDIA Arm HPC Developer Kit systems, each one equipped with a server-class Arm CPU from Ampere Computing and two data center GPUs from NVIDIA Corp. The systems are connected together using InfiniBand interconnect. The selected applications and mini-apps are written using several programming languages and use multiple accelerator-based programming models for GPUs such as CUDA, OpenACC, and OpenMP offloading. Working on application porting requires a robust and easy-to-access programming environment, including a variety of compilers and optimized scientific libraries. The goal of this work is to evaluate platform readiness and assess the effort required from developers to deploy well-established scientific workloads on current and future generation Arm-based GPU-accelerated HPC systems. The reported case studies demonstrate that the current level of maturity and diversity of software and tools is already adequate for large-scale production deployments.

Elwasif, Wael↗