Engineering Papers⌕ Search

SEARCH · Engineering Papers

Results for “C CODES”

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 289 records · Page 16

Automated Concurrent Blackboard System Generation in C++

In his 1992 Ph.D. thesis, "Design and Analysis Techniques for Concurrent Blackboard Systems", John McManus defined several performance metrics for concurrent blackboard systems and developed a suite of tools for creating and analyzing such systems. These tools allow a user to analyze a concurrent blackboard system design and predict the performance of the system before any code is written. The design can be modified until simulated performance is satisfactory. Then, the code generator can be invoked to generate automatically all of the code required for the concurrent blackboard system except for the code implementing the functionality of each knowledge source. We have completed the port of the source code generator and a simulator for a concurrent blackboard system. The source code generator generates the necessary C++ source code to implement the concurrent blackboard system using Parallel Virtual Machine (PVM) running on a heterogeneous network of UNIX(trademark) workstations. The concurrent blackboard simulator uses the blackboard specification file to predict the performance of the concurrent blackboard design. The only part of the source code for the concurrent blackboard system that the user must supply is the code implementing the functionality of the knowledge sources.

Kaplan, J. A.↗

Streamlining GNC Architecture Development and FSW Integration forthe Mars Ascent Vehicle

The Mars Ascent Vehicle (MAV) will be the first vehicle to perform an ascent from the surface ofanother atmospheric planetary body outside of the Earth-Moon system. Significant light-time delayrequires complete autonomy of flight throughout ascent, and naturally a high level of reliability isdesired in both MAV’s hardware and software subsystems. The MAV Guidance, Navigation and Controls(GNC) team and the MAV Flight Software (FSW) team have partnered together to improve the efficiencyof algorithm integration onto the MAV flight processor, and to increase confidence that said integrationis successful and without human error. An interface architecture is proposed for the GNC suite thatallows both the guidance and navigation subsystems to provide code algorithms directly in C++, and thecontrols subsystem to provide MATLAB Simulink auto-coded algorithms. Several continuous integration/deployment (CI/CD) methodologies have been considered for ease of transition of algorithm code fromthe GNC team to the FSW team. The GNC/FSW teams also worked together to develop a cFS-friendlywrapper which abstracts the integration of the GNC algorithm code into an interface-level API that iscompatible with cFS. Several iterations of vehicle GNC code have been produced between the GNC/FSWteam’s partnership, and this strong interface between these two teams have allowed the GNC/FSWteams to greatly increase confidence of efficient and error-free implementation of the GNC code ontoMAV for a successful flight.

GNC↗

Toucan: A performance portable, scalable implementation of the DECA algorithm

In the field of additive manufacturing (AM), cellular automata (CA) is extensively used to simulate microstructural evolution during solidification. However, while traditional CA approaches are relatively fast, they still require a substantial number of time steps, are limited to moderate volumes, and are relatively difficult to improve through parallelism due to the highly localized nature of the solidification front. Here, to address these issues of time to solution and load balancing, we introduce Toucan, a parallel, performance-portable, and scalable code written in C++ with the Kokkos library that leverages the discrete event inspired cellular automata (DECA) algorithm to perform parallel-in-time (PinT) grain growth simulations. Toucan effectively mitigates load balancing issues by distributing the computational workload more evenly across processors, enhancing scalability and efficiency. We conduct both strong and weak scaling studies on up to 64 GPUs on the Frontier supercomputer, demonstrating that Toucan significantly outperforms the current state-of-the-art, time-stepped CA code, ExaCA, on both single and multi-GPU simulations. Even in AM-specific weak scaling scenarios, Toucan maintains near-ideal scaling, in contrast to the linear increase observed with ExaCA due to the moving laser raster pattern. This study highlights Toucan’s potential to transform microstructural simulations in AM by radically improving both efficiency and scalability over existing methods.

36 MATERIALS SCIENCE↗

Keras2c: A library for converting Keras neural networks to real-time compatible C

