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 721 records · Page 40

Precise and Efficient Static Array Bound Checking for Large Embedded C Programs

In this paper we describe the design and implementation of a static array-bound checker for a family of embedded programs: the flight control software of recent Mars missions. These codes are large (up to 250 KLOC), pointer intensive, heavily multithreaded and written in an object-oriented style, which makes their analysis very challenging. We designed a tool called C Global Surveyor (CGS) that can analyze the largest code in a couple of hours with a precision of 80%. The scalability and precision of the analyzer are achieved by using an incremental framework in which a pointer analysis and a numerical analysis of array indices mutually refine each other. CGS has been designed so that it can distribute the analysis over several processors in a cluster of machines. To the best of our knowledge this is the first distributed implementation of static analysis algorithms. Throughout the paper we will discuss the scalability setbacks that we encountered during the construction of the tool and their impact on the initial design decisions.

Venet, Arnaud↗

Using C to build a satellite scheduling expert system: Examples from the Explorer Platform planning system

A C-based artificial intelligence (AI) development effort which is based on a software tools approach is discussed with emphasis on reusability and maintainability of code. The discussion starts with simple examples of how list processing can easily be implemented in C and then proceeds to the implementations of frames and objects which use dynamic memory allocation. The implementation of procedures which use depth first search, constraint propagation, context switching, and blackboard-like simulation environment are described. Techniques for managing the complexity of C-based AI software are noted, especially the object-oriented techniques of data encapsulation and incremental development. Finally, all these concepts are put together by describing the components of planning software called the Planning And Resource Reasoning (PARR) Shell. This shell was successfully utilized for scheduling services of the Tracking and Data Relay Satellite System for the Earth Radiation Budget Satellite since May of 1987 and will be used for operations scheduling of the Explorer Platform in Nov. of 1991.

Mclean, David R.↗

Coded Aperture Imaging

Explore the source record for details and available documents.

Alvar Saenz-otero↗

Results of Initial Alloy 617 High Temperature Crack Growth Testing

Crack propagation data can provide valuable insights when performing a safety evaluation for a component. Alloy 617 is qualified in Section III, Division 5 of the American Society of Mechanical Engineers (ASME) Boiler and Pressure Vessel Code (BPVC) for elevated-temperature nuclear service up to 950°C. Little is known, however, about subcritical crack-growth phenomena in Alloy 617. Previous crack-growth studies of Alloy 617 did not investigate temperatures across the range which is currently qualified in Section III, Division 5. High-temperature crack-growth testing in air and in reactor-grade helium can provide data for establishing the crack-growth correlations in support of an ASME BPVC Section XI high-temperature flaw evaluation Code Case. Idaho National Laboratory (INL) has previously performed crack-growth testing, but the equipment requires revitalization. This report provides the status of crack-growth testing in Alloy 617 at INL.

22 GENERAL STUDIES OF NUCLEAR REACTORS↗

AutoSourceID-Classifier: Star-galaxy classification using a convolutional neural network with spatial information

Aims.Traditional star-galaxy classification techniques often rely on feature estimation from catalogs, a process susceptible to introducing inaccuracies, thereby potentially jeopardizing the classification’s reliability. Certain galaxies, especially those not manifesting as extended sources, can be misclassified when their shape parameters and flux solely drive the inference. We aim to create a robust and accurate classification network for identifying stars and galaxies directly from astronomical images. Methods.The AutoSourceID-Classifier (ASID-C) algorithm developed for this work uses 32x32 pixel single filter band source cutouts generated by the previously developed AutoSourceID-Light (ASID-L) code. By leveraging convolutional neural networks (CNN) and additional information about the source position within the full-field image, ASID-C aims to accurately classify all stars and galaxies within a survey. Subsequently, we employed a modified Platt scaling calibration for the output of the CNN, ensuring that the derived probabilities were effectively calibrated, delivering precise and reliable results. Results.We show that ASID-C, trained on MeerLICHT telescope images and using the Dark Energy Camera Legacy Survey (DECaLS) morphological classification, is a robust classifier and outperforms similar codes such as SourceExtractor. To facilitate a rigorous comparison, we also trained an eXtreme Gradient Boosting (XGBoost) model on tabular features extracted by SourceExtractor. While this XGBoost model approaches ASID-C in performance metrics, it does not offer the computational efficiency and reduced error propagation inherent in ASID-C’s direct image-based classification approach. ASID-C excels in low signal-to-noise ratio and crowded scenarios, potentially aiding in transient host identification and advancing deep-sky astronomy.