With the growth of machine learning models and neural networks in measurement and control systems comes the need to deploy these models in a way that is compatible with existing systems. Existing options for deploying neural networks either introduce very high latency, require expensive and time consuming work to integrate into existing code bases, or only support a very limited subset of model types. We have therefore developed a new method called Keras2c, which is a simple library for converting Keras/TensorFlow neural network models into real-time compatible C code. It supports a wide range of Keras layers and model types including multidimensional convolutions, recurrent layers, multi-input/output models, and shared layers. Keras2c re-implements the core components of Keras/TensorFlow required for predictive forward passes through neural networks in pure C, relying only on standard library functions considered safe for real-time use. The core functionality consists of ~ 1500 lines of code, making it lightweight and easy to integrate into existing codebases. Keras2c has been successfully tested in experiments and is currently in use on the plasma control system at the DIII-D National Fusion Facility at General Atomics in San Diego.

70 PLASMA PHYSICS AND FUSION TECHNOLOGY↗

Chemical application of diffusion quantum Monte Carlo

The diffusion quantum Monte Carlo (QMC) method gives a stochastic solution to the Schroedinger equation. This approach is receiving increasing attention in chemical applications as a result of its high accuracy. However, reducing statistical uncertainty remains a priority because chemical effects are often obtained as small differences of large numbers. As an example, the single-triplet splitting of the energy of the methylene molecule CH sub 2 is given. The QMC algorithm was implemented on the CYBER 205, first as a direct transcription of the algorithm running on the VAX 11/780, and second by explicitly writing vector code for all loops longer than a crossover length C. The speed of the codes relative to one another as a function of C, and relative to the VAX, are discussed. The computational time dependence obtained versus the number of basis functions is discussed and this is compared with that obtained from traditional quantum chemistry codes and that obtained from traditional computer architectures.

Reynolds, P. J.↗

Scalable Implementation of Finite Elements by NASA _ Implicit (ScIFEi)