Astronomy & Astrophysics↗

Stress Relaxation Cracking of Alloys at Temperatures Higher Than 540°C

Type 347H stainless steel (347H SS), used in commercial concentrating solar power (CSP) thermal energy storage to store solar-salt at a temperature of 565°C, has been reported in the literature to be susceptible to stress-relaxation cracking (SRC). The welded heat-affected zone (HAZ) and fusion zone (FZ) of 347H SS, particularly in thick sections, are known to be susceptible to failure during post-weld heat treatment (reheat cracking). SRC could also occur after months or years under an elevated-temperature service environment. Two conditions must be present for failure to occur in the HAZ and/or FZ: 1) a modified or sensitized microstructure and 2) sufficiently high tensile residual stresses present at the elevated service temperature. The overarching goal of this project is to recommend SRC mitigation protocols to avoid susceptibility to fail through SRC at temperatures relevant for CSP. Post weld heat treatment conditions and alternative alloys are investigated as potential mitigation solutions to SRC. We used Gleeble thermomechanical simulation tests and finite element (FE) models to understand the susceptibility of 347H SS to SRC as a function of temperature, stress, and microstructure. We started with a literature review of weldability issues with 347H SS and techniques to mitigate SRC in 347H SS weldments. Next, we used Gleeble experiments to determine reheat cracking susceptibility in the simulated HAZ of 347SS weldments and an alternative alloy, 316L SS (NUCL 167 SPH) with boron added. We also performed Gleeble experiments to compare the reheat cracking susceptibility of 347H cross welded with two different fillers: E347, which is used in some commercial CSP TES tanks, and E16.8.2. We validated the experimental results with FE models of the residual stresses. We found that although the 316L (NUCL 167 SPH) is less susceptible to reheat cracking, it is slightly weaker than 347H and ASME BP&V codes limit its use to a service condition of 565°C. We also found that welds using E16.8.2 as the weld filler are less susceptible to failure than those using E347, likely due to the higher creep ductility of E16.8.2, and that it may be used as an alternative filler for repair welding of 347H welds or as the primary choice of filler for newly developed weld joints. We also found that post weld heat treatment could be a viable solution for mitigating stress in E347-347H SS thick, constrained welds, like those found in CSP tanks, and propose several options for mitigating SRC in existing and future TES tanks.

14 SOLAR ENERGY↗

SequenceL: Automated Parallel Algorithms Derived from CSP-NT Computational Laws

With the introduction of new parallel architectures like the cell and multicore chips from IBM, Intel, AMD, and ARM, as well as the petascale processing available for highend computing, a larger number of programmers will need to write parallel codes. Adding the parallel control structure to the sequence, selection, and iterative control constructs increases the complexity of code development, which often results in increased development costs and decreased reliability. SequenceL is a high-level programming language that is, a programming language that is closer to a human s way of thinking than to a machine s. Historically, high-level languages have resulted in decreased development costs and increased reliability, at the expense of performance. In recent applications at JSC and in industry, SequenceL has demonstrated the usual advantages of high-level programming in terms of low cost and high reliability. SequenceL programs, however, have run at speeds typically comparable with, and in many cases faster than, their counterparts written in C and C++ when run on single-core processors. Moreover, SequenceL is able to generate parallel executables automatically for multicore hardware, gaining parallel speedups without any extra effort from the programmer beyond what is required to write the sequen tial/singlecore code. A SequenceL-to-C++ translator has been developed that automatically renders readable multithreaded C++ from a combination of a SequenceL program and sample data input. The SequenceL language is based on two fundamental computational laws, Consume-Simplify- Produce (CSP) and Normalize-Trans - pose (NT), which enable it to automate the creation of parallel algorithms from high-level code that has no annotations of parallelism whatsoever. In our anecdotal experience, SequenceL development has been in every case less costly than development of the same algorithm in sequential (that is, single-core, single process) C or C++, and an order of magnitude less costly than development of comparable parallel code. Moreover, SequenceL not only automatically parallelizes the code, but since it is based on CSP-NT, it is provably race free, thus eliminating the largest quality challenge the parallelized software developer faces.

Cooke, Daniel↗

Tensoral for post-processing users and simulation authors

The CTR post-processing effort aims to make turbulence simulations and data more readily and usefully available to the research and industrial communities. The Tensoral language, which provides the foundation for this effort, is introduced here in the form of a user's guide. The Tensoral user's guide is presented in two main sections. Section one acts as a general introduction and guides database users who wish to post-process simulation databases. Section two gives a brief description of how database authors and other advanced users can make simulation codes and/or the databases they generate available to the user community via Tensoral database back ends. The two-part structure of this document conforms to the two-level design structure of the Tensoral language. Tensoral has been designed to be a general computer language for performing tensor calculus and statistics on numerical data. Tensoral's generality allows it to be used for stand-alone native coding of high-level post-processing tasks (as described in section one of this guide). At the same time, Tensoral's specialization to a minute task (namely, to numerical tensor calculus and statistics) allows it to be easily embedded into applications written partly in Tensoral and partly in other computer languages (here, C and Vectoral). Embedded Tensoral, aimed at advanced users for more general coding (e.g. of efficient simulations, for interfacing with pre-existing software, for visualization, etc.), is described in section two of this guide.

Dresselhaus, Eliot↗

Mo than meets the eye: genomic insights into molybdoenzyme diversity of Seleniivibrio woodruffii strain S4T

Abstract Seleniivibrio woodruffii strain S4T is an obligate anaerobe belonging to the phylum Deferribacterota. It was isolated for its ability to respire selenate and was also found to respire arsenate. The high-quality draft genome of this bacterium is 2.9 Mbp, has a G+C content of 48%, 2762 predicted genes of which 2709 are protein-coding, and 53 RNA genes. An analysis of the genome focusing on the genes encoding for molybdenum-containing enzymes (molybdoenzymes) uncovered a remarkable number of genes encoding for members of the dimethylsulfoxide reductase family of proteins (DMSOR), including putative reductases for selenate and arsenate respiration, as well as genes for nitrogen fixation. Respiratory molybdoenzymes catalyze redox reactions that transfer electrons to a variety of substrates that can act as terminal electron acceptors for energy generation. Seleniivibrio woodruffii strain S4T also has essential genes for molybdate transporters and the biosynthesis of the molybdopterin guanine dinucleotide cofactors characteristic of the active centers of DMSORs. Phylogenetic analysis revealed candidate respiratory DMSORs spanning nine subfamilies encoded within the genome. Our analysis revealed the untapped potential of this interesting microorganism and expanded our knowledge of molybdoenzyme co-occurrence.

Louie, Tiffany S.↗

Using PVM to host CLIPS in distributed environments

It is relatively easy to enhance CLIPS (C Language Integrated Production System) to support multiple expert systems running in a distributed environment with heterogeneous machines. The task is minimized by using the PVM (Parallel Virtual Machine) code from Oak Ridge Labs to provide the distributed utility. PVM is a library of C and FORTRAN subprograms that supports distributive computing on many different UNIX platforms. A PVM deamon is easily installed on each CPU that enters the virtual machine environment. Any user with rsh or rexec access to a machine can use the one PVM deamon to obtain a generous set of distributed facilities. The ready availability of both CLIPS and PVM makes the combination of software particularly attractive for budget conscious experimentation of heterogeneous distributive computing with multiple CLIPS executables. This paper presents a design that is sufficient to provide essential message passing functions in CLIPS and enable the full range of PVM facilities.

Myers, Leonard↗

Coupling Noah-Multiparameterization land-surface Model with Energy Research and Forecasting Model