Scalable Implementation of Finite Elements by NASA (ScIFEN) is a parallel finite element analysis code written in C++. ScIFEN is designed to provide scalable solutions to computational mechanics problems. It supports a variety of finite element types, nonlinear material models, and boundary conditions. This report provides an overview of ScIFEi (\Sci-Fi"), the implicit solid mechanics driver within ScIFEN. A description of ScIFEi's capabilities is provided, including an overview of the tools and features that accompany the software as well as a description of the input and output le formats. Results from several problems are included, demonstrating the efficiency and scalability of ScIFEi by comparing to finite element analysis using a commercial code.

Warner, James E.↗

Residual Strength Characterization of a Curved Integrally-Stiffened Panel

Over the years, Finite-element fracture simulation methodology has been very well established at NASA Langley to predict the residual strength of damaged aircraft structures. This methodology has been experimentally verified at NASA Langley for structures ranging from laboratory coupons up to full-scale built-up structural components with single and multiple-site damage cracking. The methodology uses the critical crack-tip-opening-angle (CTOA) fracture criterion to characterize the fracture behavior of the material. The CTOA fracture criterion assumes that stable crack growth occurs when the crack-tip angle reaches a constant critical value. The use of the CTOA criterion requires an elastic-plastic, finite-element analysis. The critical CTOA value is determined by simulating fracture behavior in laboratory specimens, such as a compact specimen, to obtain the angle that best fits the observed test behavior. The critical CTOA value appears to be independent of loading, crack length, and in-plane dimensions. However, it is a function of material thickness and local crack-front constraint. Modeling the local constraint requires either a three-dimensional analysis or a two-dimensional analysis with an approximation to account for the constraint effects. In recent times as the aircraft industry is leaning towards monolithic structures with the intension of reducing part count and manufacturing cost, there has been a consistent effort at NASA Langley to extend critical CTOA based numerical methodology in the analysis of integrally-stiffened panels. In this regard, a series of fracture tests were conducted on curved aluminum-alloy integrally-stiffened panels. These curved panels were subjected to uniaxial tension and pressure loading. During the test, applied load-crack extension, out-of-plane displacements and local deformations around the crack tip region were measured. Compact and middle-crack tension specimens were tested to determine the critical angle (psi(sub c) using three-dimensional code (ZIP3D) and the plane-strain core height (h(sub c)) using two-dimensional code (STAGS).

Seshadri, B. R.↗

Streamlining GNC Architecture Development and FSW Integration for the Mars Ascent Vehicle

The Mars Ascent Vehicle (MAV) will be the first vehicle to perform an ascent from the surface of another atmospheric planetary body outside of the Earth-Moon system. Significant light-time delay requires complete autonomy of flight throughout ascent, and naturally a high level of reliability is desired in both MAV’s hardware and software subsystems. The MAV Guidance, Navigation and Controls (GNC) team and the MAV Flight Software (FSW) team have partnered together to improve the efficiency of algorithm integration onto the MAV flight processor, and to increase confidence that said integration is successful and without human error. An interface architecture is proposed for the GNC suite that allows both the guidance and navigation subsystems to provide code algorithms directly in C++, and the controls subsystem to provide MATLAB Simulink auto-coded algorithms. Several continuous integration/deployment (CI/CD) methodologies have been considered for ease of transition of algorithm code from the GNC team to the FSW team. The GNC/FSW teams also worked together to develop a cFS-friendly wrapper which abstracts the integration of the GNC algorithm code into an interface-level API that is compatible with cFS. Several iterations of vehicle GNC code have been produced between the GNC/FSW team’s partnership, and this strong interface between these two teams have allowed the GNC/FSW teams to greatly increase confidence of efficient and error-free implementation of the GNC code onto MAV for a successful flight.

Engineering↗

Mars Ascent Vehicle GNC Targeting Routines with Considerations for Flight Software Development

The Mars Ascent Vehicle (MAV) will be the first vehicle to perform an ascent from the surface of another atmospheric planetary body outside of the Earth-Moon system. Significant light-time delay requires complete autonomy of flight throughout ascent, and naturally a high level of reliability is desired in both MAV’s hardware and software subsystems. The MAV Guidance, Navigation and Controls (GNC) team and the MAV Flight Software (FSW) team have partnered together to improve the efficiency of algorithm integration onto the MAV flight processor, and to increase confidence that said integration is successful and without human error. An interface architecture is proposed for the GNC suite that allows both the guidance and navigation subsystems to provide code algorithms directly in C++, and the controls subsystem to provide MATLAB Simulink auto-coded algorithms. Several continuous integration/deployment (CI/CD) methodologies have been considered for ease of transition of algorithm code from the GNC team to the FSW team. The GNC/FSW teams also worked together to develop a cFS-friendly wrapper which abstracts the integration of the GNC algorithm code into an interface-level API that is compatible with cFS. Several iterations of vehicle GNC code have been produced between the GNC/FSW team’s partnership, and this strong interface between these two teams have allowed the GNC/FSW teams to greatly increase confidence of efficient and error-free implementation of the GNC code onto MAV for a successful flight.

Jason Everett↗

Enhancements to the SSME transfer function modeling code

This report details the results of a one year effort by Ohio University to apply the transfer function modeling and analysis tools developed under NASA Grant NAG8-167 (Irwin, 1992), (Bartholomew, 1992) to attempt the generation of Space Shuttle Main Engine High Pressure Turbopump transfer functions from time domain data. In addition, new enhancements to the transfer function modeling codes which enhance the code functionality are presented, along with some ideas for improved modeling methods and future work. Section 2 contains a review of the analytical background used to generate transfer functions with the SSME transfer function modeling software. Section 2.1 presents the 'ratio method' developed for obtaining models of systems that are subject to single unmeasured excitation sources and have two or more measured output signals. Since most of the models developed during the investigation use the Eigensystem Realization Algorithm (ERA) for model generation, Section 2.2 presents an introduction of ERA, and Section 2.3 describes how it can be used to model spectral quantities. Section 2.4 details the Residue Identification Algorithm (RID) including the use of Constrained Least Squares (CLS) and Total Least Squares (TLS). Most of this information can be found in the report (and is repeated for convenience). Section 3 chronicles the effort of applying the SSME transfer function modeling codes to the a51p394.dat and a51p1294.dat time data files to generate transfer functions from the unmeasured input to the 129.4 degree sensor output. Included are transfer function modeling attempts using five methods. The first method is a direct application of the SSME codes to the data files and the second method uses the underlying trends in the spectral density estimates to form transfer function models with less clustering of poles and zeros than the models obtained by the direct method. In the third approach, the time data is low pass filtered prior to the modeling process in an effort to filter out high frequency characteristics. The fourth method removes the presumed system excitation and its harmonics in order to investigate the effects of the excitation on the modeling process. The fifth method is an attempt to apply constrained RID to obtain better transfer functions through more accurate modeling over certain frequency ranges. Section 4 presents some new C main files which were created to round out the functionality of the existing SSME transfer function modeling code. It is now possible to go from time data to transfer function models using only the C codes; it is not necessary to rely on external software. The new C main files and instructions for their use are included. Section 5 presents current and future enhancements to the XPLOT graphics program which was delivered with the initial software. Several new features which have been added to the program are detailed in the first part of this section. The remainder of Section 5 then lists some possible features which may be added in the future. Section 6 contains the conclusion section of this report. Section 6.1 is an overview of the work including a summary and observations relating to finding transfer functions with the SSME code. Section 6.2 contains information relating to future work on the project.

Irwin, R. Dennis↗

PETSc Users Manual (Rev. 3.13)

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 solvers, nonlinear solvers, and time integrators that may be used in application codes written in Fortran, C, C++, and Python. 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++, python, 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.

97 MATHEMATICS AND COMPUTING↗

CI/CD Efforts for Validation, Verification and Benchmarking OpenMP Implementations

Software developers must adapt to keep up with the changing capabilities of platforms so that they can utilize the power of High-Performance Computers (HPC), including exascale systems. OpenMP, a directive-based parallel programming model, allows developers to include directives to existing C, C++, or Fortran code to allow node level parallelism without compromising performance. This paper describes our CI/CD efforts to provide easy evaluation of the support of OpenMP across different compilers using existing testsuites and benchmark suites on HPC platforms. Our main contributions include (1) the set of a Continuous Integration (CI) and Continuous Development (CD) workflow that captures bugs and provides faster feedback to compiler developers, (2) an evaluation of OpenMP (offloading) implementations supported by AMD, HPE, GNU, LLVM, and Intel, and (3) evaluation of the quality of compilers across different heterogeneous HPC platforms. With the comprehensive testing through the CI/CD workflow, we aim to provide a comprehensive understanding of the current state of OpenMP (offloading) support in different compilers and heterogeneous platforms consisting of CPUs and GPUs from NVIDIA, AMD, and Intel.

Jarmusch, Aaron↗

The Peridigm Meshfree Peridynamics Code

Abstract Peridigm is a meshfree peridynamics code written in C++ for use on large-scale parallel computers. It was originally developed at Sandia National Laboratories and is currently managed as an open-source, community driven software project. Its primary features include bond-based, state-based, and non-ordinary state-based constitutive models, bond failure laws, contact, and support for explicit and implicit time integration. To date, Peridigm has been used primarily by methods developers focused on solid mechanics and material failure. Peridigm utilizes foundational software components from Sandia’s Trilinos project and was designed for extensibility. This paper provides an overview of the solution methods implemented in Peridigm , a discussion of its software infrastructure, and demonstrates the use of Peridigm for the solution of several example problems.

97 MATHEMATICS AND COMPUTING↗

Mode spectrum characteristics and onset of the low-shear MHD stability regime

Equilibria with extended regions of weak magnetic shear, including some tokamak scenarios and stellarators, can be susceptible to pressure-driven internal MHD instabilities even though there is no mode rational surface in the plasma. Nonresonant modes, in particular, can have properties that are unattractive for confinement, including displacing substantial volumes of the plasma and leading to more efficient pressure gradient flattening in the nonlinear regime. The onset and linear properties of the low shear stability regime are examined using the initial-value, extended-MHD code M3D-C. For monotonic q-profiles, we demonstrate a clear correlation between the convergents associated with the continued fraction representation of q 0 and the spectrum of unstable modes. Nonresonant modes are observed to be destabilized preferentially to any other resonant instability with the same toroidal mode number when n > 1. Using the observed connection between the spectrum associated with q 0 and the overall equilibrium stability properties, we suggest a technique for reducing the uncertainty on both q 0 and magnetic shear in the core region, obtained either via measurement or through the analysis and reconstruction of experimental results.

70 PLASMA PHYSICS AND FUSION TECHNOLOGY↗

Igor Pro procedures for ARPES analysis (ARPES Igor procedures) v21.0

A suite of non-proprietary C-like procedures (code) that compile and run within the commercial Igor Pro data analysis program (wavemetrics.com) have been developed for the data file loading, plotting and analysis of Angle-Resolved Photoemission Spectroscopy (ARPES) data. The data file loading procedures are more specific to ARPES data acquisition and file formats at Advanced Light Source (ALS) beamlines, while plotting and analysis procedures are more generic to processing of 1D, 2D and higher dimensional dataset arrays with some specific tools tailored to the ARPES technique.

Rotenberg, Eli↗

Reanalysis of Cost and Moist Air Oxidation Performance for CF8C-Plus and Other Alloys for AUSC Applications

This report provides an economic analysis of CF8C-Plus and other candidate materials for Advanced Ultra Supercritical (AUSC) applications, including 347HFG, HR6W, Sanicro 25, Super 304H, Grade 92, SAVE12AD, Inconel 617, and Inconel 740H. An assessment of their moist air oxidation performance is also included. When compared with the aforementioned alloys, CF8C-Plus shows a favorable balance between cost, creep strength and moist air oxidation resistance in the temperature range of 600-700°C. Furthermore, its castability makes it additionally attractive from a manufacturing perspective. Materials with higher Ni content, such as HR6W, Sanicro 25, Inconel 617, and Inconel 740H, have better creep strength but the improved performance comes with increased cost. Stainless steel 347HFG exhibits inferior creep strength and lower moist air oxidation resistance, but at a greater cost, compared with CF8C-Plus. Super 304H, another stainless steel, has similar creep strength and cost compared to CF8CPlus at 700°C, but may not have as good moist air oxidation resistance. Grade 92 has lower creep strength and unfavorable economy compared with CF8C-Plus. SAVE12AD also has lower creep strength than CF8C-Plus, but has lower cost to use at 600°C. Both Grade 92 and SAVE12AD are also limited to the maximum use temperature of 649°C per ASME code case requirements.

36 MATERIALS SCIENCE↗

IRES Microgrid Energy Integration Report Version 1.0

This report presents technical information and guidance for the planned Integrated Renewable Energy System (IRES) microgrid project. This deployment of the microgrid and its associated assets was initiated in the beginning of 2022 at the Marine and Coastal Research Laboratory (MCRL) facility of Pacific Northwest National Laboratory (PNNL)-Sequim, Washington. The information in the report is organized under two main focus areas: electrical power interface, or interconnection, information of planned IRES assets; and communication and control interface, or interoperability, information of the planned IRES assets. The information will provide technical input for the development of the IRES microgrid controller technical specification, and also provide input for PNNL’s evaluation of adequacy of the electrical service infrastructure at MCRL to support the IRES project and help identify any gaps that will require facility-based upgrades. From an R&D aspect, this study and report will build on PNNL’s research and development work relating to energy storage (ES) codes and standards (C&Ss), including hybrid systems, performed on behalf of the Department of Energy (DOE) Office of Electricity (OE) ES. The current state of C&Ss for advanced technologies and their application, including microgrid-based technology is limited. For cases where formal standards issued by recognized Standards Developing Organizations do not yet exist, guidance is provided based on emerging best practices, including industry-group references that can be leveraged for microgrid technology which is in its early stages of development and use.

24 POWER TRANSMISSION AND DISTRIBUTION↗