The Energy Research and Forecasting (ERF) model is a high-performance atmospheric model built on the AMReX adaptive mesh refinement (AMR) framework, enabling efficient simulations on heterogeneous computing platforms that combine multicore processors with hardware accelerators. To support land–atmosphere interactions within ERF’s AMR-based environment, a land-surface model must be capable of operating directly on hierarchically refined meshes. In this work, we present a methodology for coupling the Fortran-based Noah-Multiparameterization (Noah-MP) land-surface model with ERF’s C++ codebase. Rather than rewriting Noah-MP, we construct a Fortran–C interoperability layer using CodeScribe, a tool that leverages large language models (LLMs) to automate the generation of interface code. CodeScribe applies structured prompting techniques to generate bindings that support efficient data exchange and function calls between ERF and Noah-MP. The coupling framework also incorporates AMR-aware data handling strategies, allowing NoahMP to operate seamlessly within ERF’s hierarchical mesh structure. This work provides a structured approach for integrating legacy Fortran models into modern C++-based modeling systems using LLM-assisted code generation.

54 ENVIRONMENTAL SCIENCES↗

The ALEXIS data processing package: An IDL based system

The Array of Low Energy X-ray Imaging Sensors (ALEXIS) experiment consists of a mini-satellite containing six wide angle EUV/ultrasoft x-ray telescopes. Its purpose is to map out the sky in three narrow (approximately 5 percent) bandpasses around 66, 71, and 93 eV. The 66 and 71 eV bandpasses are centered on intense Fe emission lines which are characteristic of million degree plasmas such as the one thought to produce the soft x-ray background. The 93 eV bandpass is not near any strong emission lines and is more sensitive to continuum sources. The mission will be launched on the Pegasus Air Launched Vehicle in the second half of 1992 into a 400-nautical-mile, high inclination orbit and will be controlled entirely from a small ground station located at Los Alamos. The project is a collaborative effort between Los Alamos National Laboratory, Sandia National Laboratory, and the University of California-Berkeley Space Sciences Laboratory. The six telescopes are arranged in three pairs. As the satellite spins twice a minute they scan the entire anti-solar hemisphere. Each f/1 telescope consists of a spherical, multilayer-coated mirror with a curved, microchannel plate detector located at the prime focus. The multilayer coatings determine the bandpasses of the telescopes. The field of view of each telescope is 30 degrees with a spatial resolution of 0.5 degree, limited by spherical aberration. The data processing requirements for ALEXIS are large. Each event is one of the six telescopes is telemetered to the ground with its time of arrival and position on the detector. This information must be folded with the aspect solution for the satellite to reconstruct the direction on the sky from which the photon came. Because of the way the six telescopes scan the sky, the effective exposure calculation is also very computationally intensive. ALEXIS may generate up to 100 megabytes of raw data per day, which are converted into a gigabyte per day of processed data. While the processing job for ALEXIS is sizable, the programming staff is small. To maximize programming efficiency, and to make the best use of tools available in the public domain, we chose IDL as our software development platform. IDL was used from the start of instrument development through flight. We use IDL as a top-level executive for the processing tasks (replacing Unix shell scripts), as a device independent graphics engine, as a database manager, and as a final data manipulator. IDL routines spawn special purpose C programs to perform detailed telemetry deconvolution and other specialized functions. We discuss the use of IDL and C within the processing and archiving strategy for the ALEXIS data anlaysis system as implemented on a SPARCstation platform. We also show results from our End-to-End software simulation capability as processed by our analysis codes.

Bloch, J. J.↗

CoNNeCT Baseband Processor Module Boot Code SoftWare (BCSW)

This software provides essential startup and initialization routines for the CoNNeCT baseband processor module (BPM) hardware upon power-up. A command and data handling (C&DH) interface is provided via 1553 and diagnostic serial interfaces to invoke operational, reconfiguration, and test commands within the code. The BCSW has features unique to the hardware it is responsible for managing. In this case, the CoNNeCT BPM is configured with an updated CPU (Atmel AT697 SPARC processor) and a unique set of memory and I/O peripherals that require customized software to operate. These features include configuration of new AT697 registers, interfacing to a new HouseKeeper with a flash controller interface, a new dual Xilinx configuration/scrub interface, and an updated 1553 remote terminal (RT) core. The BCSW is intended to provide a "safe" mode for the BPM when initially powered on or when an unexpected trap occurs, causing the processor to reset. The BCSW allows the 1553 bus controller in the spacecraft or payload controller to operate the BPM over 1553 to upload code; upload Xilinx bit files; perform rudimentary tests; read, write, and copy the non-volatile flash memory; and configure the Xilinx interface. Commands also exist over 1553 to cause the CPU to jump or call a specified address to begin execution of user-supplied code. This may be in the form of a real-time operating system, test routine, or specific application code to run on the BPM.

Yamamoto, Clifford K.↗

Satellite data

Three satellite SST data sets were analyzed, all derived from the Scanning Multichannel Microwave Radiometer (SMMR) on the Nimbus-7 satellite. The SMMR is a ten-channel instrument flown also on the SEASAT satellite (now defunct) and was designed to measure SST in addition to other oceanographic and meteorological parameters. The three SMMR data sets were referred to as SMMR-I, -II, and -III. SMMR-I and -II were produced by T. Wilheit and A. Milman, SMMR-II being an updated and refined version of SMMR-I. A description of the algorithms used is provided. SMMR-III was provided by C. Prabhakara and was obtained by a different retrieval approach from the others. For consistency with the file code conventions and to avoid confusion, SMMRs I, II, and III were renamed SMMR-A, SMMR-D, and SMMR-C, respectively.

Njoku, E. G.↗

Metal Hydroxide and Oxyhydroxide Gas Database

In a high temperature combustion situation such as a gas turbine or rocket engine, combustion products include water vapor. This water vapor reacts with oxides in the hot-gas-path to form volatile hydroxides and oxyhydroxides. The oxides may be structural oxide components or protective oxides on alloys or non-oxide ceramics. In either case, this enhanced volatilization leads to degradation of components. Reliable thermochemical data for many metal hydroxides and oxyhydroxides has not been available. We review a database put together at NASA over many years based on experimental and ab initio computations for thermochemical data of Al, Si, Ti, Cr, Mn, Y, Zr, La, Ta, Gd, and Yb hydroxides and oxyhydroxides. Experimental methods for measuring thermodynamic quantities of metal hydroxides and oxyhydroxides are limited since the required high temperatures and high pressures preclude many conventional methods. Nonetheless, transpiration has proven a valuable tool in our laboratories for the Si-O-H, Cr-O-H, and Ti-O-H systems. Data are analyzed with second and third law methods. These data can be leveraged with quantum chemistry to provide reliable free energy functions for the third law calculation and comparison to the derived enthalpies of formation. Both wave function and DFT methods can be utilized for deriving the thermodynamic functions for the various metal hydroxides and oxyhydroxides. We have found that, in general, reasonable molecular geometries and spectroscopic data can be derived with a relatively low level of theory, i.e. DFT with the B3LYP functional. Accurate calculations of the enthalpy of formation require higher levels of theory, such as the Coupled Cluster, Singles, Doubles, and perturbative Triples CCSD(T) approach with complete basis sets (CBS). Also, corrections for hindered rotations and anharmonicity are necessary. For some symmetries, the anharmonic correction has proven to be a challenge and we have found that this is only treated properly by certain codes. The database lists the fHo(298), So(298), and Cp in the form Cp = A + BT + CT2 + D/T + E/T2, where A, B, C, D, and E are the fitting constants. Thus, it can be easily used in any of the common computational thermochemistry codes. To date, the database contains 51 gaseous species of the formula MOx(OH)y.

Metal Hydroxides↗

Multi-processing on supercomputers for computational aerodynamics

The MIMD concept is applied, through multitasking, with relatively minor modifications to an existing code for a single processor. This approach maps the available memory to multiple processors, exploiting the C-FORTRAN-Unix interface. An existing single processor algorithm is mapped without the need for developing a new algorithm. The procedure of designing a code utilizing this approach is automated with the Unix stream editor. A Multiple Processor Multiple Grid (MPMG) code is developed as a demonstration of this approach. This code solves the three-dimensional, Reynolds-averaged, thin-layer and slender-layer Navier-Stokes equations with an implicit, approximately factored and diagonalized method. This solver is applied to a generic, oblique-wing aircraft problem on a four-processor computer using one process for data management and nonparallel computations and three processes for pseudotime advance on three different grid systems.

Yarrow, Maurice↗